UNPKG

2 kBSource Map (JSON)View Raw
1{"version":3,"sources":["makeConfiguration.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAM,yBAAyB,sBAAzB;;;;;;;;;;;;;;kBAaS,YAA4B;QAA3B,0EAAoB,kBAAO;;AACvC,QAAI,sBAAJ,CADuC;;AAGvC,oBAAgB,uBAAuB,GAAvB,CAA2B,iBAA3B,CAAhB,CAHuC;;AAKvC,QAAI,aAAJ,EAAmB;AACf,eAAO,aAAP,CADe;KAAnB;;AAIA,oBAAgB;AACZ,uBAAe,KAAf;AACA,2BAAmB,IAAnB;KAFJ,CATuC;;AAcvC,2BAAU,iBAAV,EAA6B,UAAC,KAAD,EAAQ,IAAR,EAAiB;AAC1C,YAAI,2BAAc,cAAc,IAAd,CAAd,CAAJ,EAAwC;AACpC,kBAAM,IAAI,KAAJ,CAAU,qCAAqC,IAArC,GAA4C,IAA5C,CAAhB,CADoC;SAAxC;;AAIA,YAAI,CAAC,yBAAY,KAAZ,CAAD,EAAqB;AACrB,kBAAM,IAAI,KAAJ,CAAU,MAAM,IAAN,GAAa,qCAAb,CAAhB,CADqB;SAAzB;;AAIA,sBAAc,IAAd,IAAsB,KAAtB,CAT0C;KAAjB,CAA7B,CAduC;;AA0BvC,2BAAuB,GAAvB,CAA2B,iBAA3B,EAA8C,aAA9C,EA1BuC;;AA4BvC,WAAO,aAAP,CA5BuC;CAA5B","file":"makeConfiguration.js","sourcesContent":["import _ from 'lodash';\nimport Map from 'es6-map';\n\nconst userConfigurationIndex = new Map();\n\n/**\n * @typedef CSSModules~Options\n * @see {@link https://github.com/gajus/react-css-modules#options}\n * @property {boolean} allowMultiple\n * @property {boolean} errorWhenNotFound\n */\n\n/**\n * @param {CSSModules~Options} userConfiguration\n * @returns {CSSModules~Options}\n */\nexport default (userConfiguration = {}) => {\n let configuration;\n\n configuration = userConfigurationIndex.get(userConfiguration);\n\n if (configuration) {\n return configuration;\n }\n\n configuration = {\n allowMultiple: false,\n errorWhenNotFound: true\n };\n\n _.forEach(userConfiguration, (value, name) => {\n if (_.isUndefined(configuration[name])) {\n throw new Error('Unknown configuration property \"' + name + '\".');\n }\n\n if (!_.isBoolean(value)) {\n throw new Error('\"' + name + '\" property value must be a boolean.');\n }\n\n configuration[name] = value;\n });\n\n userConfigurationIndex.set(userConfiguration, configuration);\n\n return configuration;\n};\n"],"sourceRoot":"/source/"}
\No newline at end of file