UNPKG

@datorama/akita

Version:

State Management Tailored-Made for JS Applications

40 lines 2.63 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; // @internal /** * @template E * @param {?} entities * @param {?} idKey * @param {?} preAddEntity * @return {?} */ export function toEntitiesObject(entities, idKey, preAddEntity) { var e_1, _a; /** @type {?} */ var acc = { entities: {}, ids: [] }; try { for (var entities_1 = tslib_1.__values(entities), entities_1_1 = entities_1.next(); !entities_1_1.done; entities_1_1 = entities_1.next()) { var entity = entities_1_1.value; // evaluate the middleware first to support dynamic ids /** @type {?} */ var current = preAddEntity(entity); acc.entities[current[idKey]] = current; acc.ids.push(current[idKey]); } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (entities_1_1 && !entities_1_1.done && (_a = entities_1.return)) _a.call(entities_1); } finally { if (e_1) throw e_1.error; } } return acc; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9FbnRpdGllc09iamVjdC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9ha2l0YS8iLCJzb3VyY2VzIjpbInNyYy90b0VudGl0aWVzT2JqZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFHQSxNQUFNLFVBQVUsZ0JBQWdCLENBQUksUUFBYSxFQUFFLEtBQWEsRUFBRSxZQUE2Qjs7O1FBQ3ZGLEdBQUcsR0FBRztRQUNWLFFBQVEsRUFBRSxFQUFFO1FBQ1osR0FBRyxFQUFFLEVBQUU7S0FDUjs7UUFFRCxLQUFxQixJQUFBLGFBQUEsaUJBQUEsUUFBUSxDQUFBLGtDQUFBLHdEQUFFO1lBQTFCLElBQU0sTUFBTSxxQkFBQTs7O2dCQUVULE9BQU8sR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDO1lBQ3BDLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDO1lBQ3ZDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQzlCOzs7Ozs7Ozs7SUFFRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcmVBZGRFbnRpdHkgfSBmcm9tICcuL3R5cGVzJztcblxuLy8gQGludGVybmFsXG5leHBvcnQgZnVuY3Rpb24gdG9FbnRpdGllc09iamVjdDxFPihlbnRpdGllczogRVtdLCBpZEtleTogc3RyaW5nLCBwcmVBZGRFbnRpdHk6IFByZUFkZEVudGl0eTxFPikge1xuICBjb25zdCBhY2MgPSB7XG4gICAgZW50aXRpZXM6IHt9LFxuICAgIGlkczogW11cbiAgfTtcblxuICBmb3IgKGNvbnN0IGVudGl0eSBvZiBlbnRpdGllcykge1xuICAgIC8vIGV2YWx1YXRlIHRoZSBtaWRkbGV3YXJlIGZpcnN0IHRvIHN1cHBvcnQgZHluYW1pYyBpZHNcbiAgICBjb25zdCBjdXJyZW50ID0gcHJlQWRkRW50aXR5KGVudGl0eSk7XG4gICAgYWNjLmVudGl0aWVzW2N1cnJlbnRbaWRLZXldXSA9IGN1cnJlbnQ7XG4gICAgYWNjLmlkcy5wdXNoKGN1cnJlbnRbaWRLZXldKTtcbiAgfVxuXG4gIHJldHVybiBhY2M7XG59XG4iXX0=