UNPKG

@datorama/akita

Version:

State Management Tailored-Made for JS Applications

58 lines 4.84 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { isNil } from './isNil'; import { hasActiveState, isMultiActiveState, resolveActiveEntity } from './activeState'; // @internal /** * @template S, E * @param {?} __0 * @return {?} */ export function removeEntities(_a) { var state = _a.state, ids = _a.ids; var e_1, _b; if (isNil(ids)) return removeAllEntities(state); /** @type {?} */ var entities = state.entities; /** @type {?} */ var newEntities = {}; try { for (var _c = tslib_1.__values(state.ids), _d = _c.next(); !_d.done; _d = _c.next()) { var id = _d.value; if (ids.includes(id) === false) { newEntities[id] = entities[id]; } } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (_d && !_d.done && (_b = _c.return)) _b.call(_c); } finally { if (e_1) throw e_1.error; } } /** @type {?} */ var newState = tslib_1.__assign({}, state, { entities: newEntities, ids: state.ids.filter((/** * @param {?} current * @return {?} */ function (current) { return ids.includes(current) === false; })) }); if (hasActiveState(state)) { newState.active = resolveActiveEntity(newState); } return newState; } // @internal /** * @template S * @param {?} state * @return {?} */ export function removeAllEntities(state) { return tslib_1.__assign({}, state, { entities: {}, ids: [], active: isMultiActiveState(state.active) ? [] : null }); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlRW50aXRpZXMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZGF0b3JhbWEvYWtpdGEvIiwic291cmNlcyI6WyJzcmMvcmVtb3ZlRW50aXRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFReEYsTUFBTSxVQUFVLGNBQWMsQ0FBOEIsRUFBMEM7UUFBeEMsZ0JBQUssRUFBRSxZQUFHOztJQUN0RSxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFBRSxPQUFPLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDOztRQUMxQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVE7O1FBQzNCLFdBQVcsR0FBRyxFQUFFOztRQUVwQixLQUFpQixJQUFBLEtBQUEsaUJBQUEsS0FBSyxDQUFDLEdBQUcsQ0FBQSxnQkFBQSw0QkFBRTtZQUF2QixJQUFNLEVBQUUsV0FBQTtZQUNYLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxLQUFLLEVBQUU7Z0JBQzlCLFdBQVcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDaEM7U0FDRjs7Ozs7Ozs7OztRQUVLLFFBQVEsd0JBQ1QsS0FBSyxJQUNSLFFBQVEsRUFBRSxXQUFXLEVBQ3JCLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU07Ozs7UUFBQyxVQUFBLE9BQU8sSUFBSSxPQUFBLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxFQUEvQixDQUErQixFQUFDLEdBQ2xFO0lBRUQsSUFBSSxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDekIsUUFBUSxDQUFDLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUNqRDtJQUVELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7Ozs7Ozs7QUFHRCxNQUFNLFVBQVUsaUJBQWlCLENBQUksS0FBeUI7SUFDNUQsNEJBQ0ssS0FBSyxJQUNSLFFBQVEsRUFBRSxFQUFFLEVBQ1osR0FBRyxFQUFFLEVBQUUsRUFDUCxNQUFNLEVBQUUsa0JBQWtCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFDcEQ7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5U3RhdGUsIElELCBTdGF0ZVdpdGhBY3RpdmUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGlzTmlsIH0gZnJvbSAnLi9pc05pbCc7XG5pbXBvcnQgeyBoYXNBY3RpdmVTdGF0ZSwgaXNNdWx0aUFjdGl2ZVN0YXRlLCByZXNvbHZlQWN0aXZlRW50aXR5IH0gZnJvbSAnLi9hY3RpdmVTdGF0ZSc7XG5cbmV4cG9ydCB0eXBlIFJlbW92ZUVudGl0aWVzUGFyYW1zPFN0YXRlLCBFbnRpdHk+ID0ge1xuICBzdGF0ZTogU3RhdGVXaXRoQWN0aXZlPFN0YXRlPjtcbiAgaWRzOiBhbnlbXTtcbn07XG5cbi8vIEBpbnRlcm5hbFxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUVudGl0aWVzPFMgZXh0ZW5kcyBFbnRpdHlTdGF0ZTxFPiwgRT4oeyBzdGF0ZSwgaWRzIH06IFJlbW92ZUVudGl0aWVzUGFyYW1zPFMsIEU+KTogUyB7XG4gIGlmIChpc05pbChpZHMpKSByZXR1cm4gcmVtb3ZlQWxsRW50aXRpZXMoc3RhdGUpO1xuICBjb25zdCBlbnRpdGllcyA9IHN0YXRlLmVudGl0aWVzO1xuICBsZXQgbmV3RW50aXRpZXMgPSB7fTtcblxuICBmb3IgKGNvbnN0IGlkIG9mIHN0YXRlLmlkcykge1xuICAgIGlmIChpZHMuaW5jbHVkZXMoaWQpID09PSBmYWxzZSkge1xuICAgICAgbmV3RW50aXRpZXNbaWRdID0gZW50aXRpZXNbaWRdO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IG5ld1N0YXRlID0ge1xuICAgIC4uLnN0YXRlLFxuICAgIGVudGl0aWVzOiBuZXdFbnRpdGllcyxcbiAgICBpZHM6IHN0YXRlLmlkcy5maWx0ZXIoY3VycmVudCA9PiBpZHMuaW5jbHVkZXMoY3VycmVudCkgPT09IGZhbHNlKVxuICB9O1xuXG4gIGlmIChoYXNBY3RpdmVTdGF0ZShzdGF0ZSkpIHtcbiAgICBuZXdTdGF0ZS5hY3RpdmUgPSByZXNvbHZlQWN0aXZlRW50aXR5KG5ld1N0YXRlKTtcbiAgfVxuXG4gIHJldHVybiBuZXdTdGF0ZTtcbn1cblxuLy8gQGludGVybmFsXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlQWxsRW50aXRpZXM8Uz4oc3RhdGU6IFN0YXRlV2l0aEFjdGl2ZTxTPik6IFMge1xuICByZXR1cm4ge1xuICAgIC4uLnN0YXRlLFxuICAgIGVudGl0aWVzOiB7fSxcbiAgICBpZHM6IFtdLFxuICAgIGFjdGl2ZTogaXNNdWx0aUFjdGl2ZVN0YXRlKHN0YXRlLmFjdGl2ZSkgPyBbXSA6IG51bGxcbiAgfTtcbn1cbiJdfQ==