@ngrx/entity 6.0.1 → 7.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/entity.umd.js +419 -369
- package/bundles/entity.umd.js.map +1 -1
- package/bundles/entity.umd.min.js +2 -2
- package/bundles/entity.umd.min.js.map +1 -1
- package/entity.metadata.json +1 -1
- package/esm2015/index.js +3 -3
- package/esm2015/public_api.js +3 -3
- package/esm2015/src/create_adapter.js +8 -5
- package/esm2015/src/entity_state.js +2 -2
- package/esm2015/src/index.js +3 -2
- package/esm2015/src/models.js +113 -54
- package/esm2015/src/sorted_state_adapter.js +64 -23
- package/esm2015/src/state_adapter.js +10 -8
- package/esm2015/src/state_selectors.js +10 -6
- package/esm2015/src/unsorted_state_adapter.js +65 -23
- package/esm2015/src/utils.js +21 -0
- package/esm5/index.js +1 -1
- package/esm5/src/create_adapter.js +11 -8
- package/esm5/src/entity_state.js +1 -1
- package/esm5/src/index.js +2 -1
- package/esm5/src/models.js +1 -1
- package/esm5/src/sorted_state_adapter.js +18 -6
- package/esm5/src/state_adapter.js +11 -8
- package/esm5/src/state_selectors.js +1 -1
- package/esm5/src/unsorted_state_adapter.js +26 -7
- package/esm5/src/utils.js +10 -0
- package/fesm2015/entity.js +181 -69
- package/fesm2015/entity.js.map +1 -1
- package/fesm5/entity.js +86 -36
- package/fesm5/entity.js.map +1 -1
- package/migrations/6_0_0/index.js +3 -3
- package/package.json +4 -4
- package/schematics-core/index.d.ts +6 -6
- package/schematics-core/index.js +5 -3
- package/schematics-core/utility/ast-utils.js +13 -11
- package/schematics-core/utility/change.js +1 -1
- package/schematics-core/utility/config.js +1 -1
- package/schematics-core/utility/find-module.js +2 -2
- package/schematics-core/utility/ngrx-utils.d.ts +1 -1
- package/schematics-core/utility/ngrx-utils.js +12 -12
- package/schematics-core/utility/package.js +1 -1
- package/schematics-core/utility/parse-name.js +1 -1
- package/schematics-core/utility/project.d.ts +12 -0
- package/schematics-core/utility/project.js +12 -3
- package/schematics-core/utility/route-utils.js +1 -1
- package/schematics-core/utility/strings.js +1 -1
- package/schematics-core/utility/update.js +1 -1
- package/src/index.d.ts +1 -1
- package/src/models.d.ts +16 -20
- package/src/state_adapter.d.ts +1 -1
- package/src/utils.d.ts +2 -0
package/fesm2015/entity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.js","sources":["../../../../../../../../../../execroot/ngrx/bazel-out/darwin-fastbuild/bin/modules/entity/npm_package.es6/modules/entity/src/entity_state.js","../../../../../../../../../../execroot/ngrx/bazel-out/darwin-fastbuild/bin/modules/entity/npm_package.es6/modules/entity/src/state_selectors.js","../../../../../../../../../../execroot/ngrx/bazel-out/darwin-fastbuild/bin/modules/entity/npm_package.es6/modules/entity/src/state_adapter.js","../../../../../../../../../../execroot/ngrx/bazel-out/darwin-fastbuild/bin/modules/entity/npm_package.es6/modules/entity/src/unsorted_state_adapter.js","../../../../../../../../../../execroot/ngrx/bazel-out/darwin-fastbuild/bin/modules/entity/npm_package.es6/modules/entity/src/sorted_state_adapter.js","../../../../../../../../../../execroot/ngrx/bazel-out/darwin-fastbuild/bin/modules/entity/npm_package.es6/modules/entity/src/create_adapter.js","../../../../../../../../../../execroot/ngrx/bazel-out/darwin-fastbuild/bin/modules/entity/npm_package.es6/modules/entity/src/index.js","../../../../../../../../../../execroot/ngrx/bazel-out/darwin-fastbuild/bin/modules/entity/npm_package.es6/modules/entity/public_api.js","../../../../../../../../../../execroot/ngrx/bazel-out/darwin-fastbuild/bin/modules/entity/npm_package.es6/modules/entity/index.js","../../../../../../../../../../execroot/ngrx/bazel-out/darwin-fastbuild/bin/modules/entity/npm_package.es6/modules/entity/entity.js"],"sourcesContent":["/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @template V\n * @return {?}\n */\nexport function getInitialEntityState() {\n return {\n ids: [],\n entities: {},\n };\n}\n/**\n * @template V\n * @return {?}\n */\nexport function createInitialStateFactory() {\n /**\n * @param {?=} additionalState\n * @return {?}\n */\n function getInitialState(additionalState = {}) {\n return Object.assign(getInitialEntityState(), additionalState);\n }\n return { getInitialState };\n}\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5X3N0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9lbnRpdHkvc3JjL2VudGl0eV9zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUVBLE1BQU07SUFDSixNQUFNLENBQUM7UUFDTCxHQUFHLEVBQUUsRUFBRTtRQUNQLFFBQVEsRUFBRSxFQUFFO0tBQ2IsQ0FBQztDQUNIOzs7OztBQUVELE1BQU07Ozs7O0lBS0oseUJBQXlCLGtCQUF1QixFQUFFO1FBQ2hELE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLHFCQUFxQixFQUFFLEVBQUUsZUFBZSxDQUFDLENBQUM7S0FDaEU7SUFFRCxNQUFNLENBQUMsRUFBRSxlQUFlLEVBQUUsQ0FBQztDQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudGl0eVN0YXRlIH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW5pdGlhbEVudGl0eVN0YXRlPFY+KCk6IEVudGl0eVN0YXRlPFY+IHtcbiAgcmV0dXJuIHtcbiAgICBpZHM6IFtdLFxuICAgIGVudGl0aWVzOiB7fSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUluaXRpYWxTdGF0ZUZhY3Rvcnk8Vj4oKSB7XG4gIGZ1bmN0aW9uIGdldEluaXRpYWxTdGF0ZSgpOiBFbnRpdHlTdGF0ZTxWPjtcbiAgZnVuY3Rpb24gZ2V0SW5pdGlhbFN0YXRlPFMgZXh0ZW5kcyBvYmplY3Q+KFxuICAgIGFkZGl0aW9uYWxTdGF0ZTogU1xuICApOiBFbnRpdHlTdGF0ZTxWPiAmIFM7XG4gIGZ1bmN0aW9uIGdldEluaXRpYWxTdGF0ZShhZGRpdGlvbmFsU3RhdGU6IGFueSA9IHt9KTogYW55IHtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihnZXRJbml0aWFsRW50aXR5U3RhdGUoKSwgYWRkaXRpb25hbFN0YXRlKTtcbiAgfVxuXG4gIHJldHVybiB7IGdldEluaXRpYWxTdGF0ZSB9O1xufVxuIl19","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport { createSelector } from '@ngrx/store';\n/**\n * @template T\n * @return {?}\n */\nexport function createSelectorsFactory() {\n /**\n * @param {?=} selectState\n * @return {?}\n */\n function getSelectors(selectState) {\n const /** @type {?} */ selectIds = (state) => state.ids;\n const /** @type {?} */ selectEntities = (state) => state.entities;\n const /** @type {?} */ selectAll = createSelector(selectIds, selectEntities, (ids, entities) => ids.map((id) => (/** @type {?} */ (entities))[id]));\n const /** @type {?} */ selectTotal = createSelector(selectIds, ids => ids.length);\n if (!selectState) {\n return {\n selectIds,\n selectEntities,\n selectAll,\n selectTotal,\n };\n }\n return {\n selectIds: createSelector(selectState, selectIds),\n selectEntities: createSelector(selectState, selectEntities),\n selectAll: createSelector(selectState, selectAll),\n selectTotal: createSelector(selectState, selectTotal),\n };\n }\n return { getSelectors };\n}\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGVfc2VsZWN0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9lbnRpdHkvc3JjL3N0YXRlX3NlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7QUFHN0MsTUFBTTs7Ozs7SUFLSixzQkFDRSxXQUE0QztRQUU1Qyx1QkFBTSxTQUFTLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFDNUMsdUJBQU0sY0FBYyxHQUFHLENBQUMsS0FBcUIsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUNqRSx1QkFBTSxTQUFTLEdBQUcsY0FBYyxDQUM5QixTQUFTLEVBQ1QsY0FBYyxFQUNkLENBQUMsR0FBUSxFQUFFLFFBQXVCLEVBQU8sRUFBRSxDQUN6QyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBTyxFQUFFLEVBQUUsQ0FBQyxtQkFBQyxRQUFlLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUM5QyxDQUFDO1FBRUYsdUJBQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFakUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLE1BQU0sQ0FBQztnQkFDTCxTQUFTO2dCQUNULGNBQWM7Z0JBQ2QsU0FBUztnQkFDVCxXQUFXO2FBQ1osQ0FBQztTQUNIO1FBRUQsTUFBTSxDQUFDO1lBQ0wsU0FBUyxFQUFFLGNBQWMsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDO1lBQ2pELGNBQWMsRUFBRSxjQUFjLENBQUMsV0FBVyxFQUFFLGNBQWMsQ0FBQztZQUMzRCxTQUFTLEVBQUUsY0FBYyxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUM7WUFDakQsV0FBVyxFQUFFLGNBQWMsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDO1NBQ3RELENBQUM7S0FDSDtJQUVELE1BQU0sQ0FBQyxFQUFFLFlBQVksRUFBRSxDQUFDO0NBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlU2VsZWN0b3IgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBFbnRpdHlTdGF0ZSwgRW50aXR5U2VsZWN0b3JzLCBEaWN0aW9uYXJ5IH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VsZWN0b3JzRmFjdG9yeTxUPigpIHtcbiAgZnVuY3Rpb24gZ2V0U2VsZWN0b3JzKCk6IEVudGl0eVNlbGVjdG9yczxULCBFbnRpdHlTdGF0ZTxUPj47XG4gIGZ1bmN0aW9uIGdldFNlbGVjdG9yczxWPihcbiAgICBzZWxlY3RTdGF0ZTogKHN0YXRlOiBWKSA9PiBFbnRpdHlTdGF0ZTxUPlxuICApOiBFbnRpdHlTZWxlY3RvcnM8VCwgVj47XG4gIGZ1bmN0aW9uIGdldFNlbGVjdG9ycyhcbiAgICBzZWxlY3RTdGF0ZT86IChzdGF0ZTogYW55KSA9PiBFbnRpdHlTdGF0ZTxUPlxuICApOiBFbnRpdHlTZWxlY3RvcnM8VCwgYW55PiB7XG4gICAgY29uc3Qgc2VsZWN0SWRzID0gKHN0YXRlOiBhbnkpID0+IHN0YXRlLmlkcztcbiAgICBjb25zdCBzZWxlY3RFbnRpdGllcyA9IChzdGF0ZTogRW50aXR5U3RhdGU8VD4pID0+IHN0YXRlLmVudGl0aWVzO1xuICAgIGNvbnN0IHNlbGVjdEFsbCA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgc2VsZWN0SWRzLFxuICAgICAgc2VsZWN0RW50aXRpZXMsXG4gICAgICAoaWRzOiBUW10sIGVudGl0aWVzOiBEaWN0aW9uYXJ5PFQ+KTogYW55ID0+XG4gICAgICAgIGlkcy5tYXAoKGlkOiBhbnkpID0+IChlbnRpdGllcyBhcyBhbnkpW2lkXSlcbiAgICApO1xuXG4gICAgY29uc3Qgc2VsZWN0VG90YWwgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RJZHMsIGlkcyA9PiBpZHMubGVuZ3RoKTtcblxuICAgIGlmICghc2VsZWN0U3RhdGUpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNlbGVjdElkcyxcbiAgICAgICAgc2VsZWN0RW50aXRpZXMsXG4gICAgICAgIHNlbGVjdEFsbCxcbiAgICAgICAgc2VsZWN0VG90YWwsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBzZWxlY3RJZHM6IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdFN0YXRlLCBzZWxlY3RJZHMpLFxuICAgICAgc2VsZWN0RW50aXRpZXM6IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdFN0YXRlLCBzZWxlY3RFbnRpdGllcyksXG4gICAgICBzZWxlY3RBbGw6IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdFN0YXRlLCBzZWxlY3RBbGwpLFxuICAgICAgc2VsZWN0VG90YWw6IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdFN0YXRlLCBzZWxlY3RUb3RhbCksXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7IGdldFNlbGVjdG9ycyB9O1xufVxuIl19","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/** @enum {number} */\nconst DidMutate = {\n EntitiesOnly: 0,\n Both: 1,\n None: 2,\n};\nexport { DidMutate };\nDidMutate[DidMutate.EntitiesOnly] = \"EntitiesOnly\";\nDidMutate[DidMutate.Both] = \"Both\";\nDidMutate[DidMutate.None] = \"None\";\n/**\n * @template V, R\n * @param {?} mutator\n * @return {?}\n */\nexport function createStateOperator(mutator) {\n return function operation(arg, state) {\n const /** @type {?} */ clonedEntityState = {\n ids: [...state.ids],\n entities: Object.assign({}, state.entities),\n };\n const /** @type {?} */ didMutate = mutator(arg, clonedEntityState);\n if (didMutate === DidMutate.Both) {\n return Object.assign({}, state, clonedEntityState);\n }\n if (didMutate === DidMutate.EntitiesOnly) {\n return Object.assign({}, state, { entities: clonedEntityState.entities });\n }\n return state;\n };\n}\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGVfYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvZW50aXR5L3NyYy9zdGF0ZV9hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXQSxNQUFNLDhCQUNKLE9BQTRDO0lBRTVDLE1BQU0sQ0FBQyxtQkFBNkMsR0FBTSxFQUFFLEtBQVU7UUFDcEUsdUJBQU0saUJBQWlCLEdBQW1CO1lBQ3hDLEdBQUcsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztZQUNuQixRQUFRLG9CQUFPLEtBQUssQ0FBQyxRQUFRLENBQUU7U0FDaEMsQ0FBQztRQUVGLHVCQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFFbEQsRUFBRSxDQUFDLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztTQUNwRDtRQUVELEVBQUUsQ0FBQyxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUN6QyxNQUFNLG1CQUNELEtBQUssSUFDUixRQUFRLEVBQUUsaUJBQWlCLENBQUMsUUFBUSxJQUNwQztTQUNIO1FBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQztLQUNkLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudGl0eVN0YXRlLCBFbnRpdHlTdGF0ZUFkYXB0ZXIgfSBmcm9tICcuL21vZGVscyc7XG5cbmV4cG9ydCBlbnVtIERpZE11dGF0ZSB7XG4gIEVudGl0aWVzT25seSxcbiAgQm90aCxcbiAgTm9uZSxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVN0YXRlT3BlcmF0b3I8ViwgUj4oXG4gIG11dGF0b3I6IChhcmc6IFIsIHN0YXRlOiBFbnRpdHlTdGF0ZTxWPikgPT4gRGlkTXV0YXRlXG4pOiBFbnRpdHlTdGF0ZTxWPjtcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTdGF0ZU9wZXJhdG9yPFYsIFI+KFxuICBtdXRhdG9yOiAoYXJnOiBhbnksIHN0YXRlOiBhbnkpID0+IERpZE11dGF0ZVxuKTogYW55IHtcbiAgcmV0dXJuIGZ1bmN0aW9uIG9wZXJhdGlvbjxTIGV4dGVuZHMgRW50aXR5U3RhdGU8Vj4+KGFyZzogUiwgc3RhdGU6IGFueSk6IFMge1xuICAgIGNvbnN0IGNsb25lZEVudGl0eVN0YXRlOiBFbnRpdHlTdGF0ZTxWPiA9IHtcbiAgICAgIGlkczogWy4uLnN0YXRlLmlkc10sXG4gICAgICBlbnRpdGllczogeyAuLi5zdGF0ZS5lbnRpdGllcyB9LFxuICAgIH07XG5cbiAgICBjb25zdCBkaWRNdXRhdGUgPSBtdXRhdG9yKGFyZywgY2xvbmVkRW50aXR5U3RhdGUpO1xuXG4gICAgaWYgKGRpZE11dGF0ZSA9PT0gRGlkTXV0YXRlLkJvdGgpIHtcbiAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZSwgY2xvbmVkRW50aXR5U3RhdGUpO1xuICAgIH1cblxuICAgIGlmIChkaWRNdXRhdGUgPT09IERpZE11dGF0ZS5FbnRpdGllc09ubHkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBlbnRpdGllczogY2xvbmVkRW50aXR5U3RhdGUuZW50aXRpZXMsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZTtcbiAgfTtcbn1cbiJdfQ==","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport { createStateOperator, DidMutate } from './state_adapter';\n/**\n * @template T\n * @param {?} selectId\n * @return {?}\n */\nexport function createUnsortedStateAdapter(selectId) {\n /**\n * @param {?} entity\n * @param {?} state\n * @return {?}\n */\n function addOneMutably(entity, state) {\n const /** @type {?} */ key = selectId(entity);\n if (key in state.entities) {\n return DidMutate.None;\n }\n state.ids.push(key);\n state.entities[key] = entity;\n return DidMutate.Both;\n }\n /**\n * @param {?} entities\n * @param {?} state\n * @return {?}\n */\n function addManyMutably(entities, state) {\n let /** @type {?} */ didMutate = false;\n for (const /** @type {?} */ entity of entities) {\n didMutate = addOneMutably(entity, state) !== DidMutate.None || didMutate;\n }\n return didMutate ? DidMutate.Both : DidMutate.None;\n }\n /**\n * @param {?} entities\n * @param {?} state\n * @return {?}\n */\n function addAllMutably(entities, state) {\n state.ids = [];\n state.entities = {};\n addManyMutably(entities, state);\n return DidMutate.Both;\n }\n /**\n * @param {?} key\n * @param {?} state\n * @return {?}\n */\n function removeOneMutably(key, state) {\n return removeManyMutably([key], state);\n }\n /**\n * @param {?} keys\n * @param {?} state\n * @return {?}\n */\n function removeManyMutably(keys, state) {\n const /** @type {?} */ didMutate = keys\n .filter(key => key in state.entities)\n .map(key => delete state.entities[key]).length > 0;\n if (didMutate) {\n state.ids = state.ids.filter((id) => id in state.entities);\n }\n return didMutate ? DidMutate.Both : DidMutate.None;\n }\n /**\n * @template S\n * @param {?} state\n * @return {?}\n */\n function removeAll(state) {\n return Object.assign({}, state, {\n ids: [],\n entities: {},\n });\n }\n /**\n * @param {?} keys\n * @param {?} update\n * @param {?} state\n * @return {?}\n */\n function takeNewKey(keys, update, state) {\n const /** @type {?} */ original = state.entities[update.id];\n const /** @type {?} */ updated = Object.assign({}, original, update.changes);\n const /** @type {?} */ newKey = selectId(updated);\n const /** @type {?} */ hasNewKey = newKey !== update.id;\n if (hasNewKey) {\n keys[update.id] = newKey;\n delete state.entities[update.id];\n }\n state.entities[newKey] = updated;\n return hasNewKey;\n }\n /**\n * @param {?} update\n * @param {?} state\n * @return {?}\n */\n function updateOneMutably(update, state) {\n return updateManyMutably([update], state);\n }\n /**\n * @param {?} updates\n * @param {?} state\n * @return {?}\n */\n function updateManyMutably(updates, state) {\n const /** @type {?} */ newKeys = {};\n updates = updates.filter(update => update.id in state.entities);\n const /** @type {?} */ didMutateEntities = updates.length > 0;\n if (didMutateEntities) {\n const /** @type {?} */ didMutateIds = updates.filter(update => takeNewKey(newKeys, update, state)).length > 0;\n if (didMutateIds) {\n state.ids = state.ids.map((id) => newKeys[id] || id);\n return DidMutate.Both;\n }\n else {\n return DidMutate.EntitiesOnly;\n }\n }\n return DidMutate.None;\n }\n /**\n * @param {?} entity\n * @param {?} state\n * @return {?}\n */\n function upsertOneMutably(entity, state) {\n return upsertManyMutably([entity], state);\n }\n /**\n * @param {?} entities\n * @param {?} state\n * @return {?}\n */\n function upsertManyMutably(entities, state) {\n const /** @type {?} */ added = [];\n const /** @type {?} */ updated = [];\n for (const /** @type {?} */ entity of entities) {\n const /** @type {?} */ id = selectId(entity);\n if (id in state.entities) {\n updated.push({ id, changes: entity });\n }\n else {\n added.push(entity);\n }\n }\n const /** @type {?} */ didMutateByUpdated = updateManyMutably(updated, state);\n const /** @type {?} */ didMutateByAdded = addManyMutably(added, state);\n switch (true) {\n case didMutateByAdded === DidMutate.None &&\n didMutateByUpdated === DidMutate.None:\n return DidMutate.None;\n case didMutateByAdded === DidMutate.Both ||\n didMutateByUpdated === DidMutate.Both:\n return DidMutate.Both;\n default:\n return DidMutate.EntitiesOnly;\n }\n }\n return {\n removeAll,\n addOne: createStateOperator(addOneMutably),\n addMany: createStateOperator(addManyMutably),\n addAll: createStateOperator(addAllMutably),\n updateOne: createStateOperator(updateOneMutably),\n updateMany: createStateOperator(updateManyMutably),\n upsertOne: createStateOperator(upsertOneMutably),\n upsertMany: createStateOperator(upsertManyMutably),\n removeOne: createStateOperator(removeOneMutably),\n removeMany: createStateOperator(removeManyMutably),\n };\n}\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5zb3J0ZWRfc3RhdGVfYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvZW50aXR5L3NyYy91bnNvcnRlZF9zdGF0ZV9hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7OztBQUtqRSxNQUFNLHFDQUF3QyxRQUF1Qjs7Ozs7O0lBSW5FLHVCQUF1QixNQUFXLEVBQUUsS0FBVTtRQUM1Qyx1QkFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTdCLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUMxQixNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztTQUN2QjtRQUVELEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBRTdCLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO0tBQ3ZCOzs7Ozs7SUFHRCx3QkFBd0IsUUFBZSxFQUFFLEtBQVU7UUFDakQscUJBQUksU0FBUyxHQUFHLEtBQUssQ0FBQztRQUV0QixHQUFHLENBQUMsQ0FBQyx1QkFBTSxNQUFNLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQztZQUM5QixTQUFTLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsS0FBSyxTQUFTLENBQUMsSUFBSSxJQUFJLFNBQVMsQ0FBQztTQUMxRTtRQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7S0FDcEQ7Ozs7OztJQUdELHVCQUF1QixRQUFlLEVB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LCBFbnRpdHlTdGF0ZUFkYXB0ZXIsIElkU2VsZWN0b3IsIFVwZGF0ZSB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IGNyZWF0ZVN0YXRlT3BlcmF0b3IsIERpZE11dGF0ZSB9IGZyb20gJy4vc3RhdGVfYWRhcHRlcic7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVVbnNvcnRlZFN0YXRlQWRhcHRlcjxUPihcbiAgc2VsZWN0SWQ6IElkU2VsZWN0b3I8VD5cbik6IEVudGl0eVN0YXRlQWRhcHRlcjxUPjtcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVVbnNvcnRlZFN0YXRlQWRhcHRlcjxUPihzZWxlY3RJZDogSWRTZWxlY3RvcjxUPik6IGFueSB7XG4gIHR5cGUgUiA9IEVudGl0eVN0YXRlPFQ+O1xuXG4gIGZ1bmN0aW9uIGFkZE9uZU11dGFibHkoZW50aXR5OiBULCBzdGF0ZTogUik6IERpZE11dGF0ZTtcbiAgZnVuY3Rpb24gYWRkT25lTXV0YWJseShlbnRpdHk6IGFueSwgc3RhdGU6IGFueSk6IERpZE11dGF0ZSB7XG4gICAgY29uc3Qga2V5ID0gc2VsZWN0SWQoZW50aXR5KTtcblxuICAgIGlmIChrZXkgaW4gc3RhdGUuZW50aXRpZXMpIHtcbiAgICAgIHJldHVybiBEaWRNdXRhdGUuTm9uZTtcbiAgICB9XG5cbiAgICBzdGF0ZS5pZHMucHVzaChrZXkpO1xuICAgIHN0YXRlLmVudGl0aWVzW2tleV0gPSBlbnRpdHk7XG5cbiAgICByZXR1cm4gRGlkTXV0YXRlLkJvdGg7XG4gIH1cblxuICBmdW5jdGlvbiBhZGRNYW55TXV0YWJseShlbnRpdGllczogVFtdLCBzdGF0ZTogUik6IERpZE11dGF0ZTtcbiAgZnVuY3Rpb24gYWRkTWFueU11dGFibHkoZW50aXRpZXM6IGFueVtdLCBzdGF0ZTogYW55KTogRGlkTXV0YXRlIHtcbiAgICBsZXQgZGlkTXV0YXRlID0gZmFsc2U7XG5cbiAgICBmb3IgKGNvbnN0IGVudGl0eSBvZiBlbnRpdGllcykge1xuICAgICAgZGlkTXV0YXRlID0gYWRkT25lTXV0YWJseShlbnRpdHksIHN0YXRlKSAhPT0gRGlkTXV0YXRlLk5vbmUgfHwgZGlkTXV0YXRlO1xuICAgIH1cblxuICAgIHJldHVybiBkaWRNdXRhdGUgPyBEaWRNdXRhdGUuQm90aCA6IERpZE11dGF0ZS5Ob25lO1xuICB9XG5cbiAgZnVuY3Rpb24gYWRkQWxsTXV0YWJseShlbnRpdGllczogVFtdLCBzdGF0ZTogUik6IERpZE11dGF0ZTtcbiAgZnVuY3Rpb24gYWRkQWxsTXV0YWJseShlbnRpdGllczogYW55W10sIHN0YXRlOiBhbnkpOiBEaWRNdXRhdGUge1xuICAgIHN0YXRlLmlkcyA9IFtdO1xuICAgIHN0YXRlLmVudGl0aWVzID0ge307XG5cbiAgICBhZGRNYW55TXV0YWJseShlbnRpdGllcywgc3RhdGUpO1xuXG4gICAgcmV0dXJuIERpZE11dGF0ZS5Cb3RoO1xuICB9XG5cbiAgZnVuY3Rpb24gcmVtb3ZlT25lTXV0YWJseShrZXk6IFQsIHN0YXRlOiBSKTogRGlkTXV0YXRlO1xuICBmdW5jdGlvbiByZW1vdmVPbmVNdXRhYmx5KGtleTogYW55LCBzdGF0ZTogYW55KTogRGlkTXV0YXRlIHtcbiAgICByZXR1cm4gcmVtb3ZlTWFueU11dGFibHkoW2tleV0sIHN0YXRlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHJlbW92ZU1hbnlNdXRhYmx5KGtleXM6IFRbXSwgc3RhdGU6IFIpOiBEaWRNdXRhdGU7XG4gIGZ1bmN0aW9uIHJlbW92ZU1hbnlNdXRhYmx5KGtleXM6IGFueVtdLCBzdGF0ZTogYW55KTogRGlkTXV0YXRlIHtcbiAgICBjb25zdCBkaWRNdXRhdGUgPVxuICAgICAga2V5c1xuICAgICAgICAuZmlsdGVyKGtleSA9PiBrZXkgaW4gc3RhdGUuZW50aXRpZXMpXG4gICAgICAgIC5tYXAoa2V5ID0+IGRlbGV0ZSBzdGF0ZS5lbnRpdGllc1trZXldKS5sZW5ndGggPiAwO1xuXG4gICAgaWYgKGRpZE11dGF0ZSkge1xuICAgICAgc3RhdGUuaWRzID0gc3RhdGUuaWRzLmZpbHRlcigoaWQ6IGFueSkgPT4gaWQgaW4gc3RhdGUuZW50aXRpZXMpO1xuICAgIH1cblxuICAgIHJldHVybiBkaWRNdXRhdGUgPyBEaWRNdXRhdGUuQm90aCA6IERpZE11dGF0ZS5Ob25lO1xuICB9XG5cbiAgZnVuY3Rpb24gcmVtb3ZlQWxsPFMgZXh0ZW5kcyBSPihzdGF0ZTogUyk6IFM7XG4gIGZ1bmN0aW9uIHJlbW92ZUFsbDxTIGV4dGVuZHMgUj4oc3RhdGU6IGFueSk6IFMge1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZSwge1xuICAgICAgaWRzOiBbXSxcbiAgICAgIGVudGl0aWVzOiB7fSxcbiAgICB9KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHRha2VOZXdLZXkoXG4gICAga2V5czogeyBbaWQ6IHN0cmluZ106IHN0cmluZyB9LFxuICAgIHVwZGF0ZTogVXBkYXRlPFQ+LFxuICAgIHN0YXRlOiBSXG4gICk6IHZvaWQ7XG4gIGZ1bmN0aW9uIHRha2VOZXdLZXkoXG4gICAga2V5czogeyBbaWQ6IHN0cmluZ106IGFueSB9LFxuICAgIHVwZGF0ZTogVXBkYXRlPFQ+LFxuICAgIHN0YXRlOiBhbnlcbiAgKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgb3JpZ2luYWwgPSBzdGF0ZS5lbnRpdGllc1t1cGRhdGUuaWRdO1xuICAgIGNvbnN0IHVwZGF0ZWQ6IFQgPSBPYmplY3QuYXNzaWduKHt9LCBvcmlnaW5hbCwgdXBkYXRlLmNoYW5nZXMpO1xuICAgIGNvbnN0IG5ld0tleSA9IHNlbGVjdElkKHVwZGF0ZWQpO1xuICAgIGNvbnN0IGhhc05ld0tleSA9IG5ld0tleSAhPT0gdXBkYXRlLmlkO1xuXG4gICAgaWYgKGhhc05ld0tleSkge1xuICAgICAga2V5c1t1cGRhdGUuaWRdID0gbmV3S2V5O1xuICAgICAgZGVsZXRlIHN0YXRlLmVudGl0aWVzW3VwZGF0ZS5pZF07XG4gICAgfVxuXG4gICAgc3RhdGUuZW50aXRpZXNbbmV3S2V5XSA9IHVwZGF0ZWQ7XG5cbiAgICByZXR1cm4gaGFzTmV3S2V5O1xuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlT25lTXV0YWJseSh1cGRhdGU6IFVwZGF0ZTxUPiwgc3RhdGU6IFIpOiBEaWRNdXRhdGU7XG4gIGZ1bmN0aW9uIHVwZGF0ZU9uZU11dGFibHkodXBkYXRlOiBhbnksIHN0YXRlOiBhbnkpOiBEaWRNdXRhdGUge1xuICAgIHJldHVybiB1cGRhdGVNYW55TXV0YWJseShbdXBkYXRlXSwgc3RhdGUpO1xuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlTWFueU11dGFibHkodXBkYXRlczogVXBkYXRlPFQ+W10sIHN0YXRlOiBSKTogRGlkTXV0YXRlO1xuICBmdW5jdGlvbiB1cGRhdGVNYW55TXV0YWJseSh1cGRhdGVzOiBhbnlbXSwgc3RhdGU6IGFueSk6IERpZE11dGF0ZSB7XG4gICAgY29uc3QgbmV3S2V5czogeyBbaWQ6IHN0cmluZ106IHN0cmluZyB9ID0ge307XG5cbiAgICB1cGRhdGVzID0gdXBkYXRlcy5maWx0ZXIodXBkYXRlID0+IHVwZGF0ZS5pZCBpbiBzdGF0ZS5lbnRpdGllcyk7XG5cbiAgICBjb25zdCBkaWRNdXRhdGVFbnRpdGllcyA9IHVwZGF0ZXMubGVuZ3RoID4gMDtcblxuICAgIGlmIChkaWRNdXRhdGVFbnRpdGllcykge1xuICAgICAgY29uc3QgZGlkTXV0YXRlSWRzID1cbiAgICAgICAgdXBkYXRlcy5maWx0ZXIodXBkYXRlID0+IHRha2VOZXdLZXkobmV3S2V5cywgdXBkYXRlLCBzdGF0ZSkpLmxlbmd0aCA+IDA7XG5cbiAgICAgIGlmIChkaWRNdXRhdGVJZHMpIHtcbiAgICAgICAgc3RhdGUuaWRzID0gc3RhdGUuaWRzLm1hcCgoaWQ6IGFueSkgPT4gbmV3S2V5c1tpZF0gfHwgaWQpO1xuICAgICAgICByZXR1cm4gRGlkTXV0YXRlLkJvdGg7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gRGlkTXV0YXRlLkVudGl0aWVzT25seTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gRGlkTXV0YXRlLk5vbmU7XG4gIH1cblxuICBmdW5jdGlvbiB1cHNlcnRPbmVNdXRhYmx5KGVudGl0eTogVCwgc3RhdGU6IFIpOiBEaWRNdXRhdGU7XG4gIGZ1bmN0aW9uIHVwc2VydE9uZU11dGFibHkoZW50aXR5OiBhbnksIHN0YXRlOiBhbnkpOiBEaWRNdXRhdGUge1xuICAgIHJldHVybiB1cHNlcnRNYW55TXV0YWJseShbZW50aXR5XSwgc3RhdGUpO1xuICB9XG5cbiAgZnVuY3Rpb24gdXBzZXJ0TWFueU11dGFibHkoZW50aXRpZXM6IFRbXSwgc3RhdGU6IFIpOiBEaWRNdXRhdGU7XG4gIGZ1bmN0aW9uIHVwc2VydE1hbnlNdXRhYmx5KGVudGl0aWVzOiBhbnlbXSwgc3RhdGU6IGFueSk6IERpZE11dGF0ZSB7XG4gICAgY29uc3QgYWRkZWQ6IGFueVtdID0gW107XG4gICAgY29uc3QgdXBkYXRlZDogYW55W10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgZW50aXR5IG9mIGVudGl0aWVzKSB7XG4gICAgICBjb25zdCBpZCA9IHNlbGVjdElkKGVudGl0eSk7XG4gICAgICBpZiAoaWQgaW4gc3RhdGUuZW50aXRpZXMpIHtcbiAgICAgICAgdXBkYXRlZC5wdXNoKHsgaWQsIGNoYW5nZXM6IGVudGl0eSB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFkZGVkLnB1c2goZW50aXR5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBkaWRNdXRhdGVCeVVwZGF0ZWQgPSB1cGRhdGVNYW55TXV0YWJseSh1cGRhdGVkLCBzdGF0ZSk7XG4gICAgY29uc3QgZGlkTXV0YXRlQnlBZGRlZCA9IGFkZE1hbnlNdXRhYmx5KGFkZGVkLCBzdGF0ZSk7XG5cbiAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgIGNhc2UgZGlkTXV0YXRlQnlBZGRlZCA9PT0gRGlkTXV0YXRlLk5vbmUgJiZcbiAgICAgICAgZGlkTXV0YXRlQnlVcGRhdGVkID09PSBEaWRNdXRhdGUuTm9uZTpcbiAgICAgICAgcmV0dXJuIERpZE11dGF0ZS5Ob25lO1xuICAgICAgY2FzZSBkaWRNdXRhdGVCeUFkZGVkID09PSBEaWRNdXRhdGUuQm90aCB8fFxuICAgICAgICBkaWRNdXRhdGVCeVVwZGF0ZWQgPT09IERpZE11dGF0ZS5Cb3RoOlxuICAgICAgICByZXR1cm4gRGlkTXV0YXRlLkJvdGg7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gRGlkTXV0YXRlLkVudGl0aWVzT25seTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHJlbW92ZUFsbCxcbiAgICBhZGRPbmU6IGNyZWF0ZVN0YXRlT3BlcmF0b3IoYWRkT25lTXV0YWJseSksXG4gICAgYWRkTWFueTogY3JlYXRlU3RhdGVPcGVyYXRvcihhZGRNYW55TXV0YWJseSksXG4gICAgYWRkQWxsOiBjcmVhdGVTdGF0ZU9wZXJhdG9yKGFkZEFsbE11dGFibHkpLFxuICAgIHVwZGF0ZU9uZTogY3JlYXRlU3RhdGVPcGVyYXRvcih1cGRhdGVPbmVNdXRhYmx5KSxcbiAgICB1cGRhdGVNYW55OiBjcmVhdGVTdGF0ZU9wZXJhdG9yKHVwZGF0ZU1hbnlNdXRhYmx5KSxcbiAgICB1cHNlcnRPbmU6IGNyZWF0ZVN0YXRlT3BlcmF0b3IodXBzZXJ0T25lTXV0YWJseSksXG4gICAgdXBzZXJ0TWFueTogY3JlYXRlU3RhdGVPcGVyYXRvcih1cHNlcnRNYW55TXV0YWJseSksXG4gICAgcmVtb3ZlT25lOiBjcmVhdGVTdGF0ZU9wZXJhdG9yKHJlbW92ZU9uZU11dGFibHkpLFxuICAgIHJlbW92ZU1hbnk6IGNyZWF0ZVN0YXRlT3BlcmF0b3IocmVtb3ZlTWFueU11dGFibHkpLFxuICB9O1xufVxuIl19","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport { createStateOperator, DidMutate } from './state_adapter';\nimport { createUnsortedStateAdapter } from './unsorted_state_adapter';\n/**\n * @template T\n * @param {?} selectId\n * @param {?} sort\n * @return {?}\n */\nexport function createSortedStateAdapter(selectId, sort) {\n const { removeOne, removeMany, removeAll } = createUnsortedStateAdapter(selectId);\n /**\n * @param {?} entity\n * @param {?} state\n * @return {?}\n */\n function addOneMutably(entity, state) {\n return addManyMutably([entity], state);\n }\n /**\n * @param {?} newModels\n * @param {?} state\n * @return {?}\n */\n function addManyMutably(newModels, state) {\n const /** @type {?} */ models = newModels.filter(model => !(selectId(model) in state.entities));\n if (models.length === 0) {\n return DidMutate.None;\n }\n else {\n merge(models, state);\n return DidMutate.Both;\n }\n }\n /**\n * @param {?} models\n * @param {?} state\n * @return {?}\n */\n function addAllMutably(models, state) {\n state.entities = {};\n state.ids = [];\n addManyMutably(models, state);\n return DidMutate.Both;\n }\n /**\n * @param {?} update\n * @param {?} state\n * @return {?}\n */\n function updateOneMutably(update, state) {\n return updateManyMutably([update], state);\n }\n /**\n * @param {?} models\n * @param {?} update\n * @param {?} state\n * @return {?}\n */\n function takeUpdatedModel(models, update, state) {\n if (!(update.id in state.entities)) {\n return false;\n }\n const /** @type {?} */ original = state.entities[update.id];\n const /** @type {?} */ updated = Object.assign({}, original, update.changes);\n const /** @type {?} */ newKey = selectId(updated);\n delete state.entities[update.id];\n models.push(updated);\n return newKey !== update.id;\n }\n /**\n * @param {?} updates\n * @param {?} state\n * @return {?}\n */\n function updateManyMutably(updates, state) {\n const /** @type {?} */ models = [];\n const /** @type {?} */ didMutateIds = updates.filter(update => takeUpdatedModel(models, update, state)).length >\n 0;\n if (models.length === 0) {\n return DidMutate.None;\n }\n else {\n const /** @type {?} */ originalIds = state.ids;\n const /** @type {?} */ updatedIndexes = [];\n state.ids = state.ids.filter((id, index) => {\n if (id in state.entities) {\n return true;\n }\n else {\n updatedIndexes.push(index);\n return false;\n }\n });\n merge(models, state);\n if (!didMutateIds &&\n updatedIndexes.every((i) => state.ids[i] === originalIds[i])) {\n return DidMutate.EntitiesOnly;\n }\n else {\n return DidMutate.Both;\n }\n }\n }\n /**\n * @param {?} entity\n * @param {?} state\n * @return {?}\n */\n function upsertOneMutably(entity, state) {\n return upsertManyMutably([entity], state);\n }\n /**\n * @param {?} entities\n * @param {?} state\n * @return {?}\n */\n function upsertManyMutably(entities, state) {\n const /** @type {?} */ added = [];\n const /** @type {?} */ updated = [];\n for (const /** @type {?} */ entity of entities) {\n const /** @type {?} */ id = selectId(entity);\n if (id in state.entities) {\n updated.push({ id, changes: entity });\n }\n else {\n added.push(entity);\n }\n }\n const /** @type {?} */ didMutateByUpdated = updateManyMutably(updated, state);\n const /** @type {?} */ didMutateByAdded = addManyMutably(added, state);\n switch (true) {\n case didMutateByAdded === DidMutate.None &&\n didMutateByUpdated === DidMutate.None:\n return DidMutate.None;\n case didMutateByAdded === DidMutate.Both ||\n didMutateByUpdated === DidMutate.Both:\n return DidMutate.Both;\n default:\n return DidMutate.EntitiesOnly;\n }\n }\n /**\n * @param {?} models\n * @param {?} state\n * @return {?}\n */\n function merge(models, state) {\n models.sort(sort);\n const /** @type {?} */ ids = [];\n let /** @type {?} */ i = 0;\n let /** @type {?} */ j = 0;\n while (i < models.length && j < state.ids.length) {\n const /** @type {?} */ model = models[i];\n const /** @type {?} */ modelId = selectId(model);\n const /** @type {?} */ entityId = state.ids[j];\n const /** @type {?} */ entity = state.entities[entityId];\n if (sort(model, entity) <= 0) {\n ids.push(modelId);\n i++;\n }\n else {\n ids.push(entityId);\n j++;\n }\n }\n if (i < models.length) {\n state.ids = ids.concat(models.slice(i).map(selectId));\n }\n else {\n state.ids = ids.concat(state.ids.slice(j));\n }\n models.forEach((model, i) => {\n state.entities[selectId(model)] = model;\n });\n }\n return {\n removeOne,\n removeMany,\n removeAll,\n addOne: createStateOperator(addOneMutably),\n updateOne: createStateOperator(updateOneMutably),\n upsertOne: createStateOperator(upsertOneMutably),\n addAll: createStateOperator(addAllMutably),\n addMany: createStateOperator(addManyMutably),\n updateMany: createStateOperator(updateManyMutably),\n upsertMany: createStateOperator(upsertManyMutably),\n };\n}\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydGVkX3N0YXRlX2FkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2VudGl0eS9zcmMvc29ydGVkX3N0YXRlX2FkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQVFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQU10RSxNQUFNLG1DQUFzQyxRQUFhLEVBQUUsSUFBUztJQUdsRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsR0FBRywwQkFBMEIsQ0FDckUsUUFBUSxDQUNULENBQUM7Ozs7OztJQUdGLHVCQUF1QixNQUFXLEVBQUUsS0FBVTtRQUM1QyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDeEM7Ozs7OztJQUdELHdCQUF3QixTQUFnQixFQUFFLEtBQVU7UUFDbEQsdUJBQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQzdCLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQzlDLENBQUM7UUFFRixFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7U0FDdkI7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNOLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDckIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7U0FDdkI7S0FDRjs7Ozs7O0lBR0QsdUJBQXVCLE1BQWEsRUFBRSxLQUFVO1FBQzlDLEtBQUssQ0FBQyxR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LEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzVDO1FBRUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMxQixLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQztTQUN6QyxDQUFDLENBQUM7S0FDSjtJQUVELE1BQU0sQ0FBQztRQUNMLFNBQVM7UUFDVCxVQUFVO1FBQ1YsU0FBUztRQUNULE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxhQUFhLENBQUM7UUFDMUMsU0FBUyxFQUFFLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDO1FBQ2hELFNBQVMsRUFBRSxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQztRQUNoRCxNQUFNLEVBQUUsbUJBQW1CLENBQUMsYUFBYSxDQUFDO1FBQzFDLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQyxjQUFjLENBQUM7UUFDNUMsVUFBVSxFQUFFLG1CQUFtQixDQUFDLGlCQUFpQixDQUFDO1FBQ2xELFVBQVUsRUFBRSxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQztLQUNuRCxDQUFDO0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFbnRpdHlTdGF0ZSxcbiAgSWRTZWxlY3RvcixcbiAgQ29tcGFyZXIsXG4gIERpY3Rpb25hcnksXG4gIEVudGl0eVN0YXRlQWRhcHRlcixcbiAgVXBkYXRlLFxufSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBjcmVhdGVTdGF0ZU9wZXJhdG9yLCBEaWRNdXRhdGUgfSBmcm9tICcuL3N0YXRlX2FkYXB0ZXInO1xuaW1wb3J0IHsgY3JlYXRlVW5zb3J0ZWRTdGF0ZUFkYXB0ZXIgfSBmcm9tICcuL3Vuc29ydGVkX3N0YXRlX2FkYXB0ZXInO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU29ydGVkU3RhdGVBZGFwdGVyPFQ+KFxuICBzZWxlY3RJZDogSWRTZWxlY3RvcjxUPixcbiAgc29ydDogQ29tcGFyZXI8VD5cbik6IEVudGl0eVN0YXRlQWRhcHRlcjxUPjtcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTb3J0ZWRTdGF0ZUFkYXB0ZXI8VD4oc2VsZWN0SWQ6IGFueSwgc29ydDogYW55KTogYW55IHtcbiAgdHlwZSBSID0gRW50aXR5U3RhdGU8VD47XG5cbiAgY29uc3QgeyByZW1vdmVPbmUsIHJlbW92ZU1hbnksIHJlbW92ZUFsbCB9ID0gY3JlYXRlVW5zb3J0ZWRTdGF0ZUFkYXB0ZXIoXG4gICAgc2VsZWN0SWRcbiAgKTtcblxuICBmdW5jdGlvbiBhZGRPbmVNdXRhYmx5KGVudGl0eTogVCwgc3RhdGU6IFIpOiBEaWRNdXRhdGU7XG4gIGZ1bmN0aW9uIGFkZE9uZU11dGFibHkoZW50aXR5OiBhbnksIHN0YXRlOiBhbnkpOiBEaWRNdXRhdGUge1xuICAgIHJldHVybiBhZGRNYW55TXV0YWJseShbZW50aXR5XSwgc3RhdGUpO1xuICB9XG5cbiAgZnVuY3Rpb24gYWRkTWFueU11dGFibHkobmV3TW9kZWxzOiBUW10sIHN0YXRlOiBSKTogRGlkTXV0YXRlO1xuICBmdW5jdGlvbiBhZGRNYW55TXV0YWJseShuZXdNb2RlbHM6IGFueVtdLCBzdGF0ZTogYW55KTogRGlkTXV0YXRlIHtcbiAgICBjb25zdCBtb2RlbHMgPSBuZXdNb2RlbHMuZmlsdGVyKFxuICAgICAgbW9kZWwgPT4gIShzZWxlY3RJZChtb2RlbCkgaW4gc3RhdGUuZW50aXRpZXMpXG4gICAgKTtcblxuICAgIGlmIChtb2RlbHMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gRGlkTXV0YXRlLk5vbmU7XG4gICAgfSBlbHNlIHtcbiAgICAgIG1lcmdlKG1vZGVscywgc3RhdGUpO1xuICAgICAgcmV0dXJuIERpZE11dGF0ZS5Cb3RoO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGFkZEFsbE11dGFibHkobW9kZWxzOiBUW10sIHN0YXRlOiBSKTogRGlkTXV0YXRlO1xuICBmdW5jdGlvbiBhZGRBbGxNdXRhYmx5KG1vZGVsczogYW55W10sIHN0YXRlOiBhbnkpOiBEaWRNdXRhdGUge1xuICAgIHN0YXRlLmVudGl0aWVzID0ge307XG4gICAgc3RhdGUuaWRzID0gW107XG5cbiAgICBhZGRNYW55TXV0YWJseShtb2RlbHMsIHN0YXRlKTtcblxuICAgIHJldHVybiBEaWRNdXRhdGUuQm90aDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHVwZGF0ZU9uZU11dGFibHkodXBkYXRlOiBVcGRhdGU8VD4sIHN0YXRlOiBSKTogRGlkTXV0YXRlO1xuICBmdW5jdGlvbiB1cGRhdGVPbmVNdXRhYmx5KHVwZGF0ZTogYW55LCBzdGF0ZTogYW55KTogRGlkTXV0YXRlIHtcbiAgICByZXR1cm4gdXBkYXRlTWFueU11dGFibHkoW3VwZGF0ZV0sIHN0YXRlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHRha2VVcGRhdGVkTW9kZWwobW9kZWxzOiBUW10sIHVwZGF0ZTogVXBkYXRlPFQ+LCBzdGF0ZTogUik6IGJvb2xlYW47XG4gIGZ1bmN0aW9uIHRha2VVcGRhdGVkTW9kZWwobW9kZWxzOiBhbnlbXSwgdXBkYXRlOiBhbnksIHN0YXRlOiBhbnkpOiBib29sZWFuIHtcbiAgICBpZiAoISh1cGRhdGUuaWQgaW4gc3RhdGUuZW50aXRpZXMpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3Qgb3JpZ2luYWwgPSBzdGF0ZS5lbnRpdGllc1t1cGRhdGUuaWRdO1xuICAgIGNvbnN0IHVwZGF0ZWQgPSBPYmplY3QuYXNzaWduKHt9LCBvcmlnaW5hbCwgdXBkYXRlLmNoYW5nZXMpO1xuICAgIGNvbnN0IG5ld0tleSA9IHNlbGVjdElkKHVwZGF0ZWQpO1xuXG4gICAgZGVsZXRlIHN0YXRlLmVudGl0aWVzW3VwZGF0ZS5pZF07XG5cbiAgICBtb2RlbHMucHVzaCh1cGRhdGVkKTtcblxuICAgIHJldHVybiBuZXdLZXkgIT09IHVwZGF0ZS5pZDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHVwZGF0ZU1hbnlNdXRhYmx5KHVwZGF0ZXM6IFVwZGF0ZTxUPltdLCBzdGF0ZTogUik6IERpZE11dGF0ZTtcbiAgZnVuY3Rpb24gdXBkYXRlTWFueU11dGFibHkodXBkYXRlczogYW55W10sIHN0YXRlOiBhbnkpOiBEaWRNdXRhdGUge1xuICAgIGNvbnN0IG1vZGVsczogVFtdID0gW107XG5cbiAgICBjb25zdCBkaWRNdXRhdGVJZHMgPVxuICAgICAgdXBkYXRlcy5maWx0ZXIodXBkYXRlID0+IHRha2VVcGRhdGVkTW9kZWwobW9kZWxzLCB1cGRhdGUsIHN0YXRlKSkubGVuZ3RoID5cbiAgICAgIDA7XG5cbiAgICBpZiAobW9kZWxzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIERpZE11dGF0ZS5Ob25lO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBvcmlnaW5hbElkcyA9IHN0YXRlLmlkcztcbiAgICAgIGNvbnN0IHVwZGF0ZWRJbmRleGVzOiBhbnlbXSA9IFtdO1xuICAgICAgc3RhdGUuaWRzID0gc3RhdGUuaWRzLmZpbHRlcigoaWQ6IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICBpZiAoaWQgaW4gc3RhdGUuZW50aXRpZXMpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB1cGRhdGVkSW5kZXhlcy5wdXNoKGluZGV4KTtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBtZXJnZShtb2RlbHMsIHN0YXRlKTtcblxuICAgICAgaWYgKFxuICAgICAgICAhZGlkTXV0YXRlSWRzICYmXG4gICAgICAgIHVwZGF0ZWRJbmRleGVzLmV2ZXJ5KChpOiBudW1iZXIpID0+IHN0YXRlLmlkc1tpXSA9PT0gb3JpZ2luYWxJZHNbaV0pXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIERpZE11dGF0ZS5FbnRpdGllc09ubHk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gRGlkTXV0YXRlLkJvdGg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gdXBzZXJ0T25lTXV0YWJseShlbnRpdHk6IFQsIHN0YXRlOiBSKTogRGlkTXV0YXRlO1xuICBmdW5jdGlvbiB1cHNlcnRPbmVNdXRhYmx5KGVudGl0eTogYW55LCBzdGF0ZTogYW55KTogRGlkTXV0YXRlIHtcbiAgICByZXR1cm4gdXBzZXJ0TWFueU11dGFibHkoW2VudGl0eV0sIHN0YXRlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHVwc2VydE1hbnlNdXRhYmx5KGVudGl0aWVzOiBUW10sIHN0YXRlOiBSKTogRGlkTXV0YXRlO1xuICBmdW5jdGlvbiB1cHNlcnRNYW55TXV0YWJseShlbnRpdGllczogYW55W10sIHN0YXRlOiBhbnkpOiBEaWRNdXRhdGUge1xuICAgIGNvbnN0IGFkZGVkOiBhbnlbXSA9IFtdO1xuICAgIGNvbnN0IHVwZGF0ZWQ6IGFueVtdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IGVudGl0eSBvZiBlbnRpdGllcykge1xuICAgICAgY29uc3QgaWQgPSBzZWxlY3RJZChlbnRpdHkpO1xuICAgICAgaWYgKGlkIGluIHN0YXRlLmVudGl0aWVzKSB7XG4gICAgICAgIHVwZGF0ZWQucHVzaCh7IGlkLCBjaGFuZ2VzOiBlbnRpdHkgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhZGRlZC5wdXNoKGVudGl0eSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZGlkTXV0YXRlQnlVcGRhdGVkID0gdXBkYXRlTWFueU11dGFibHkodXBkYXRlZCwgc3RhdGUpO1xuICAgIGNvbnN0IGRpZE11dGF0ZUJ5QWRkZWQgPSBhZGRNYW55TXV0YWJseShhZGRlZCwgc3RhdGUpO1xuXG4gICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICBjYXNlIGRpZE11dGF0ZUJ5QWRkZWQgPT09IERpZE11dGF0ZS5Ob25lICYmXG4gICAgICAgIGRpZE11dGF0ZUJ5VXBkYXRlZCA9PT0gRGlkTXV0YXRlLk5vbmU6XG4gICAgICAgIHJldHVybiBEaWRNdXRhdGUuTm9uZTtcbiAgICAgIGNhc2UgZGlkTXV0YXRlQnlBZGRlZCA9PT0gRGlkTXV0YXRlLkJvdGggfHxcbiAgICAgICAgZGlkTXV0YXRlQnlVcGRhdGVkID09PSBEaWRNdXRhdGUuQm90aDpcbiAgICAgICAgcmV0dXJuIERpZE11dGF0ZS5Cb3RoO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIERpZE11dGF0ZS5FbnRpdGllc09ubHk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gbWVyZ2UobW9kZWxzOiBUW10sIHN0YXRlOiBSKTogdm9pZDtcbiAgZnVuY3Rpb24gbWVyZ2UobW9kZWxzOiBhbnlbXSwgc3RhdGU6IGFueSk6IHZvaWQge1xuICAgIG1vZGVscy5zb3J0KHNvcnQpO1xuXG4gICAgY29uc3QgaWRzOiBhbnlbXSA9IFtdO1xuXG4gICAgbGV0IGkgPSAwO1xuICAgIGxldCBqID0gMDtcblxuICAgIHdoaWxlIChpIDwgbW9kZWxzLmxlbmd0aCAmJiBqIDwgc3RhdGUuaWRzLmxlbmd0aCkge1xuICAgICAgY29uc3QgbW9kZWwgPSBtb2RlbHNbaV07XG4gICAgICBjb25zdCBtb2RlbElkID0gc2VsZWN0SWQobW9kZWwpO1xuICAgICAgY29uc3QgZW50aXR5SWQgPSBzdGF0ZS5pZHNbal07XG4gICAgICBjb25zdCBlbnRpdHkgPSBzdGF0ZS5lbnRpdGllc1tlbnRpdHlJZF07XG5cbiAgICAgIGlmIChzb3J0KG1vZGVsLCBlbnRpdHkpIDw9IDApIHtcbiAgICAgICAgaWRzLnB1c2gobW9kZWxJZCk7XG4gICAgICAgIGkrKztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlkcy5wdXNoKGVudGl0eUlkKTtcbiAgICAgICAgaisrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChpIDwgbW9kZWxzLmxlbmd0aCkge1xuICAgICAgc3RhdGUuaWRzID0gaWRzLmNvbmNhdChtb2RlbHMuc2xpY2UoaSkubWFwKHNlbGVjdElkKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0YXRlLmlkcyA9IGlkcy5jb25jYXQoc3RhdGUuaWRzLnNsaWNlKGopKTtcbiAgICB9XG5cbiAgICBtb2RlbHMuZm9yRWFjaCgobW9kZWwsIGkpID0+IHtcbiAgICAgIHN0YXRlLmVudGl0aWVzW3NlbGVjdElkKG1vZGVsKV0gPSBtb2RlbDtcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgcmVtb3ZlT25lLFxuICAgIHJlbW92ZU1hbnksXG4gICAgcmVtb3ZlQWxsLFxuICAgIGFkZE9uZTogY3JlYXRlU3RhdGVPcGVyYXRvcihhZGRPbmVNdXRhYmx5KSxcbiAgICB1cGRhdGVPbmU6IGNyZWF0ZVN0YXRlT3BlcmF0b3IodXBkYXRlT25lTXV0YWJseSksXG4gICAgdXBzZXJ0T25lOiBjcmVhdGVTdGF0ZU9wZXJhdG9yKHVwc2VydE9uZU11dGFibHkpLFxuICAgIGFkZEFsbDogY3JlYXRlU3RhdGVPcGVyYXRvcihhZGRBbGxNdXRhYmx5KSxcbiAgICBhZGRNYW55OiBjcmVhdGVTdGF0ZU9wZXJhdG9yKGFkZE1hbnlNdXRhYmx5KSxcbiAgICB1cGRhdGVNYW55OiBjcmVhdGVTdGF0ZU9wZXJhdG9yKHVwZGF0ZU1hbnlNdXRhYmx5KSxcbiAgICB1cHNlcnRNYW55OiBjcmVhdGVTdGF0ZU9wZXJhdG9yKHVwc2VydE1hbnlNdXRhYmx5KSxcbiAgfTtcbn1cbiJdfQ==","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport { createInitialStateFactory } from './entity_state';\nimport { createSelectorsFactory } from './state_selectors';\nimport { createSortedStateAdapter } from './sorted_state_adapter';\nimport { createUnsortedStateAdapter } from './unsorted_state_adapter';\n/**\n * @template T\n * @param {?=} options\n * @return {?}\n */\nexport function createEntityAdapter(options = {}) {\n const { selectId, sortComparer } = Object.assign({ sortComparer: false, selectId: (instance) => instance.id }, options);\n const /** @type {?} */ stateFactory = createInitialStateFactory();\n const /** @type {?} */ selectorsFactory = createSelectorsFactory();\n const /** @type {?} */ stateAdapter = sortComparer\n ? createSortedStateAdapter(selectId, sortComparer)\n : createUnsortedStateAdapter(selectId);\n return Object.assign({ selectId,\n sortComparer }, stateFactory, selectorsFactory, stateAdapter);\n}\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX2FkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2VudGl0eS9zcmMvY3JlYXRlX2FkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQU9BLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7QUFFdEUsTUFBTSw4QkFDSixVQUdJLEVBQUU7SUFFTixNQUFNLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxtQkFDOUIsWUFBWSxFQUFFLEtBQUssRUFDbkIsUUFBUSxFQUFFLENBQUMsUUFBYSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUNyQyxPQUFPLENBQ1gsQ0FBQztJQUVGLHVCQUFNLFlBQVksR0FBRyx5QkFBeUIsRUFBSyxDQUFDO0lBQ3BELHVCQUFNLGdCQUFnQixHQUFHLHNCQUFzQixFQUFLLENBQUM7SUFDckQsdUJBQU0sWUFBWSxHQUFHLFlBQVk7UUFDL0IsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUM7UUFDbEQsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXpDLE1BQU0saUJBQ0osUUFBUTtRQUNSLFlBQVksSUFDVCxZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLFlBQVksRUFDZjtDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlU2VsZWN0b3IgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBFbnRpdHlEZWZpbml0aW9uLFxuICBDb21wYXJlcixcbiAgSWRTZWxlY3RvcixcbiAgRW50aXR5QWRhcHRlcixcbn0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgY3JlYXRlSW5pdGlhbFN0YXRlRmFjdG9yeSB9IGZyb20gJy4vZW50aXR5X3N0YXRlJztcbmltcG9ydCB7IGNyZWF0ZVNlbGVjdG9yc0ZhY3RvcnkgfSBmcm9tICcuL3N0YXRlX3NlbGVjdG9ycyc7XG5pbXBvcnQgeyBjcmVhdGVTb3J0ZWRTdGF0ZUFkYXB0ZXIgfSBmcm9tICcuL3NvcnRlZF9zdGF0ZV9hZGFwdGVyJztcbmltcG9ydCB7IGNyZWF0ZVVuc29ydGVkU3RhdGVBZGFwdGVyIH0gZnJvbSAnLi91bnNvcnRlZF9zdGF0ZV9hZGFwdGVyJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUVudGl0eUFkYXB0ZXI8VD4oXG4gIG9wdGlvbnM6IHtcbiAgICBzZWxlY3RJZD86IElkU2VsZWN0b3I8VD47XG4gICAgc29ydENvbXBhcmVyPzogZmFsc2UgfCBDb21wYXJlcjxUPjtcbiAgfSA9IHt9XG4pOiBFbnRpdHlBZGFwdGVyPFQ+IHtcbiAgY29uc3QgeyBzZWxlY3RJZCwgc29ydENvbXBhcmVyIH06IEVudGl0eURlZmluaXRpb248VD4gPSB7XG4gICAgc29ydENvbXBhcmVyOiBmYWxzZSxcbiAgICBzZWxlY3RJZDogKGluc3RhbmNlOiBhbnkpID0+IGluc3RhbmNlLmlkLFxuICAgIC4uLm9wdGlvbnMsXG4gIH07XG5cbiAgY29uc3Qgc3RhdGVGYWN0b3J5ID0gY3JlYXRlSW5pdGlhbFN0YXRlRmFjdG9yeTxUPigpO1xuICBjb25zdCBzZWxlY3RvcnNGYWN0b3J5ID0gY3JlYXRlU2VsZWN0b3JzRmFjdG9yeTxUPigpO1xuICBjb25zdCBzdGF0ZUFkYXB0ZXIgPSBzb3J0Q29tcGFyZXJcbiAgICA/IGNyZWF0ZVNvcnRlZFN0YXRlQWRhcHRlcihzZWxlY3RJZCwgc29ydENvbXBhcmVyKVxuICAgIDogY3JlYXRlVW5zb3J0ZWRTdGF0ZUFkYXB0ZXIoc2VsZWN0SWQpO1xuXG4gIHJldHVybiB7XG4gICAgc2VsZWN0SWQsXG4gICAgc29ydENvbXBhcmVyLFxuICAgIC4uLnN0YXRlRmFjdG9yeSxcbiAgICAuLi5zZWxlY3RvcnNGYWN0b3J5LFxuICAgIC4uLnN0YXRlQWRhcHRlcixcbiAgfTtcbn1cbiJdfQ==","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nexport { createEntityAdapter } from './create_adapter';\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2VudGl0eS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgY3JlYXRlRW50aXR5QWRhcHRlciB9IGZyb20gJy4vY3JlYXRlX2FkYXB0ZXInO1xuZXhwb3J0IHsgRW50aXR5U3RhdGUsIEVudGl0eUFkYXB0ZXIsIFVwZGF0ZSB9IGZyb20gJy4vbW9kZWxzJztcbiJdfQ==","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nexport { createEntityAdapter } from './src/index';\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL21vZHVsZXMvZW50aXR5L3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLG9DQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3JjL2luZGV4JztcbiJdfQ==","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * DO NOT EDIT\n *\n * This file is automatically generated at build\n */\nexport { createEntityAdapter } from './public_api';\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2VudGl0eS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFNQSxvQ0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIERPIE5PVCBFRElUXG4gKlxuICogVGhpcyBmaWxlIGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGF0IGJ1aWxkXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9lbnRpdHkvZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":";;;;;;;AAAA;;;;;;;;AAQA,AAAO,SAAS,qBAAqB,GAAG;IACpC,OAAO;QACH,GAAG,EAAE,EAAE;QACP,QAAQ,EAAE,EAAE;KACf,CAAC;CACL;;;;;AAKD,AAAO,SAAS,yBAAyB,GAAG;;;;;IAKxC,SAAS,eAAe,CAAC,eAAe,GAAG,EAAE,EAAE;QAC3C,OAAO,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,EAAE,eAAe,CAAC,CAAC;KAClE;IACD,OAAO,EAAE,eAAe,EAAE,CAAC;CAC9B;;AC3BD;;;;AAIA,AACA;;;;AAIA,AAAO,SAAS,sBAAsB,GAAG;;;;;IAKrC,SAAS,YAAY,CAAC,WAAW,EAAE;QAC/B,uBAAuB,SAAS,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,GAAG,CAAC;QACxD,uBAAuB,cAAc,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ,CAAC;QAClE,uBAAuB,SAAS,GAAG,cAAc,CAAC,SAAS,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,mBAAmB,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QACpJ,uBAAuB,WAAW,GAAG,cAAc,CAAC,SAAS,EAAE,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAClF,IAAI,CAAC,WAAW,EAAE;YACd,OAAO;gBACH,SAAS;gBACT,cAAc;gBACd,SAAS;gBACT,WAAW;aACd,CAAC;SACL;QACD,OAAO;YACH,SAAS,EAAE,cAAc,CAAC,WAAW,EAAE,SAAS,CAAC;YACjD,cAAc,EAAE,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC;YAC3D,SAAS,EAAE,cAAc,CAAC,WAAW,EAAE,SAAS,CAAC;YACjD,WAAW,EAAE,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC;SACxD,CAAC;KACL;IACD,OAAO,EAAE,YAAY,EAAE,CAAC;CAC3B;;ACnCD;;;;;AAKA,MAAM,SAAS,GAAG;IACd,YAAY,EAAE,CAAC;IACf,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;CACV,CAAC;AACF,AACA,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,cAAc,CAAC;AACnD,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACnC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;;;;;;AAMnC,AAAO,SAAS,mBAAmB,CAAC,OAAO,EAAE;IACzC,OAAO,SAAS,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE;QAClC,uBAAuB,iBAAiB,GAAG;YACvC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC;YACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC;SAC9C,CAAC;QACF,uBAAuB,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;QACnE,IAAI,SAAS,KAAK,SAAS,CAAC,IAAI,EAAE;YAC9B,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;SACtD;QACD,IAAI,SAAS,KAAK,SAAS,CAAC,YAAY,EAAE;YACtC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC7E;QACD,OAAO,KAAK,CAAC;KAChB,CAAC;CACL;;AClCD;;;;AAIA,AACA;;;;;AAKA,AAAO,SAAS,0BAA0B,CAAC,QAAQ,EAAE;;;;;;IAMjD,SAAS,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE;QAClC,uBAAuB,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE;YACvB,OAAO,SAAS,CAAC,IAAI,CAAC;SACzB;QACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QAC7B,OAAO,SAAS,CAAC,IAAI,CAAC;KACzB;;;;;;IAMD,SAAS,cAAc,CAAC,QAAQ,EAAE,KAAK,EAAE;QACrC,qBAAqB,SAAS,GAAG,KAAK,CAAC;QACvC,KAAK,uBAAuB,MAAM,IAAI,QAAQ,EAAE;YAC5C,SAAS,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC;SAC5E;QACD,OAAO,SAAS,GAAG,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;KACtD;;;;;;IAMD,SAAS,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE;QACpC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC;QACf,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;QACpB,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAChC,OAAO,SAAS,CAAC,IAAI,CAAC;KACzB;;;;;;IAMD,SAAS,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE;QAClC,OAAO,iBAAiB,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;KAC1C;;;;;;IAMD,SAAS,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE;QACpC,uBAAuB,SAAS,GAAG,IAAI;aAClC,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC;aACpC,GAAG,CAAC,GAAG,IAAI,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACvD,IAAI,SAAS,EAAE;YACX,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;SAC9D;QACD,OAAO,SAAS,GAAG,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;KACtD;;;;;;IAMD,SAAS,SAAS,CAAC,KAAK,EAAE;QACtB,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE;YAC5B,GAAG,EAAE,EAAE;YACP,QAAQ,EAAE,EAAE;SACf,CAAC,CAAC;KACN;;;;;;;IAOD,SAAS,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;QACrC,uBAAuB,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5D,uBAAuB,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7E,uBAAuB,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClD,uBAAuB,SAAS,GAAG,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC;QACxD,IAAI,SAAS,EAAE;YACX,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;YACzB,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SACpC;QACD,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;QACjC,OAAO,SAAS,CAAC;KACpB;;;;;;IAMD,SAAS,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE;QACrC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;KAC7C;;;;;;IAMD,SAAS,iBAAiB,CAAC,OAAO,EAAE,KAAK,EAAE;QACvC,uBAAuB,OAAO,GAAG,EAAE,CAAC;QACpC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChE,uBAAuB,iBAAiB,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9D,IAAI,iBAAiB,EAAE;YACnB,uBAAuB,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YAC9G,IAAI,YAAY,EAAE;gBACd,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;gBACrD,OAAO,SAAS,CAAC,IAAI,CAAC;aACzB;iBACI;gBACD,OAAO,SAAS,CAAC,YAAY,CAAC;aACjC;SACJ;QACD,OAAO,SAAS,CAAC,IAAI,CAAC;KACzB;;;;;;IAMD,SAAS,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE;QACrC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;KAC7C;;;;;;IAMD,SAAS,iBAAiB,CAAC,QAAQ,EAAE,KAAK,EAAE;QACxC,uBAAuB,KAAK,GAAG,EAAE,CAAC;QAClC,uBAAuB,OAAO,GAAG,EAAE,CAAC;QACpC,KAAK,uBAAuB,MAAM,IAAI,QAAQ,EAAE;YAC5C,uBAAuB,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE;gBACtB,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;aACzC;iBACI;gBACD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACtB;SACJ;QACD,uBAAuB,kBAAkB,GAAG,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC9E,uBAAuB,gBAAgB,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACvE,QAAQ,IAAI;YACR,KAAK,gBAAgB,KAAK,SAAS,CAAC,IAAI;gBACpC,kBAAkB,KAAK,SAAS,CAAC,IAAI;gBACrC,OAAO,SAAS,CAAC,IAAI,CAAC;YAC1B,KAAK,gBAAgB,KAAK,SAAS,CAAC,IAAI;gBACpC,kBAAkB,KAAK,SAAS,CAAC,IAAI;gBACrC,OAAO,SAAS,CAAC,IAAI,CAAC;YAC1B;gBACI,OAAO,SAAS,CAAC,YAAY,CAAC;SACrC;KACJ;IACD,OAAO;QACH,SAAS;QACT,MAAM,EAAE,mBAAmB,CAAC,aAAa,CAAC;QAC1C,OAAO,EAAE,mBAAmB,CAAC,cAAc,CAAC;QAC5C,MAAM,EAAE,mBAAmB,CAAC,aAAa,CAAC;QAC1C,SAAS,EAAE,mBAAmB,CAAC,gBAAgB,CAAC;QAChD,UAAU,EAAE,mBAAmB,CAAC,iBAAiB,CAAC;QAClD,SAAS,EAAE,mBAAmB,CAAC,gBAAgB,CAAC;QAChD,UAAU,EAAE,mBAAmB,CAAC,iBAAiB,CAAC;QAClD,SAAS,EAAE,mBAAmB,CAAC,gBAAgB,CAAC;QAChD,UAAU,EAAE,mBAAmB,CAAC,iBAAiB,CAAC;KACrD,CAAC;CACL;;AClLD;;;;AAIA,AAEA;;;;;;AAMA,AAAO,SAAS,wBAAwB,CAAC,QAAQ,EAAE,IAAI,EAAE;IACrD,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;;;;;;IAMlF,SAAS,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE;QAClC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;KAC1C;;;;;;IAMD,SAAS,cAAc,CAAC,SAAS,EAAE,KAAK,EAAE;QACtC,uBAAuB,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChG,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,OAAO,SAAS,CAAC,IAAI,CAAC;SACzB;aACI;YACD,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACrB,OAAO,SAAS,CAAC,IAAI,CAAC;SACzB;KACJ;;;;;;IAMD,SAAS,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE;QAClC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;QACpB,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC;QACf,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC9B,OAAO,SAAS,CAAC,IAAI,CAAC;KACzB;;;;;;IAMD,SAAS,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE;QACrC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;KAC7C;;;;;;;IAOD,SAAS,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;QAC7C,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE;YAChC,OAAO,KAAK,CAAC;SAChB;QACD,uBAAuB,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5D,uBAAuB,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7E,uBAAuB,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,OAAO,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC;KAC/B;;;;;;IAMD,SAAS,iBAAiB,CAAC,OAAO,EAAE,KAAK,EAAE;QACvC,uBAAuB,MAAM,GAAG,EAAE,CAAC;QACnC,uBAAuB,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM;YAC1G,CAAC,CAAC;QACN,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,OAAO,SAAS,CAAC,IAAI,CAAC;SACzB;aACI;YACD,uBAAuB,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC;YAC/C,uBAAuB,cAAc,GAAG,EAAE,CAAC;YAC3C,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,KAAK;gBACxC,IAAI,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE;oBACtB,OAAO,IAAI,CAAC;iBACf;qBACI;oBACD,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC3B,OAAO,KAAK,CAAC;iBAChB;aACJ,CAAC,CAAC;YACH,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACrB,IAAI,CAAC,YAAY;gBACb,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC9D,OAAO,SAAS,CAAC,YAAY,CAAC;aACjC;iBACI;gBACD,OAAO,SAAS,CAAC,IAAI,CAAC;aACzB;SACJ;KACJ;;;;;;IAMD,SAAS,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE;QACrC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;KAC7C;;;;;;IAMD,SAAS,iBAAiB,CAAC,QAAQ,EAAE,KAAK,EAAE;QACxC,uBAAuB,KAAK,GAAG,EAAE,CAAC;QAClC,uBAAuB,OAAO,GAAG,EAAE,CAAC;QACpC,KAAK,uBAAuB,MAAM,IAAI,QAAQ,EAAE;YAC5C,uBAAuB,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE;gBACtB,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;aACzC;iBACI;gBACD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACtB;SACJ;QACD,uBAAuB,kBAAkB,GAAG,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC9E,uBAAuB,gBAAgB,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACvE,QAAQ,IAAI;YACR,KAAK,gBAAgB,KAAK,SAAS,CAAC,IAAI;gBACpC,kBAAkB,KAAK,SAAS,CAAC,IAAI;gBACrC,OAAO,SAAS,CAAC,IAAI,CAAC;YAC1B,KAAK,gBAAgB,KAAK,SAAS,CAAC,IAAI;gBACpC,kBAAkB,KAAK,SAAS,CAAC,IAAI;gBACrC,OAAO,SAAS,CAAC,IAAI,CAAC;YAC1B;gBACI,OAAO,SAAS,CAAC,YAAY,CAAC;SACrC;KACJ;;;;;;IAMD,SAAS,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE;QAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,uBAAuB,GAAG,GAAG,EAAE,CAAC;QAChC,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAC3B,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE;YAC9C,uBAAuB,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACzC,uBAAuB,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YACjD,uBAAuB,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/C,uBAAuB,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACzD,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;gBAC1B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAClB,CAAC,EAAE,CAAC;aACP;iBACI;gBACD,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACnB,CAAC,EAAE,CAAC;aACP;SACJ;QACD,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE;YACnB,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;SACzD;aACI;YACD,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9C;QACD,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK;YACzB,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC;SAC3C,CAAC,CAAC;KACN;IACD,OAAO;QACH,SAAS;QACT,UAAU;QACV,SAAS;QACT,MAAM,EAAE,mBAAmB,CAAC,aAAa,CAAC;QAC1C,SAAS,EAAE,mBAAmB,CAAC,gBAAgB,CAAC;QAChD,SAAS,EAAE,mBAAmB,CAAC,gBAAgB,CAAC;QAChD,MAAM,EAAE,mBAAmB,CAAC,aAAa,CAAC;QAC1C,OAAO,EAAE,mBAAmB,CAAC,cAAc,CAAC;QAC5C,UAAU,EAAE,mBAAmB,CAAC,iBAAiB,CAAC;QAClD,UAAU,EAAE,mBAAmB,CAAC,iBAAiB,CAAC;KACrD,CAAC;CACL;;AC/LD;;;;AAIA,AAIA;;;;;AAKA,AAAO,SAAS,mBAAmB,CAAC,OAAO,GAAG,EAAE,EAAE;IAC9C,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,QAAQ,KAAK,QAAQ,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IACxH,uBAAuB,YAAY,GAAG,yBAAyB,EAAE,CAAC;IAClE,uBAAuB,gBAAgB,GAAG,sBAAsB,EAAE,CAAC;IACnE,uBAAuB,YAAY,GAAG,YAAY;UAC5C,wBAAwB,CAAC,QAAQ,EAAE,YAAY,CAAC;UAChD,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ;QAC3B,YAAY,EAAE,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;CACrE;;ACtBD;;;GAGG;;ACHH;;;GAGG;;ACHH;;;;;;;;GAQG;;ACRH;;GAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"entity.js","sources":["../src/entity_state.ts","../src/state_selectors.ts","../src/state_adapter.ts","../src/utils.ts","../src/unsorted_state_adapter.ts","../src/sorted_state_adapter.ts","../src/create_adapter.ts","../src/models.ts","../entity.ts"],"sourcesContent":["import { EntityState } from './models';\n\nexport function getInitialEntityState<V>(): EntityState<V> {\n return {\n ids: [],\n entities: {},\n };\n}\n\nexport function createInitialStateFactory<V>() {\n function getInitialState(): EntityState<V>;\n function getInitialState<S extends object>(\n additionalState: S\n ): EntityState<V> & S;\n function getInitialState(additionalState: any = {}): any {\n return Object.assign(getInitialEntityState(), additionalState);\n }\n\n return { getInitialState };\n}\n","import { createSelector } from '@ngrx/store';\nimport { EntityState, EntitySelectors, Dictionary } from './models';\n\nexport function createSelectorsFactory<T>() {\n function getSelectors(): EntitySelectors<T, EntityState<T>>;\n function getSelectors<V>(\n selectState: (state: V) => EntityState<T>\n ): EntitySelectors<T, V>;\n function getSelectors(\n selectState?: (state: any) => EntityState<T>\n ): EntitySelectors<T, any> {\n const selectIds = (state: any) => state.ids;\n const selectEntities = (state: EntityState<T>) => state.entities;\n const selectAll = createSelector(\n selectIds,\n selectEntities,\n (ids: T[], entities: Dictionary<T>): any =>\n ids.map((id: any) => (entities as any)[id])\n );\n\n const selectTotal = createSelector(selectIds, ids => ids.length);\n\n if (!selectState) {\n return {\n selectIds,\n selectEntities,\n selectAll,\n selectTotal,\n };\n }\n\n return {\n selectIds: createSelector(selectState, selectIds),\n selectEntities: createSelector(selectState, selectEntities),\n selectAll: createSelector(selectState, selectAll),\n selectTotal: createSelector(selectState, selectTotal),\n };\n }\n\n return { getSelectors };\n}\n","import { EntityState } from './models';\n\nexport enum DidMutate {\n EntitiesOnly,\n Both,\n None,\n}\n\nexport function createStateOperator<V, R>(\n mutator: (arg: R, state: EntityState<V>) => DidMutate\n): EntityState<V>;\nexport function createStateOperator<V, R>(\n mutator: (arg: any, state: any) => DidMutate\n): any {\n return function operation<S extends EntityState<V>>(arg: R, state: any): S {\n const clonedEntityState: EntityState<V> = {\n ids: [...state.ids],\n entities: { ...state.entities },\n };\n\n const didMutate = mutator(arg, clonedEntityState);\n\n if (didMutate === DidMutate.Both) {\n return Object.assign({}, state, clonedEntityState);\n }\n\n if (didMutate === DidMutate.EntitiesOnly) {\n return {\n ...state,\n entities: clonedEntityState.entities,\n };\n }\n\n return state;\n };\n}\n","import { isDevMode } from '@angular/core';\nimport { IdSelector } from './models';\n\nexport function selectIdValue<T>(entity: T, selectId: IdSelector<T>) {\n const key = selectId(entity);\n\n if (isDevMode() && key === undefined) {\n console.warn(\n '@ngrx/entity: The entity passed to the `selectId` implementation returned undefined.',\n 'You should probably provide your own `selectId` implementation.',\n 'The entity that was passed:',\n entity,\n 'The `selectId` implementation:',\n selectId.toString()\n );\n }\n\n return key;\n}\n","import {\n EntityState,\n EntityStateAdapter,\n IdSelector,\n Update,\n Predicate,\n EntityMap,\n} from './models';\nimport { createStateOperator, DidMutate } from './state_adapter';\nimport { selectIdValue } from './utils';\n\nexport function createUnsortedStateAdapter<T>(\n selectId: IdSelector<T>\n): EntityStateAdapter<T>;\nexport function createUnsortedStateAdapter<T>(selectId: IdSelector<T>): any {\n type R = EntityState<T>;\n\n function addOneMutably(entity: T, state: R): DidMutate;\n function addOneMutably(entity: any, state: any): DidMutate {\n const key = selectIdValue(entity, selectId);\n\n if (key in state.entities) {\n return DidMutate.None;\n }\n\n state.ids.push(key);\n state.entities[key] = entity;\n\n return DidMutate.Both;\n }\n\n function addManyMutably(entities: T[], state: R): DidMutate;\n function addManyMutably(entities: any[], state: any): DidMutate {\n let didMutate = false;\n\n for (const entity of entities) {\n didMutate = addOneMutably(entity, state) !== DidMutate.None || didMutate;\n }\n\n return didMutate ? DidMutate.Both : DidMutate.None;\n }\n\n function addAllMutably(entities: T[], state: R): DidMutate;\n function addAllMutably(entities: any[], state: any): DidMutate {\n state.ids = [];\n state.entities = {};\n\n addManyMutably(entities, state);\n\n return DidMutate.Both;\n }\n\n function removeOneMutably(key: T, state: R): DidMutate;\n function removeOneMutably(key: any, state: any): DidMutate {\n return removeManyMutably([key], state);\n }\n\n function removeManyMutably(keys: T[], state: R): DidMutate;\n function removeManyMutably(predicate: Predicate<T>, state: R): DidMutate;\n function removeManyMutably(\n keysOrPredicate: any[] | Predicate<T>,\n state: any\n ): DidMutate {\n const keys =\n keysOrPredicate instanceof Array\n ? keysOrPredicate\n : state.ids.filter((key: any) => keysOrPredicate(state.entities[key]));\n\n const didMutate =\n keys\n .filter((key: any) => key in state.entities)\n .map((key: any) => delete state.entities[key]).length > 0;\n\n if (didMutate) {\n state.ids = state.ids.filter((id: any) => id in state.entities);\n }\n\n return didMutate ? DidMutate.Both : DidMutate.None;\n }\n\n function removeAll<S extends R>(state: S): S;\n function removeAll<S extends R>(state: any): S {\n return Object.assign({}, state, {\n ids: [],\n entities: {},\n });\n }\n\n function takeNewKey(\n keys: { [id: string]: string },\n update: Update<T>,\n state: R\n ): void;\n function takeNewKey(\n keys: { [id: string]: any },\n update: Update<T>,\n state: any\n ): boolean {\n const original = state.entities[update.id];\n const updated: T = Object.assign({}, original, update.changes);\n const newKey = selectIdValue(updated, selectId);\n const hasNewKey = newKey !== update.id;\n\n if (hasNewKey) {\n keys[update.id] = newKey;\n delete state.entities[update.id];\n }\n\n state.entities[newKey] = updated;\n\n return hasNewKey;\n }\n\n function updateOneMutably(update: Update<T>, state: R): DidMutate;\n function updateOneMutably(update: any, state: any): DidMutate {\n return updateManyMutably([update], state);\n }\n\n function updateManyMutably(updates: Update<T>[], state: R): DidMutate;\n function updateManyMutably(updates: any[], state: any): DidMutate {\n const newKeys: { [id: string]: string } = {};\n\n updates = updates.filter(update => update.id in state.entities);\n\n const didMutateEntities = updates.length > 0;\n\n if (didMutateEntities) {\n const didMutateIds =\n updates.filter(update => takeNewKey(newKeys, update, state)).length > 0;\n\n if (didMutateIds) {\n state.ids = state.ids.map((id: any) => newKeys[id] || id);\n return DidMutate.Both;\n } else {\n return DidMutate.EntitiesOnly;\n }\n }\n\n return DidMutate.None;\n }\n\n function mapMutably(map: EntityMap<T>, state: R): DidMutate;\n function mapMutably(map: any, state: any): DidMutate {\n const changes: Update<T>[] = state.ids.reduce(\n (changes: any[], id: string | number) => {\n const change = map(state.entities[id]);\n if (change !== state.entities[id]) {\n changes.push({ id, changes: change });\n }\n return changes;\n },\n []\n );\n const updates = changes.filter(({ id }) => id in state.entities);\n\n return updateManyMutably(updates, state);\n }\n\n function upsertOneMutably(entity: T, state: R): DidMutate;\n function upsertOneMutably(entity: any, state: any): DidMutate {\n return upsertManyMutably([entity], state);\n }\n\n function upsertManyMutably(entities: T[], state: R): DidMutate;\n function upsertManyMutably(entities: any[], state: any): DidMutate {\n const added: any[] = [];\n const updated: any[] = [];\n\n for (const entity of entities) {\n const id = selectIdValue(entity, selectId);\n if (id in state.entities) {\n updated.push({ id, changes: entity });\n } else {\n added.push(entity);\n }\n }\n\n const didMutateByUpdated = updateManyMutably(updated, state);\n const didMutateByAdded = addManyMutably(added, state);\n\n switch (true) {\n case didMutateByAdded === DidMutate.None &&\n didMutateByUpdated === DidMutate.None:\n return DidMutate.None;\n case didMutateByAdded === DidMutate.Both ||\n didMutateByUpdated === DidMutate.Both:\n return DidMutate.Both;\n default:\n return DidMutate.EntitiesOnly;\n }\n }\n\n return {\n removeAll,\n addOne: createStateOperator(addOneMutably),\n addMany: createStateOperator(addManyMutably),\n addAll: createStateOperator(addAllMutably),\n updateOne: createStateOperator(updateOneMutably),\n updateMany: createStateOperator(updateManyMutably),\n upsertOne: createStateOperator(upsertOneMutably),\n upsertMany: createStateOperator(upsertManyMutably),\n removeOne: createStateOperator(removeOneMutably),\n removeMany: createStateOperator(removeManyMutably),\n map: createStateOperator(mapMutably),\n };\n}\n","import {\n EntityState,\n IdSelector,\n Comparer,\n EntityStateAdapter,\n Update,\n EntityMap,\n} from './models';\nimport { createStateOperator, DidMutate } from './state_adapter';\nimport { createUnsortedStateAdapter } from './unsorted_state_adapter';\nimport { selectIdValue } from './utils';\n\nexport function createSortedStateAdapter<T>(\n selectId: IdSelector<T>,\n sort: Comparer<T>\n): EntityStateAdapter<T>;\nexport function createSortedStateAdapter<T>(selectId: any, sort: any): any {\n type R = EntityState<T>;\n\n const { removeOne, removeMany, removeAll } = createUnsortedStateAdapter(\n selectId\n );\n\n function addOneMutably(entity: T, state: R): DidMutate;\n function addOneMutably(entity: any, state: any): DidMutate {\n return addManyMutably([entity], state);\n }\n\n function addManyMutably(newModels: T[], state: R): DidMutate;\n function addManyMutably(newModels: any[], state: any): DidMutate {\n const models = newModels.filter(\n model => !(selectIdValue(model, selectId) in state.entities)\n );\n\n if (models.length === 0) {\n return DidMutate.None;\n } else {\n merge(models, state);\n return DidMutate.Both;\n }\n }\n\n function addAllMutably(models: T[], state: R): DidMutate;\n function addAllMutably(models: any[], state: any): DidMutate {\n state.entities = {};\n state.ids = [];\n\n addManyMutably(models, state);\n\n return DidMutate.Both;\n }\n\n function updateOneMutably(update: Update<T>, state: R): DidMutate;\n function updateOneMutably(update: any, state: any): DidMutate {\n return updateManyMutably([update], state);\n }\n\n function takeUpdatedModel(models: T[], update: Update<T>, state: R): boolean;\n function takeUpdatedModel(models: any[], update: any, state: any): boolean {\n if (!(update.id in state.entities)) {\n return false;\n }\n\n const original = state.entities[update.id];\n const updated = Object.assign({}, original, update.changes);\n const newKey = selectIdValue(updated, selectId);\n\n delete state.entities[update.id];\n\n models.push(updated);\n\n return newKey !== update.id;\n }\n\n function updateManyMutably(updates: Update<T>[], state: R): DidMutate;\n function updateManyMutably(updates: any[], state: any): DidMutate {\n const models: T[] = [];\n\n const didMutateIds =\n updates.filter(update => takeUpdatedModel(models, update, state)).length >\n 0;\n\n if (models.length === 0) {\n return DidMutate.None;\n } else {\n const originalIds = state.ids;\n const updatedIndexes: any[] = [];\n state.ids = state.ids.filter((id: any, index: number) => {\n if (id in state.entities) {\n return true;\n } else {\n updatedIndexes.push(index);\n return false;\n }\n });\n\n merge(models, state);\n\n if (\n !didMutateIds &&\n updatedIndexes.every((i: number) => state.ids[i] === originalIds[i])\n ) {\n return DidMutate.EntitiesOnly;\n } else {\n return DidMutate.Both;\n }\n }\n }\n\n function mapMutably(map: EntityMap<T>, state: R): DidMutate;\n function mapMutably(updatesOrMap: any, state: any): DidMutate {\n const updates: Update<T>[] = state.ids.reduce(\n (changes: any[], id: string | number) => {\n const change = updatesOrMap(state.entities[id]);\n if (change !== state.entities[id]) {\n changes.push({ id, changes: change });\n }\n return changes;\n },\n []\n );\n\n return updateManyMutably(updates, state);\n }\n\n function upsertOneMutably(entity: T, state: R): DidMutate;\n function upsertOneMutably(entity: any, state: any): DidMutate {\n return upsertManyMutably([entity], state);\n }\n\n function upsertManyMutably(entities: T[], state: R): DidMutate;\n function upsertManyMutably(entities: any[], state: any): DidMutate {\n const added: any[] = [];\n const updated: any[] = [];\n\n for (const entity of entities) {\n const id = selectIdValue(entity, selectId);\n if (id in state.entities) {\n updated.push({ id, changes: entity });\n } else {\n added.push(entity);\n }\n }\n\n const didMutateByUpdated = updateManyMutably(updated, state);\n const didMutateByAdded = addManyMutably(added, state);\n\n switch (true) {\n case didMutateByAdded === DidMutate.None &&\n didMutateByUpdated === DidMutate.None:\n return DidMutate.None;\n case didMutateByAdded === DidMutate.Both ||\n didMutateByUpdated === DidMutate.Both:\n return DidMutate.Both;\n default:\n return DidMutate.EntitiesOnly;\n }\n }\n\n function merge(models: T[], state: R): void;\n function merge(models: any[], state: any): void {\n models.sort(sort);\n\n const ids: any[] = [];\n\n let i = 0;\n let j = 0;\n\n while (i < models.length && j < state.ids.length) {\n const model = models[i];\n const modelId = selectIdValue(model, selectId);\n const entityId = state.ids[j];\n const entity = state.entities[entityId];\n\n if (sort(model, entity) <= 0) {\n ids.push(modelId);\n i++;\n } else {\n ids.push(entityId);\n j++;\n }\n }\n\n if (i < models.length) {\n state.ids = ids.concat(models.slice(i).map(selectId));\n } else {\n state.ids = ids.concat(state.ids.slice(j));\n }\n\n models.forEach((model, i) => {\n state.entities[selectId(model)] = model;\n });\n }\n\n return {\n removeOne,\n removeMany,\n removeAll,\n addOne: createStateOperator(addOneMutably),\n updateOne: createStateOperator(updateOneMutably),\n upsertOne: createStateOperator(upsertOneMutably),\n addAll: createStateOperator(addAllMutably),\n addMany: createStateOperator(addManyMutably),\n updateMany: createStateOperator(updateManyMutably),\n upsertMany: createStateOperator(upsertManyMutably),\n map: createStateOperator(mapMutably),\n };\n}\n","import { createSelector } from '@ngrx/store';\nimport {\n EntityDefinition,\n Comparer,\n IdSelector,\n EntityAdapter,\n} from './models';\nimport { createInitialStateFactory } from './entity_state';\nimport { createSelectorsFactory } from './state_selectors';\nimport { createSortedStateAdapter } from './sorted_state_adapter';\nimport { createUnsortedStateAdapter } from './unsorted_state_adapter';\n\nexport function createEntityAdapter<T>(\n options: {\n selectId?: IdSelector<T>;\n sortComparer?: false | Comparer<T>;\n } = {}\n): EntityAdapter<T> {\n const { selectId, sortComparer }: EntityDefinition<T> = {\n sortComparer: false,\n selectId: (instance: any) => instance.id,\n ...options,\n };\n\n const stateFactory = createInitialStateFactory<T>();\n const selectorsFactory = createSelectorsFactory<T>();\n const stateAdapter = sortComparer\n ? createSortedStateAdapter(selectId, sortComparer)\n : createUnsortedStateAdapter(selectId);\n\n return {\n selectId,\n sortComparer,\n ...stateFactory,\n ...selectorsFactory,\n ...stateAdapter,\n };\n}\n","export type ComparerStr<T> = (a: T, b: T) => string;\nexport type ComparerNum<T> = (a: T, b: T) => number;\n\nexport type Comparer<T> = ComparerNum<T> | ComparerStr<T>;\n\nexport type IdSelectorStr<T> = (model: T) => string;\nexport type IdSelectorNum<T> = (model: T) => number;\n\nexport type IdSelector<T> = IdSelectorStr<T> | IdSelectorNum<T>;\n\nexport interface DictionaryNum<T> {\n [id: number]: T;\n}\n\nexport abstract class Dictionary<T> implements DictionaryNum<T> {\n [id: string]: T;\n}\n\nexport interface UpdateStr<T> {\n id: string;\n changes: Partial<T>;\n}\n\nexport interface UpdateNum<T> {\n id: number;\n changes: Partial<T>;\n}\n\nexport type Update<T> = UpdateStr<T> | UpdateNum<T>;\n\nexport type Predicate<T> = (entity: T) => boolean;\n\nexport type EntityMap<T> = (entity: T) => T;\n\nexport interface EntityState<T> {\n ids: string[] | number[];\n entities: Dictionary<T>;\n}\n\nexport interface EntityDefinition<T> {\n selectId: IdSelector<T>;\n sortComparer: false | Comparer<T>;\n}\n\nexport interface EntityStateAdapter<T> {\n addOne<S extends EntityState<T>>(entity: T, state: S): S;\n addMany<S extends EntityState<T>>(entities: T[], state: S): S;\n addAll<S extends EntityState<T>>(entities: T[], state: S): S;\n\n removeOne<S extends EntityState<T>>(key: string, state: S): S;\n removeOne<S extends EntityState<T>>(key: number, state: S): S;\n\n removeMany<S extends EntityState<T>>(keys: string[], state: S): S;\n removeMany<S extends EntityState<T>>(keys: number[], state: S): S;\n removeMany<S extends EntityState<T>>(predicate: Predicate<T>, state: S): S;\n\n removeAll<S extends EntityState<T>>(state: S): S;\n\n updateOne<S extends EntityState<T>>(update: Update<T>, state: S): S;\n updateMany<S extends EntityState<T>>(updates: Update<T>[], state: S): S;\n\n upsertOne<S extends EntityState<T>>(entity: T, state: S): S;\n upsertMany<S extends EntityState<T>>(entities: T[], state: S): S;\n\n map<S extends EntityState<T>>(map: EntityMap<T>, state: S): S;\n}\n\nexport interface EntitySelectors<T, V> {\n selectIds: (state: V) => string[] | number[];\n selectEntities: (state: V) => Dictionary<T>;\n selectAll: (state: V) => T[];\n selectTotal: (state: V) => number;\n}\n\nexport interface EntityAdapter<T> extends EntityStateAdapter<T> {\n selectId: IdSelector<T>;\n sortComparer: false | Comparer<T>;\n getInitialState(): EntityState<T>;\n getInitialState<S extends object>(state: S): EntityState<T> & S;\n getSelectors(): EntitySelectors<T, EntityState<T>>;\n getSelectors<V>(\n selectState: (state: V) => EntityState<T>\n ): EntitySelectors<T, V>;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/fesm5/entity.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license NgRx
|
|
2
|
+
* @license NgRx 7.0.0-beta.0
|
|
3
3
|
* (c) 2015-2018 Brandon Roberts, Mike Ryan, Rob Wormald, Victor Savkin
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
6
6
|
import { createSelector } from '@ngrx/store';
|
|
7
|
+
import { isDevMode } from '@angular/core';
|
|
7
8
|
|
|
8
9
|
function getInitialEntityState() {
|
|
9
10
|
return {
|
|
@@ -45,13 +46,16 @@ function createSelectorsFactory() {
|
|
|
45
46
|
return { getSelectors: getSelectors };
|
|
46
47
|
}
|
|
47
48
|
|
|
48
|
-
var __assign
|
|
49
|
-
|
|
50
|
-
s = arguments
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
49
|
+
var __assign = (undefined && undefined.__assign) || function () {
|
|
50
|
+
__assign = Object.assign || function(t) {
|
|
51
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
52
|
+
s = arguments[i];
|
|
53
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
54
|
+
t[p] = s[p];
|
|
55
|
+
}
|
|
56
|
+
return t;
|
|
57
|
+
};
|
|
58
|
+
return __assign.apply(this, arguments);
|
|
55
59
|
};
|
|
56
60
|
var __read = (undefined && undefined.__read) || function (o, n) {
|
|
57
61
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
@@ -83,20 +87,28 @@ function createStateOperator(mutator) {
|
|
|
83
87
|
return function operation(arg, state) {
|
|
84
88
|
var clonedEntityState = {
|
|
85
89
|
ids: __spread(state.ids),
|
|
86
|
-
entities: __assign
|
|
90
|
+
entities: __assign({}, state.entities),
|
|
87
91
|
};
|
|
88
92
|
var didMutate = mutator(arg, clonedEntityState);
|
|
89
93
|
if (didMutate === DidMutate.Both) {
|
|
90
94
|
return Object.assign({}, state, clonedEntityState);
|
|
91
95
|
}
|
|
92
96
|
if (didMutate === DidMutate.EntitiesOnly) {
|
|
93
|
-
return __assign
|
|
97
|
+
return __assign({}, state, { entities: clonedEntityState.entities });
|
|
94
98
|
}
|
|
95
99
|
return state;
|
|
96
100
|
};
|
|
97
101
|
}
|
|
98
102
|
|
|
99
|
-
|
|
103
|
+
function selectIdValue(entity, selectId) {
|
|
104
|
+
var key = selectId(entity);
|
|
105
|
+
if (isDevMode() && key === undefined) {
|
|
106
|
+
console.warn('@ngrx/entity: The entity passed to the `selectId` implementation returned undefined.', 'You should probably provide your own `selectId` implementation.', 'The entity that was passed:', entity, 'The `selectId` implementation:', selectId.toString());
|
|
107
|
+
}
|
|
108
|
+
return key;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
var __values = (undefined && undefined.__values) || function (o) {
|
|
100
112
|
var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
|
|
101
113
|
if (m) return m.call(o);
|
|
102
114
|
return {
|
|
@@ -108,7 +120,7 @@ var __values$1 = (undefined && undefined.__values) || function (o) {
|
|
|
108
120
|
};
|
|
109
121
|
function createUnsortedStateAdapter(selectId) {
|
|
110
122
|
function addOneMutably(entity, state) {
|
|
111
|
-
var key =
|
|
123
|
+
var key = selectIdValue(entity, selectId);
|
|
112
124
|
if (key in state.entities) {
|
|
113
125
|
return DidMutate.None;
|
|
114
126
|
}
|
|
@@ -117,9 +129,10 @@ function createUnsortedStateAdapter(selectId) {
|
|
|
117
129
|
return DidMutate.Both;
|
|
118
130
|
}
|
|
119
131
|
function addManyMutably(entities, state) {
|
|
132
|
+
var e_1, _a;
|
|
120
133
|
var didMutate = false;
|
|
121
134
|
try {
|
|
122
|
-
for (var entities_1 = __values
|
|
135
|
+
for (var entities_1 = __values(entities), entities_1_1 = entities_1.next(); !entities_1_1.done; entities_1_1 = entities_1.next()) {
|
|
123
136
|
var entity = entities_1_1.value;
|
|
124
137
|
didMutate = addOneMutably(entity, state) !== DidMutate.None || didMutate;
|
|
125
138
|
}
|
|
@@ -132,7 +145,6 @@ function createUnsortedStateAdapter(selectId) {
|
|
|
132
145
|
finally { if (e_1) throw e_1.error; }
|
|
133
146
|
}
|
|
134
147
|
return didMutate ? DidMutate.Both : DidMutate.None;
|
|
135
|
-
var e_1, _a;
|
|
136
148
|
}
|
|
137
149
|
function addAllMutably(entities, state) {
|
|
138
150
|
state.ids = [];
|
|
@@ -143,7 +155,10 @@ function createUnsortedStateAdapter(selectId) {
|
|
|
143
155
|
function removeOneMutably(key, state) {
|
|
144
156
|
return removeManyMutably([key], state);
|
|
145
157
|
}
|
|
146
|
-
function removeManyMutably(
|
|
158
|
+
function removeManyMutably(keysOrPredicate, state) {
|
|
159
|
+
var keys = keysOrPredicate instanceof Array
|
|
160
|
+
? keysOrPredicate
|
|
161
|
+
: state.ids.filter(function (key) { return keysOrPredicate(state.entities[key]); });
|
|
147
162
|
var didMutate = keys
|
|
148
163
|
.filter(function (key) { return key in state.entities; })
|
|
149
164
|
.map(function (key) { return delete state.entities[key]; }).length > 0;
|
|
@@ -161,7 +176,7 @@ function createUnsortedStateAdapter(selectId) {
|
|
|
161
176
|
function takeNewKey(keys, update, state) {
|
|
162
177
|
var original = state.entities[update.id];
|
|
163
178
|
var updated = Object.assign({}, original, update.changes);
|
|
164
|
-
var newKey =
|
|
179
|
+
var newKey = selectIdValue(updated, selectId);
|
|
165
180
|
var hasNewKey = newKey !== update.id;
|
|
166
181
|
if (hasNewKey) {
|
|
167
182
|
keys[update.id] = newKey;
|
|
@@ -189,16 +204,31 @@ function createUnsortedStateAdapter(selectId) {
|
|
|
189
204
|
}
|
|
190
205
|
return DidMutate.None;
|
|
191
206
|
}
|
|
207
|
+
function mapMutably(map, state) {
|
|
208
|
+
var changes = state.ids.reduce(function (changes, id) {
|
|
209
|
+
var change = map(state.entities[id]);
|
|
210
|
+
if (change !== state.entities[id]) {
|
|
211
|
+
changes.push({ id: id, changes: change });
|
|
212
|
+
}
|
|
213
|
+
return changes;
|
|
214
|
+
}, []);
|
|
215
|
+
var updates = changes.filter(function (_a) {
|
|
216
|
+
var id = _a.id;
|
|
217
|
+
return id in state.entities;
|
|
218
|
+
});
|
|
219
|
+
return updateManyMutably(updates, state);
|
|
220
|
+
}
|
|
192
221
|
function upsertOneMutably(entity, state) {
|
|
193
222
|
return upsertManyMutably([entity], state);
|
|
194
223
|
}
|
|
195
224
|
function upsertManyMutably(entities, state) {
|
|
225
|
+
var e_2, _a;
|
|
196
226
|
var added = [];
|
|
197
227
|
var updated = [];
|
|
198
228
|
try {
|
|
199
|
-
for (var entities_2 = __values
|
|
229
|
+
for (var entities_2 = __values(entities), entities_2_1 = entities_2.next(); !entities_2_1.done; entities_2_1 = entities_2.next()) {
|
|
200
230
|
var entity = entities_2_1.value;
|
|
201
|
-
var id =
|
|
231
|
+
var id = selectIdValue(entity, selectId);
|
|
202
232
|
if (id in state.entities) {
|
|
203
233
|
updated.push({ id: id, changes: entity });
|
|
204
234
|
}
|
|
@@ -226,7 +256,6 @@ function createUnsortedStateAdapter(selectId) {
|
|
|
226
256
|
default:
|
|
227
257
|
return DidMutate.EntitiesOnly;
|
|
228
258
|
}
|
|
229
|
-
var e_2, _a;
|
|
230
259
|
}
|
|
231
260
|
return {
|
|
232
261
|
removeAll: removeAll,
|
|
@@ -239,10 +268,11 @@ function createUnsortedStateAdapter(selectId) {
|
|
|
239
268
|
upsertMany: createStateOperator(upsertManyMutably),
|
|
240
269
|
removeOne: createStateOperator(removeOneMutably),
|
|
241
270
|
removeMany: createStateOperator(removeManyMutably),
|
|
271
|
+
map: createStateOperator(mapMutably),
|
|
242
272
|
};
|
|
243
273
|
}
|
|
244
274
|
|
|
245
|
-
var __values = (undefined && undefined.__values) || function (o) {
|
|
275
|
+
var __values$1 = (undefined && undefined.__values) || function (o) {
|
|
246
276
|
var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
|
|
247
277
|
if (m) return m.call(o);
|
|
248
278
|
return {
|
|
@@ -258,7 +288,7 @@ function createSortedStateAdapter(selectId, sort) {
|
|
|
258
288
|
return addManyMutably([entity], state);
|
|
259
289
|
}
|
|
260
290
|
function addManyMutably(newModels, state) {
|
|
261
|
-
var models = newModels.filter(function (model) { return !(
|
|
291
|
+
var models = newModels.filter(function (model) { return !(selectIdValue(model, selectId) in state.entities); });
|
|
262
292
|
if (models.length === 0) {
|
|
263
293
|
return DidMutate.None;
|
|
264
294
|
}
|
|
@@ -282,7 +312,7 @@ function createSortedStateAdapter(selectId, sort) {
|
|
|
282
312
|
}
|
|
283
313
|
var original = state.entities[update.id];
|
|
284
314
|
var updated = Object.assign({}, original, update.changes);
|
|
285
|
-
var newKey =
|
|
315
|
+
var newKey = selectIdValue(updated, selectId);
|
|
286
316
|
delete state.entities[update.id];
|
|
287
317
|
models.push(updated);
|
|
288
318
|
return newKey !== update.id;
|
|
@@ -316,16 +346,27 @@ function createSortedStateAdapter(selectId, sort) {
|
|
|
316
346
|
}
|
|
317
347
|
}
|
|
318
348
|
}
|
|
349
|
+
function mapMutably(updatesOrMap, state) {
|
|
350
|
+
var updates = state.ids.reduce(function (changes, id) {
|
|
351
|
+
var change = updatesOrMap(state.entities[id]);
|
|
352
|
+
if (change !== state.entities[id]) {
|
|
353
|
+
changes.push({ id: id, changes: change });
|
|
354
|
+
}
|
|
355
|
+
return changes;
|
|
356
|
+
}, []);
|
|
357
|
+
return updateManyMutably(updates, state);
|
|
358
|
+
}
|
|
319
359
|
function upsertOneMutably(entity, state) {
|
|
320
360
|
return upsertManyMutably([entity], state);
|
|
321
361
|
}
|
|
322
362
|
function upsertManyMutably(entities, state) {
|
|
363
|
+
var e_1, _a;
|
|
323
364
|
var added = [];
|
|
324
365
|
var updated = [];
|
|
325
366
|
try {
|
|
326
|
-
for (var entities_1 = __values(entities), entities_1_1 = entities_1.next(); !entities_1_1.done; entities_1_1 = entities_1.next()) {
|
|
367
|
+
for (var entities_1 = __values$1(entities), entities_1_1 = entities_1.next(); !entities_1_1.done; entities_1_1 = entities_1.next()) {
|
|
327
368
|
var entity = entities_1_1.value;
|
|
328
|
-
var id =
|
|
369
|
+
var id = selectIdValue(entity, selectId);
|
|
329
370
|
if (id in state.entities) {
|
|
330
371
|
updated.push({ id: id, changes: entity });
|
|
331
372
|
}
|
|
@@ -353,7 +394,6 @@ function createSortedStateAdapter(selectId, sort) {
|
|
|
353
394
|
default:
|
|
354
395
|
return DidMutate.EntitiesOnly;
|
|
355
396
|
}
|
|
356
|
-
var e_1, _a;
|
|
357
397
|
}
|
|
358
398
|
function merge(models, state) {
|
|
359
399
|
models.sort(sort);
|
|
@@ -362,7 +402,7 @@ function createSortedStateAdapter(selectId, sort) {
|
|
|
362
402
|
var j = 0;
|
|
363
403
|
while (i < models.length && j < state.ids.length) {
|
|
364
404
|
var model = models[i];
|
|
365
|
-
var modelId =
|
|
405
|
+
var modelId = selectIdValue(model, selectId);
|
|
366
406
|
var entityId = state.ids[j];
|
|
367
407
|
var entity = state.entities[entityId];
|
|
368
408
|
if (sort(model, entity) <= 0) {
|
|
@@ -395,29 +435,39 @@ function createSortedStateAdapter(selectId, sort) {
|
|
|
395
435
|
addMany: createStateOperator(addManyMutably),
|
|
396
436
|
updateMany: createStateOperator(updateManyMutably),
|
|
397
437
|
upsertMany: createStateOperator(upsertManyMutably),
|
|
438
|
+
map: createStateOperator(mapMutably),
|
|
398
439
|
};
|
|
399
440
|
}
|
|
400
441
|
|
|
401
|
-
var __assign = (undefined && undefined.__assign) ||
|
|
402
|
-
|
|
403
|
-
s = arguments
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
442
|
+
var __assign$1 = (undefined && undefined.__assign) || function () {
|
|
443
|
+
__assign$1 = Object.assign || function(t) {
|
|
444
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
445
|
+
s = arguments[i];
|
|
446
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
447
|
+
t[p] = s[p];
|
|
448
|
+
}
|
|
449
|
+
return t;
|
|
450
|
+
};
|
|
451
|
+
return __assign$1.apply(this, arguments);
|
|
408
452
|
};
|
|
409
453
|
function createEntityAdapter(options) {
|
|
410
454
|
if (options === void 0) { options = {}; }
|
|
411
|
-
var _a = __assign({ sortComparer: false, selectId: function (instance) { return instance.id; } }, options), selectId = _a.selectId, sortComparer = _a.sortComparer;
|
|
455
|
+
var _a = __assign$1({ sortComparer: false, selectId: function (instance) { return instance.id; } }, options), selectId = _a.selectId, sortComparer = _a.sortComparer;
|
|
412
456
|
var stateFactory = createInitialStateFactory();
|
|
413
457
|
var selectorsFactory = createSelectorsFactory();
|
|
414
458
|
var stateAdapter = sortComparer
|
|
415
459
|
? createSortedStateAdapter(selectId, sortComparer)
|
|
416
460
|
: createUnsortedStateAdapter(selectId);
|
|
417
|
-
return __assign({ selectId: selectId,
|
|
461
|
+
return __assign$1({ selectId: selectId,
|
|
418
462
|
sortComparer: sortComparer }, stateFactory, selectorsFactory, stateAdapter);
|
|
419
463
|
}
|
|
420
464
|
|
|
465
|
+
var Dictionary = /** @class */ (function () {
|
|
466
|
+
function Dictionary() {
|
|
467
|
+
}
|
|
468
|
+
return Dictionary;
|
|
469
|
+
}());
|
|
470
|
+
|
|
421
471
|
/**
|
|
422
472
|
* DO NOT EDIT
|
|
423
473
|
*
|
|
@@ -428,5 +478,5 @@ function createEntityAdapter(options) {
|
|
|
428
478
|
* Generated bundle index. Do not edit.
|
|
429
479
|
*/
|
|
430
480
|
|
|
431
|
-
export { createEntityAdapter };
|
|
481
|
+
export { createEntityAdapter, Dictionary };
|
|
432
482
|
//# sourceMappingURL=entity.js.map
|