3 exports.__esModule = true;
4 exports['default'] = mergeOptions;
6 var _obj = require('./obj');
9 * Deep-merge one or more options objects, recursively merging **only** plain
12 * @param {Object[]} sources
13 * One or more objects to merge into a new object.
16 * A new object that is the merged result of all sources.
18 function mergeOptions() {
21 for (var _len = arguments.length, sources = Array(_len), _key = 0; _key < _len; _key++) {
22 sources[_key] = arguments[_key];
25 sources.forEach(function (source) {
30 (0, _obj.each)(source, function (value, key) {
31 if (!(0, _obj.isPlain)(value)) {
36 if (!(0, _obj.isPlain)(result[key])) {
40 result[key] = mergeOptions(result[key], value);
46 * @file merge-options.js
47 * @module merge-options