UNPKG

si-funciona

Version:

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

1 lines 1.77 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,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/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 e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.mapLimit,t=void 0===r?100:r,a=e.depthLimit,l=void 0===a?-1:a,u=e.relevancyRange,i=void 0===u?1e3:u,n=e.map,s=void 0===n?[]:n,o=e.useClone,c=void 0!==o&&o;return function(){for(var e=arguments.length,r=new Array(e),a=0;a<e;a++)r[a]=arguments[a];const u=c?Array.isArray(r[0])?[]:{}:r.shift();return r.length<1||0===l?u:r.reduce(((e,r)=>r?(s.push({source:r,object:e,relevance:s.length}),s=(0,_relevancyFilter.default)(s,{mapLimit:t,relevancyRange:i}),(0,_reduceObject.default)(r,((r,a,u)=>{if((0,_isCloneable.default)(a)){let n=e[u];const o=s.find((e=>e.source===a));if(o)return o.relevance=s.length+1,(0,_setValue.default)(u,o.object,r);if((0,_isCloneable.default)(n)&&n||(n=c?Array.isArray(a)?[]:{}:a),(0,_isCloneable.default)(n))return(0,_setValue.default)(u,mergeObjectsBase({mapLimit:t,depthLimit:l-1,relevancyRange:i,map:s,useClone:c})(n,a),r);s.push({source:a,object:n,relevance:s.length}),s=(0,_relevancyFilter.default)(s,{mapLimit:t,relevancyRange:i})}return(0,_setValue.default)(u,a,r)}),e)):e),u||{})}};var _default=exports.default=mergeObjectsBase;