UNPKG

@datorama/akita

Version:

State Management Tailored-Made for JS Applications

48 lines 3.34 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { isUndefined } from './isUndefined'; import { isString } from './isString'; // @internal /** * @template E * @param {?} predicate * @param {?} entities * @return {?} */ export function findEntityByPredicate(predicate, entities) { for (const entityId of Object.keys(entities)) { if (predicate(entities[entityId]) === true) { return entityId; } } return undefined; } // @internal /** * @param {?} id * @param {?} project * @return {?} */ export function getEntity(id, project) { return (/** * @param {?} entities * @return {?} */ function (entities) { /** @type {?} */ const entity = entities[id]; if (isUndefined(entity)) { return undefined; } if (!project) { return entity; } if (isString(project)) { return entity[project]; } return ((/** @type {?} */ (project)))(entity); }); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0RW50aXR5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGRhdG9yYW1hL2FraXRhLyIsInNvdXJjZXMiOlsic3JjL2dldEVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7Ozs7OztBQUl0QyxNQUFNLFVBQVUscUJBQXFCLENBQUksU0FBMkIsRUFBRSxRQUFRO0lBQzFFLEtBQUksTUFBTSxRQUFRLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRTtRQUMzQyxJQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDekMsT0FBTyxRQUFRLENBQUM7U0FDakI7S0FDRjtJQUVELE9BQU8sU0FBUyxDQUFDO0FBQ3JCLENBQUM7Ozs7Ozs7QUFHRCxNQUFNLFVBQVUsU0FBUyxDQUFFLEVBQUUsRUFBRSxPQUFPO0lBQ3BDOzs7O0lBQU8sVUFBUyxRQUFROztjQUNoQixNQUFNLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUUzQixJQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN0QixPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUVELElBQUcsQ0FBQyxPQUFPLEVBQUU7WUFDWCxPQUFPLE1BQU0sQ0FBQztTQUNmO1FBRUQsSUFBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDcEIsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDeEI7UUFFRCxPQUFPLENBQUMsbUJBQUEsT0FBTyxFQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2QyxDQUFDLEVBQUM7QUFFSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNVbmRlZmluZWQgfSBmcm9tICcuL2lzVW5kZWZpbmVkJztcbmltcG9ydCB7IGlzU3RyaW5nIH0gZnJvbSAnLi9pc1N0cmluZyc7XG5pbXBvcnQgeyBJdGVtUHJlZGljYXRlIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8vIEBpbnRlcm5hbFxuZXhwb3J0IGZ1bmN0aW9uIGZpbmRFbnRpdHlCeVByZWRpY2F0ZTxFPihwcmVkaWNhdGU6IEl0ZW1QcmVkaWNhdGU8RT4sIGVudGl0aWVzKSB7XG4gICAgZm9yKGNvbnN0IGVudGl0eUlkIG9mIE9iamVjdC5rZXlzKGVudGl0aWVzKSkge1xuICAgICAgaWYocHJlZGljYXRlKGVudGl0aWVzW2VudGl0eUlkXSkgPT09IHRydWUpIHtcbiAgICAgICAgcmV0dXJuIGVudGl0eUlkO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8vIEBpbnRlcm5hbFxuZXhwb3J0IGZ1bmN0aW9uIGdldEVudGl0eSggaWQsIHByb2plY3QgKSB7XG4gIHJldHVybiBmdW5jdGlvbihlbnRpdGllcykge1xuICAgIGNvbnN0IGVudGl0eSA9IGVudGl0aWVzW2lkXTtcblxuICAgIGlmKGlzVW5kZWZpbmVkKGVudGl0eSkpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYoIXByb2plY3QpIHtcbiAgICAgIHJldHVybiBlbnRpdHk7XG4gICAgfVxuXG4gICAgaWYoaXNTdHJpbmcocHJvamVjdCkpIHtcbiAgICAgIHJldHVybiBlbnRpdHlbcHJvamVjdF07XG4gICAgfVxuXG4gICAgcmV0dXJuIChwcm9qZWN0IGFzIEZ1bmN0aW9uKShlbnRpdHkpO1xuICB9O1xuXG59XG4iXX0=