UNPKG

@datorama/akita

Version:

State Management Tailored-Made for JS Applications

60 lines 3.77 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { isUndefined } from './isUndefined'; import { isString } from './isString'; // @internal /** * @template E * @param {?} predicate * @param {?} entities * @return {?} */ export function findEntityByPredicate(predicate, entities) { var e_1, _a; try { for (var _b = tslib_1.__values(Object.keys(entities)), _c = _b.next(); !_c.done; _c = _b.next()) { var entityId = _c.value; if (predicate(entities[entityId]) === true) { return entityId; } } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (_c && !_c.done && (_a = _b.return)) _a.call(_b); } finally { if (e_1) throw e_1.error; } } return undefined; } // @internal /** * @param {?} id * @param {?} project * @return {?} */ export function getEntity(id, project) { return (/** * @param {?} entities * @return {?} */ function (entities) { /** @type {?} */ var 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0RW50aXR5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGRhdG9yYW1hL2FraXRhLyIsInNvdXJjZXMiOlsic3JjL2dldEVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQzs7Ozs7Ozs7QUFJdEMsTUFBTSxVQUFVLHFCQUFxQixDQUFJLFNBQTJCLEVBQUUsUUFBUTs7O1FBQzFFLEtBQXNCLElBQUEsS0FBQSxpQkFBQSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBLGdCQUFBLDRCQUFFO1lBQXpDLElBQU0sUUFBUSxXQUFBO1lBQ2hCLElBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRTtnQkFDekMsT0FBTyxRQUFRLENBQUM7YUFDakI7U0FDRjs7Ozs7Ozs7O0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDckIsQ0FBQzs7Ozs7OztBQUdELE1BQU0sVUFBVSxTQUFTLENBQUUsRUFBRSxFQUFFLE9BQU87SUFDcEM7Ozs7SUFBTyxVQUFTLFFBQVE7O1lBQ2hCLE1BQU0sR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBRTNCLElBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3RCLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsSUFBRyxDQUFDLE9BQU8sRUFBRTtZQUNYLE9BQU8sTUFBTSxDQUFDO1NBQ2Y7UUFFRCxJQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNwQixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUN4QjtRQUVELE9BQU8sQ0FBQyxtQkFBQSxPQUFPLEVBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLENBQUMsRUFBQztBQUVKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1VuZGVmaW5lZCB9IGZyb20gJy4vaXNVbmRlZmluZWQnO1xuaW1wb3J0IHsgaXNTdHJpbmcgfSBmcm9tICcuL2lzU3RyaW5nJztcbmltcG9ydCB7IEl0ZW1QcmVkaWNhdGUgfSBmcm9tICcuL3R5cGVzJztcblxuLy8gQGludGVybmFsXG5leHBvcnQgZnVuY3Rpb24gZmluZEVudGl0eUJ5UHJlZGljYXRlPEU+KHByZWRpY2F0ZTogSXRlbVByZWRpY2F0ZTxFPiwgZW50aXRpZXMpIHtcbiAgICBmb3IoY29uc3QgZW50aXR5SWQgb2YgT2JqZWN0LmtleXMoZW50aXRpZXMpKSB7XG4gICAgICBpZihwcmVkaWNhdGUoZW50aXRpZXNbZW50aXR5SWRdKSA9PT0gdHJ1ZSkge1xuICAgICAgICByZXR1cm4gZW50aXR5SWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuLy8gQGludGVybmFsXG5leHBvcnQgZnVuY3Rpb24gZ2V0RW50aXR5KCBpZCwgcHJvamVjdCApIHtcbiAgcmV0dXJuIGZ1bmN0aW9uKGVudGl0aWVzKSB7XG4gICAgY29uc3QgZW50aXR5ID0gZW50aXRpZXNbaWRdO1xuXG4gICAgaWYoaXNVbmRlZmluZWQoZW50aXR5KSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZighcHJvamVjdCkge1xuICAgICAgcmV0dXJuIGVudGl0eTtcbiAgICB9XG5cbiAgICBpZihpc1N0cmluZyhwcm9qZWN0KSkge1xuICAgICAgcmV0dXJuIGVudGl0eVtwcm9qZWN0XTtcbiAgICB9XG5cbiAgICByZXR1cm4gKHByb2plY3QgYXMgRnVuY3Rpb24pKGVudGl0eSk7XG4gIH07XG5cbn1cbiJdfQ==