UNPKG

properties-gen

Version:

CLI to generate environment properties based on config

46 lines (45 loc) 1.7 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { if (ar || !(i in from)) { if (!ar) ar = Array.prototype.slice.call(from, 0, i); ar[i] = from[i]; } } return to.concat(ar || Array.prototype.slice.call(from)); }; Object.defineProperty(exports, "__esModule", { value: true }); var deepMerge = function (base, extension) { if (base === void 0) { base = {}; } if (extension === void 0) { extension = {}; } var keys = Object.keys(base); var merged = __assign(__assign({}, base), extension); for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) { var key = keys_1[_i]; var current = base[key]; var isArray = Array.isArray(current); var isObject = current instanceof Object && !isArray; // Extend arrays if (isArray) { merged[key] = __spreadArray(__spreadArray([], current, true), (extension[key] || []), true); } // Extend objects if (isObject) { merged[key] = extension[key] ? __assign({}, deepMerge(current, extension[key])) : current; } } return merged; }; exports.default = deepMerge;