UNPKG

@datorama/akita

Version:

State Management Tailored-Made for JS Applications

28 lines 2.08 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ // @internal /** * @template E * @param {?} entities * @param {?} idKey * @param {?} preAddEntity * @return {?} */ export function toEntitiesObject(entities, idKey, preAddEntity) { /** @type {?} */ const acc = { entities: {}, ids: [] }; for (const entity of entities) { // evaluate the middleware first to support dynamic ids /** @type {?} */ const current = preAddEntity(entity); acc.entities[current[idKey]] = current; acc.ids.push(current[idKey]); } return acc; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9FbnRpdGllc09iamVjdC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9ha2l0YS8iLCJzb3VyY2VzIjpbInNyYy90b0VudGl0aWVzT2JqZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUdBLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBSSxRQUFhLEVBQUUsS0FBYSxFQUFFLFlBQTZCOztVQUN2RixHQUFHLEdBQUc7UUFDVixRQUFRLEVBQUUsRUFBRTtRQUNaLEdBQUcsRUFBRSxFQUFFO0tBQ1I7SUFFRCxLQUFLLE1BQU0sTUFBTSxJQUFJLFFBQVEsRUFBRTs7O2NBRXZCLE9BQU8sR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDO1FBQ3BDLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQ3ZDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0tBQzlCO0lBRUQsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJlQWRkRW50aXR5IH0gZnJvbSAnLi90eXBlcyc7XG5cbi8vIEBpbnRlcm5hbFxuZXhwb3J0IGZ1bmN0aW9uIHRvRW50aXRpZXNPYmplY3Q8RT4oZW50aXRpZXM6IEVbXSwgaWRLZXk6IHN0cmluZywgcHJlQWRkRW50aXR5OiBQcmVBZGRFbnRpdHk8RT4pIHtcbiAgY29uc3QgYWNjID0ge1xuICAgIGVudGl0aWVzOiB7fSxcbiAgICBpZHM6IFtdXG4gIH07XG5cbiAgZm9yIChjb25zdCBlbnRpdHkgb2YgZW50aXRpZXMpIHtcbiAgICAvLyBldmFsdWF0ZSB0aGUgbWlkZGxld2FyZSBmaXJzdCB0byBzdXBwb3J0IGR5bmFtaWMgaWRzXG4gICAgY29uc3QgY3VycmVudCA9IHByZUFkZEVudGl0eShlbnRpdHkpO1xuICAgIGFjYy5lbnRpdGllc1tjdXJyZW50W2lkS2V5XV0gPSBjdXJyZW50O1xuICAgIGFjYy5pZHMucHVzaChjdXJyZW50W2lkS2V5XSk7XG4gIH1cblxuICByZXR1cm4gYWNjO1xufVxuIl19