UNPKG

1.41 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _simpleMap = require('./simple-map');
8
9var _simpleMap2 = _interopRequireDefault(_simpleMap);
10
11function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
13var stylesIndex = new _simpleMap2.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 = new _simpleMap2.default();
29 stylesIndex.set(styles, new _simpleMap2.default());
30 }
31
32 appendClassName = '';
33
34 for (var styleName in styleNames) {
35 if (styleNames.hasOwnProperty(styleName)) {
36 var className = styles[styleNames[styleName]];
37
38 if (className) {
39 appendClassName += ' ' + className;
40 } else if (errorWhenNotFound === true) {
41 throw new Error('"' + styleNames[styleName] + '" CSS module is undefined.');
42 }
43 }
44 }
45
46 appendClassName = appendClassName.trim();
47
48 stylesIndexMap.set(styleNames, appendClassName);
49
50 return appendClassName;
51};
52
53module.exports = exports['default'];
\No newline at end of file