si-funciona
Version:
Funciones de utilidad para uso general. [General usage utility functions.]
1 lines • 1.85 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/modules/esnext.iterator.constructor.js"),require("core-js/modules/esnext.iterator.every.js"),require("core-js/modules/esnext.iterator.filter.js"),require("core-js/modules/esnext.iterator.find.js"),require("core-js/modules/esnext.iterator.for-each.js"),require("core-js/modules/esnext.iterator.map.js"),require("core-js/modules/web.dom-collections.iterator.js"),require("core-js/stable");var _assignDescriptorDetail=_interopRequireDefault(require("./assignDescriptorDetail")),_cloneDescriptor=_interopRequireDefault(require("./cloneDescriptor")),_compareArrays=_interopRequireDefault(require("../arrays/compareArrays")),_uniqueArray=_interopRequireDefault(require("../arrays/uniqueArray"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const assignDescriptor=function(e){for(var r=arguments.length,t=new Array(r>1?r-1:0),s=1;s<r;s++)t[s-1]=arguments[s];return t.reduce(((e,r)=>((0,_compareArrays.default)(e.keys,r.keys).forEach((t=>{const s=e.details.find((e=>e.key===t.value)),i=r.details.find((e=>e.key===t.value));if(t.result.every((e=>0===e)))return e.details[s.index]=(0,_assignDescriptorDetail.default)(s,i),e;const a=t.result[0]>0?s:i;if(!a)return e.details[s.index].optional=!0,e;const o=t.result[0]>0?a.index:e.length;return e.details[o]=Object.assign({},a,{index:o,optional:!0}),e.length=e.length<e.details.length?e.details.length:e.length,e})),e.keys=(0,_uniqueArray.default)(e.details.map((e=>e.key))),e.references=(0,_uniqueArray.default)(e.details.filter((e=>e.isReference)).map((e=>e.index))),e.isArray=e.length?e.details.every((e=>"number"==typeof e.key)):e.isArray,e.complete=!e.references.length||e.complete||r.complete,e)),(0,_cloneDescriptor.default)(e))};var _default=exports.default=assignDescriptor;