UNPKG

fus-ext

Version:
126 lines (124 loc) 6.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.deepClone = exports.deepAbsorb = exports.absorb = exports.deepAssign = exports.keyValues = exports.clone = exports.isNormalObject = exports.isObject = undefined; var _main = require("./main"); var dotDotCalc_573300145710716007 = function (dotDot, a, b, c) { return dotDot(a)[b](a, ...c); };var isObject, isNormalObject, clone, keyValues, deepAssign, absorb, deepAbsorb, deepClone;exports.isObject = isObject = function (ns, x) { return (() => { return (typeof x === "object" || typeof x === "function") && x !== null; })(); };exports.isNormalObject = isNormalObject = function (ns, x) { return (() => { return dotDotCalc_573300145710716007(_main.dotDot_573300145710716007, Object, "isObject", [x]) && typeof x !== "function" && !Array.isArray(x); })(); };exports.clone = clone = function (ns, x) { return (() => { var y;y = {};Object.keys(x).forEach(function (key) { return (() => { y[key] = x[key]; })(); });return y; })(); };exports.keyValues = keyValues = function (ns, x) { return (() => { return Object.keys(x).map(function (key) { return (() => { return [key, x[key]]; })(); }); })(); };exports.deepAssign = deepAssign = function (ns, theTarget, ...sources) { return (() => { sources.forEach(function (theSource) { return (() => { var internalDeepAssign;internalDeepAssign = function (target, source) { return (() => { return dotDotCalc_573300145710716007(_main.dotDot_573300145710716007, Object, "keyValues", [source]).forEach(function ([key, value]) { return (() => { return dotDotCalc_573300145710716007(_main.dotDot_573300145710716007, Object, "isObject", [value]) && !Array.isArray(value) && dotDotCalc_573300145710716007(_main.dotDot_573300145710716007, Object, "isObject", [target[key]]) && !Array.isArray(target[key]) ? (() => { return internalDeepAssign(target[key], value); })() : (() => { target[key] = dotDotCalc_573300145710716007(_main.dotDot_573300145710716007, Object, "deepClone", [value]); })(); })(); }); })(); };return internalDeepAssign(theTarget, theSource); })(); });return theTarget; })(); };exports.absorb = absorb = function (ns, subject, ...objects) { return (() => { objects.forEach(function (object) { return (() => { return dotDotCalc_573300145710716007(_main.dotDot_573300145710716007, Object, "keyValues", [object]).forEach(function ([key, value]) { return (() => { return subject[key] === undefined ? (() => { subject[key] = value; })() : undefined; })(); }); })(); });return subject; })(); };exports.deepAbsorb = deepAbsorb = function (ns, theSubject, ...objects) { return (() => { objects.forEach(function (theObject) { return (() => { var internalDeepAbsorb;internalDeepAbsorb = function (subject, object) { return (() => { return dotDotCalc_573300145710716007(_main.dotDot_573300145710716007, Object, "keyValues", [object]).forEach(function ([key, value]) { return (() => { return dotDotCalc_573300145710716007(_main.dotDot_573300145710716007, Object, "isObject", [value]) && !Array.isArray(value) && dotDotCalc_573300145710716007(_main.dotDot_573300145710716007, Object, "isObject", [subject[key]]) && !Array.isArray(subject[key]) ? (() => { return internalDeepAbsorb(subject[key], value); })() : (() => { return subject[key] === undefined ? (() => { subject[key] = dotDotCalc_573300145710716007(_main.dotDot_573300145710716007, Object, "deepClone", [value]); })() : undefined; })(); })(); }); })(); };return internalDeepAbsorb(theSubject, theObject); })(); });return theSubject; })(); };exports.deepClone = deepClone = function (ns, x) { return (() => { var theTarget, deepCopyFrom;return dotDotCalc_573300145710716007(_main.dotDot_573300145710716007, Object, "isObject", [x]) ? (() => { theTarget = Array.isArray(x) ? (() => { return []; })() : (() => { return {}; })();deepCopyFrom = function (target, source) { return (() => { return dotDotCalc_573300145710716007(_main.dotDot_573300145710716007, Object, "keyValues", [source]).forEach(function ([key, value]) { return (() => { return dotDotCalc_573300145710716007(_main.dotDot_573300145710716007, Object, "isObject", [value]) ? (() => { target[key] = Array.isArray(value) ? (() => { return []; })() : (() => { return {}; })();return deepCopyFrom(target[key], value); })() : (() => { target[key] = value; })(); })(); }); })(); };deepCopyFrom(theTarget, x);return theTarget; })() : (() => { return x; })(); })(); };exports.isObject = isObject; exports.isNormalObject = isNormalObject; exports.clone = clone; exports.keyValues = keyValues; exports.deepAssign = deepAssign; exports.absorb = absorb; exports.deepAbsorb = deepAbsorb; exports.deepClone = deepClone;