si-funciona
Version:
Funciones de utilidad para uso general. [General usage utility functions.]
1 lines • 2.63 kB
JavaScript
;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.for-each.js"),require("core-js/modules/esnext.iterator.constructor.js"),require("core-js/modules/esnext.iterator.find.js"),require("core-js/modules/esnext.iterator.for-each.js"),require("core-js/stable");var _assignDescriptor=_interopRequireDefault(require("./assignDescriptor")),_checkClearValues=_interopRequireDefault(require("./checkClearValues")),_checkDescriptorComplete=_interopRequireDefault(require("./checkDescriptorComplete")),_compareDescriptor=_interopRequireDefault(require("./compareDescriptor")),_describeObject=_interopRequireDefault(require("./describeObject")),_nextReference=_interopRequireDefault(require("./nextReference")),_sameDescriptor=_interopRequireDefault(require("./sameDescriptor"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const describeObjectMap=function(e){let{mapLimit:r=1e9,depthLimit:t=-1,keepValues:i=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s=[(0,_describeObject.default)(e)];s[0].index=0;const c=function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:e=>e,u=s.length;const o=t?(0,_nextReference.default)(e,t.index):void 0,l=void 0!==o?e.details[o]:null;if(t){(e.isArray?t.value:[t.value[t.value.length-1]]).forEach((i=>{var n,o;const d=(0,_describeObject.default)(i),f=s.findIndex((e=>(0,_compareDescriptor.default)(d,e)));if(f>=0&&(u=f,d.length&&(0,_sameDescriptor.default)(d,s[f])&&(t.circular=!0,e.details[t.index]=t)),u>=r)return s;if(0===a)return s;if(d.isArray?(u=null!==(n=t.arrayReference)&&void 0!==n?n:u,e.details[t.index].arrayReference=u):(u=null!==(o=t.objectReference)&&void 0!==o?o:u,e.details[t.index].objectReference=u),d.index=u,f<0&&(s[u]=s[u]?(0,_assignDescriptor.default)(s[u],d):d),s[e.index]=(0,_assignDescriptor.default)(s[e.index],e),!(t=s[e.index].details.find((e=>e.key===t.key))).circular){const r=(0,_nextReference.default)(d,-1),t=void 0!==r?d.details[r]:null;return c(d,t,--a,(r=>c(e,l,--a)))}}))}return s[e.index]=(0,_assignDescriptor.default)(s[e.index],(0,_checkDescriptorComplete.default)(e)),s[e.index]=(0,_checkClearValues.default)(s[e.index],i),l?c(e,l,--a):n(s)},a=s[0],n=(0,_nextReference.default)(a,-1);return void 0===n?(s[0]=(0,_assignDescriptor.default)(s[0],(0,_checkDescriptorComplete.default)(a)),s[0]=(0,_checkClearValues.default)(s[0],i),s):c(a,a.details[n],t)};var _default=exports.default=describeObjectMap;