UNPKG

brain-cli

Version:

A command line tool used to run projects

65 lines (64 loc) 2.1 kB
(function (factory) { if (typeof module === "object" && typeof module.exports === "object") { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === "function" && define.amd) { define(["require", "exports"], factory); } })(function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.merge = exports.forEach = void 0; function isArray(val) { return toString.call(val) === '[object Array]'; } function forEach(obj, fn) { // Don't bother if no value provided if (obj === null || typeof obj === 'undefined') { return; } // Force an array if not already something iterable if (typeof obj !== 'object') { /*eslint no-param-reassign:0*/ obj = [obj]; } if (isArray(obj)) { // Iterate over array values for (var i = 0, l = obj.length; i < l; i++) { fn.call(null, obj[i], i, obj); } } else { // Iterate over object keys for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { fn.call(null, obj[key], key, obj); } } } } exports.forEach = forEach; function merge(...obj) { var result = {}; function assignValue(val, key) { if (isArray(val) && isArray(result[key])) { result[key] = [...result[key], ...val]; } else if (typeof result[key] === 'object' && typeof val === 'object' && !isArray(val)) { //@ts-ignore result[key] = merge(result[key], val); } else { result[key] = val; } } for (var i = 0, l = arguments.length; i < l; i++) { forEach(arguments[i], assignValue); } return result; } exports.merge = merge; });