UNPKG

@datorama/akita

Version:

State Management Tailored-Made for JS Applications

50 lines 4.73 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { DEFAULT_ID_KEY } from './defaultIDKey'; import { coerceArray } from './coerceArray'; import { isObject } from './isObject'; import { isFunction } from './isFunction'; import { not } from './not'; /** * @template Root, Entity * @param {?} keyOrRoot * @param {?} identifier * @param {?=} idKey * @return {?} */ export function arrayRemove(keyOrRoot, identifier, idKey) { if (idKey === void 0) { idKey = DEFAULT_ID_KEY; } /** @type {?} */ var identifiers; /** @type {?} */ var filterFn; if (isFunction(identifier)) { filterFn = not(identifier); } else { identifiers = coerceArray((/** @type {?} */ (identifier))); filterFn = (/** * @param {?} current * @return {?} */ function (current) { return identifiers.includes(isObject(current) ? current[idKey] : current) === false; }); } if (Array.isArray(keyOrRoot)) { return keyOrRoot.filter(filterFn); } return (/** * @param {?} state * @return {?} */ function (state) { var _a; return _a = {}, _a[(/** @type {?} */ (keyOrRoot))] = state[keyOrRoot].filter(filterFn), _a; }); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXlSZW1vdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZGF0b3JhbWEvYWtpdGEvIiwic291cmNlcyI6WyJzcmMvYXJyYXlSZW1vdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sT0FBTyxDQUFDOzs7Ozs7OztBQWlCNUIsTUFBTSxVQUFVLFdBQVcsQ0FBcUIsU0FBdUMsRUFBRSxVQUF1QyxFQUFFLEtBQXNCO0lBQXRCLHNCQUFBLEVBQUEsc0JBQXNCOztRQUNsSixXQUFXOztRQUNYLFFBQVE7SUFFWixJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRTtRQUMxQixRQUFRLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBQzVCO1NBQU07UUFDTCxXQUFXLEdBQUcsV0FBVyxDQUFDLG1CQUFBLFVBQVUsRUFBTyxDQUFDLENBQUM7UUFDN0MsUUFBUTs7OztRQUFHLFVBQUEsT0FBTztZQUNoQixPQUFPLFdBQVcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEtBQUssQ0FBQztRQUN0RixDQUFDLENBQUEsQ0FBQztLQUNIO0lBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1FBQzVCLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUNuQztJQUVEOzs7O0lBQU8sVUFBQSxLQUFLOztRQUNWO1lBQ0UsR0FBQyxtQkFBQSxTQUFTLEVBQVUsSUFBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztlQUN4RDtJQUNKLENBQUMsRUFBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcnJheVByb3BlcnRpZXMsIElEUywgSXRlbVByZWRpY2F0ZSB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgREVGQVVMVF9JRF9LRVkgfSBmcm9tICcuL2RlZmF1bHRJREtleSc7XG5pbXBvcnQgeyBjb2VyY2VBcnJheSB9IGZyb20gJy4vY29lcmNlQXJyYXknO1xuaW1wb3J0IHsgaXNPYmplY3QgfSBmcm9tICcuL2lzT2JqZWN0JztcbmltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tICcuL2lzRnVuY3Rpb24nO1xuaW1wb3J0IHsgbm90IH0gZnJvbSAnLi9ub3QnO1xuXG4vKipcbiAqIFJlbW92ZSBpdGVtIGZyb20gY29sbGVjdGlvblxuICpcbiAqIEBleGFtcGxlXG4gKlxuICpcbiAqIHN0b3JlLnVwZGF0ZShzdGF0ZSA9PiAoe1xuICogICBuYW1lczogYXJyYXlSZW1vdmUoc3RhdGUubmFtZXMsIFsnb25lJywgJ3NlY29uZCddKVxuICogfSkpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcnJheVJlbW92ZTxSb290IGV4dGVuZHMgYW55W10sIEVudGl0eSA9IFJvb3RbMF0+KGtleU9yUm9vdDogUm9vdCwgaWRlbnRpZmllcjogSURTIHwgSXRlbVByZWRpY2F0ZTxSb290WzBdPiwgaWRLZXk/OiBzdHJpbmcpOiBSb290WzBdW107XG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcnJheVJlbW92ZTxSb290LCBFbnRpdHkgPSBhbnk+KGtleU9yUm9vdDogQXJyYXlQcm9wZXJ0aWVzPFJvb3Q+LCBpZGVudGlmaWVyOiBJRFMgfCBJdGVtUHJlZGljYXRlPEVudGl0eT4sIGlkS2V5Pzogc3RyaW5nKTogKHN0YXRlOiBSb290KSA9PiBSb290O1xuZXhwb3J0IGZ1bmN0aW9uIGFycmF5UmVtb3ZlPFJvb3QsIEVudGl0eSA9IGFueT4oa2V5T3JSb290OiBBcnJheVByb3BlcnRpZXM8Um9vdD4gfCBSb290LCBpZGVudGlmaWVyOiBJRFMgfCBJdGVtUHJlZGljYXRlPEVudGl0eT4sIGlkS2V5ID0gREVGQVVMVF9JRF9LRVkpIHtcbiAgbGV0IGlkZW50aWZpZXJzO1xuICBsZXQgZmlsdGVyRm47XG5cbiAgaWYgKGlzRnVuY3Rpb24oaWRlbnRpZmllcikpIHtcbiAgICBmaWx0ZXJGbiA9IG5vdChpZGVudGlmaWVyKTtcbiAgfSBlbHNlIHtcbiAgICBpZGVudGlmaWVycyA9IGNvZXJjZUFycmF5KGlkZW50aWZpZXIgYXMgSURTKTtcbiAgICBmaWx0ZXJGbiA9IGN1cnJlbnQgPT4ge1xuICAgICAgcmV0dXJuIGlkZW50aWZpZXJzLmluY2x1ZGVzKGlzT2JqZWN0KGN1cnJlbnQpID8gY3VycmVudFtpZEtleV0gOiBjdXJyZW50KSA9PT0gZmFsc2U7XG4gICAgfTtcbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KGtleU9yUm9vdCkpIHtcbiAgICByZXR1cm4ga2V5T3JSb290LmZpbHRlcihmaWx0ZXJGbik7XG4gIH1cblxuICByZXR1cm4gc3RhdGUgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBba2V5T3JSb290IGFzIHN0cmluZ106IHN0YXRlW2tleU9yUm9vdF0uZmlsdGVyKGZpbHRlckZuKVxuICAgIH07XG4gIH07XG59XG4iXX0=