UNPKG

1.42 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _isBoolean2 = require('lodash/isBoolean');
8
9var _isBoolean3 = _interopRequireDefault(_isBoolean2);
10
11var _isUndefined2 = require('lodash/isUndefined');
12
13var _isUndefined3 = _interopRequireDefault(_isUndefined2);
14
15var _forEach2 = require('lodash/forEach');
16
17var _forEach3 = _interopRequireDefault(_forEach2);
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 */
32exports.default = function () {
33 var userConfiguration = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
34
35 var configuration = {
36 allowMultiple: false,
37 errorWhenNotFound: true
38 };
39
40 (0, _forEach3.default)(userConfiguration, function (value, name) {
41 if ((0, _isUndefined3.default)(configuration[name])) {
42 throw new Error('Unknown configuration property "' + name + '".');
43 }
44
45 if (!(0, _isBoolean3.default)(value)) {
46 throw new Error('"' + name + '" property value must be a boolean.');
47 }
48
49 configuration[name] = value;
50 });
51
52 return configuration;
53};
54
55module.exports = exports['default'];
\No newline at end of file