UNPKG

1.41 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _es6Map = require('es6-map');
8
9var _es6Map2 = _interopRequireDefault(_es6Map);
10
11function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
13var stylesIndex = new _es6Map2.default();
14
15exports.default = function (styles, styleNames, errorWhenNotFound) {
16 var appendClassName = void 0,
17 stylesIndexMap = void 0;
18
19 stylesIndexMap = stylesIndex.get(styles);
20
21 if (stylesIndexMap) {
22 var styleNameIndex = stylesIndexMap.get(styleNames);
23
24 if (styleNameIndex) {
25 return styleNameIndex;
26 }
27 } else {
28 stylesIndexMap = stylesIndex.set(styles, new _es6Map2.default());
29 }
30
31 appendClassName = '';
32
33 for (var styleName in styleNames) {
34 if (styleNames.hasOwnProperty(styleName)) {
35 var className = styles[styleNames[styleName]];
36
37 if (className) {
38 appendClassName += ' ' + className;
39 } else if (errorWhenNotFound === true) {
40 throw new Error('"' + styleNames[styleName] + '" CSS module is undefined.');
41 }
42 }
43 }
44
45 appendClassName = appendClassName.trim();
46
47 stylesIndexMap.set(styleNames, appendClassName);
48
49 return appendClassName;
50};
51
52module.exports = exports['default'];
53//# sourceMappingURL=generateAppendClassName.js.map