UNPKG

1.55 kBJavaScriptView Raw
1'use strict';
2
3var _isBoolean2 = require('lodash/isBoolean');
4
5var _isBoolean3 = _interopRequireDefault(_isBoolean2);
6
7var _isUndefined2 = require('lodash/isUndefined');
8
9var _isUndefined3 = _interopRequireDefault(_isUndefined2);
10
11var _forEach2 = require('lodash/forEach');
12
13var _forEach3 = _interopRequireDefault(_forEach2);
14
15Object.defineProperty(exports, "__esModule", {
16 value: true
17});
18
19function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
21/**
22 * @typedef CSSModules~Options
23 * @see {@link https://github.com/gajus/react-css-modules#options}
24 * @property {boolean} allowMultiple
25 * @property {boolean} errorWhenNotFound
26 */
27
28/**
29 * @param {CSSModules~Options} userConfiguration
30 * @returns {CSSModules~Options}
31 */
32
33exports.default = function () {
34 var userConfiguration = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
35
36 var configuration = undefined;
37
38 configuration = {
39 allowMultiple: false,
40 errorWhenNotFound: true
41 };
42
43 (0, _forEach3.default)(userConfiguration, function (value, name) {
44 if ((0, _isUndefined3.default)(configuration[name])) {
45 throw new Error('Unknown configuration property "' + name + '".');
46 }
47
48 if (!(0, _isBoolean3.default)(value)) {
49 throw new Error('"' + name + '" property value must be a boolean.');
50 }
51
52 configuration[name] = value;
53 });
54
55 return configuration;
56};
57
58module.exports = exports['default'];
59//# sourceMappingURL=makeConfiguration.js.map