UNPKG

si-funciona

Version:

Funciones de utilidad para uso general. [General usage utility functions.]

1 lines 1.92 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/modules/esnext.async-iterator.find.js"),require("core-js/modules/esnext.async-iterator.map.js"),require("core-js/modules/esnext.async-iterator.reduce.js"),require("core-js/modules/esnext.iterator.constructor.js"),require("core-js/modules/esnext.iterator.find.js"),require("core-js/modules/esnext.iterator.map.js"),require("core-js/modules/esnext.iterator.reduce.js"),require("core-js/stable");var _isCloneable=_interopRequireDefault(require("./isCloneable")),_reduceObject=_interopRequireDefault(require("./reduceObject")),_relevancyFilter=_interopRequireDefault(require("../functions/relevancyFilter")),_setValue=_interopRequireDefault(require("./setValue"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const mergeObjectsBase=function(){let{mapLimit:e=100,depthLimit:r=-1,relevancyRange:t=1e3,map:u=[],useClone:a=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(){for(var s=arguments.length,l=new Array(s),i=0;i<s;i++)l[i]=arguments[i];const n=a?Array.isArray(l[0])?[]:{}:l.shift();return l.length<1||0===r?n:l.reduce(((s,l)=>l?(u.push({source:l,object:s,relevance:u.length}),u=(0,_relevancyFilter.default)(u,{mapLimit:e,relevancyRange:t}),(0,_reduceObject.default)(l,((l,i,n)=>{if((0,_isCloneable.default)(i)){let o=s[n];const c=u.find((e=>e.source===i));if(c)return c.relevance=u.length+1,(0,_setValue.default)(n,c.object,l);if((0,_isCloneable.default)(o)&&o||(o=a?Array.isArray(i)?[]:{}:i),(0,_isCloneable.default)(o))return(0,_setValue.default)(n,mergeObjectsBase({mapLimit:e,depthLimit:r-1,relevancyRange:t,map:u,useClone:a})(o,i),l);u.push({source:i,object:o,relevance:u.length}),u=(0,_relevancyFilter.default)(u,{mapLimit:e,relevancyRange:t})}return(0,_setValue.default)(n,i,l)}),s)):s),n||{})}};var _default=exports.default=mergeObjectsBase;