UNPKG

@angular-redux/store

Version:
32 lines 4.19 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { getIn } from '../utils/get-in'; /** * @hidden * @type {?} */ export const sniffSelectorType = (selector) => !selector ? 'nil' : Array.isArray(selector) ? 'path' : 'function' === typeof selector ? 'function' : 'property'; /** * @hidden * @type {?} */ export const resolver = (selector) => ({ property: (state) => state ? state[(/** @type {?} */ (selector))] : undefined, path: (state) => getIn(state, (/** @type {?} */ (selector))), function: (/** @type {?} */ (selector)), nil: (state) => state, }); /** * @hidden * @type {?} */ export const resolveToFunctionSelector = (selector) => resolver(selector)[sniffSelectorType(selector)]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3JzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFuZ3VsYXItcmVkdXgvc3RvcmUvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3NlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQTBCeEMsTUFBTSxPQUFPLGlCQUFpQixHQUFHLENBQy9CLFFBQWlDLEVBQ2pDLEVBQUUsQ0FDRixDQUFDLFFBQVE7SUFDUCxDQUFDLENBQUMsS0FBSztJQUNQLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUN6QixDQUFDLENBQUMsTUFBTTtRQUNSLENBQUMsQ0FBQyxVQUFVLEtBQUssT0FBTyxRQUFRO1lBQ2hDLENBQUMsQ0FBQyxVQUFVO1lBQ1osQ0FBQyxDQUFDLFVBQVU7Ozs7O0FBR2hCLE1BQU0sT0FBTyxRQUFRLEdBQUcsQ0FBZSxRQUFpQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzVFLFFBQVEsRUFBRSxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQ3ZCLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLG1CQUFBLFFBQVEsRUFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO0lBQ3pELElBQUksRUFBRSxDQUFDLEtBQWdCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsbUJBQUEsUUFBUSxFQUFnQixDQUFDO0lBQ2xFLFFBQVEsRUFBRSxtQkFBQSxRQUFRLEVBQWtDO0lBQ3BELEdBQUcsRUFBRSxDQUFDLEtBQWdCLEVBQUUsRUFBRSxDQUFDLEtBQUs7Q0FDakMsQ0FBQzs7Ozs7QUFHRixNQUFNLE9BQU8seUJBQXlCLEdBQUcsQ0FDdkMsUUFBaUMsRUFDakMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGdldEluIH0gZnJvbSAnLi4vdXRpbHMvZ2V0LWluJztcblxuLyoqXG4gKiBDdXN0b20gZXF1YWxpdHkgY2hlY2tlciB0aGF0IGNhbiBiZSB1c2VkIHdpdGggYC5zZWxlY3RgIGFuZCBgQHNlbGVjdGAuXG4gKiBgYGB0c1xuICogY29uc3QgY3VzdG9tQ29tcGFyZTogQ29tcGFyYXRvciA9ICh4OiBhbnksIHk6IGFueSkgPT4ge1xuICogIHJldHVybiB4LmlkID09PSB5LmlkXG4gKiB9XG4gKlxuICogQHNlbGVjdChzZWxlY3RvciwgY3VzdG9tQ29tcGFyZSlcbiAqIGBgYFxuICovXG5leHBvcnQgdHlwZSBDb21wYXJhdG9yID0gKHg6IGFueSwgeTogYW55KSA9PiBib29sZWFuO1xuZXhwb3J0IHR5cGUgVHJhbnNmb3JtZXI8Um9vdFN0YXRlLCBWPiA9IChcbiAgc3RvcmUkOiBPYnNlcnZhYmxlPFJvb3RTdGF0ZT4sXG4gIHNjb3BlOiBhbnksXG4pID0+IE9ic2VydmFibGU8Vj47XG5leHBvcnQgdHlwZSBQcm9wZXJ0eVNlbGVjdG9yID0gc3RyaW5nIHwgbnVtYmVyIHwgc3ltYm9sO1xuZXhwb3J0IHR5cGUgUGF0aFNlbGVjdG9yID0gKHN0cmluZyB8IG51bWJlcilbXTtcbmV4cG9ydCB0eXBlIEZ1bmN0aW9uU2VsZWN0b3I8Um9vdFN0YXRlLCBTPiA9IChzOiBSb290U3RhdGUpID0+IFM7XG5leHBvcnQgdHlwZSBTZWxlY3RvcjxSb290U3RhdGUsIFM+ID1cbiAgfCBQcm9wZXJ0eVNlbGVjdG9yXG4gIHwgUGF0aFNlbGVjdG9yXG4gIHwgRnVuY3Rpb25TZWxlY3RvcjxSb290U3RhdGUsIFM+O1xuXG4vKiogQGhpZGRlbiAqL1xuZXhwb3J0IGNvbnN0IHNuaWZmU2VsZWN0b3JUeXBlID0gPFJvb3RTdGF0ZSwgUz4oXG4gIHNlbGVjdG9yPzogU2VsZWN0b3I8Um9vdFN0YXRlLCBTPixcbikgPT5cbiAgIXNlbGVjdG9yXG4gICAgPyAnbmlsJ1xuICAgIDogQXJyYXkuaXNBcnJheShzZWxlY3RvcilcbiAgICA/ICdwYXRoJ1xuICAgIDogJ2Z1bmN0aW9uJyA9PT0gdHlwZW9mIHNlbGVjdG9yXG4gICAgPyAnZnVuY3Rpb24nXG4gICAgOiAncHJvcGVydHknO1xuXG4vKiogQGhpZGRlbiAqL1xuZXhwb3J0IGNvbnN0IHJlc29sdmVyID0gPFJvb3RTdGF0ZSwgUz4oc2VsZWN0b3I/OiBTZWxlY3RvcjxSb290U3RhdGUsIFM+KSA9PiAoe1xuICBwcm9wZXJ0eTogKHN0YXRlOiBhbnkpID0+XG4gICAgc3RhdGUgPyBzdGF0ZVtzZWxlY3RvciBhcyBQcm9wZXJ0eVNlbGVjdG9yXSA6IHVuZGVmaW5lZCxcbiAgcGF0aDogKHN0YXRlOiBSb290U3RhdGUpID0+IGdldEluKHN0YXRlLCBzZWxlY3RvciBhcyBQYXRoU2VsZWN0b3IpLFxuICBmdW5jdGlvbjogc2VsZWN0b3IgYXMgRnVuY3Rpb25TZWxlY3RvcjxSb290U3RhdGUsIFM+LFxuICBuaWw6IChzdGF0ZTogUm9vdFN0YXRlKSA9PiBzdGF0ZSxcbn0pO1xuXG4vKiogQGhpZGRlbiAqL1xuZXhwb3J0IGNvbnN0IHJlc29sdmVUb0Z1bmN0aW9uU2VsZWN0b3IgPSA8Um9vdFN0YXRlLCBTPihcbiAgc2VsZWN0b3I/OiBTZWxlY3RvcjxSb290U3RhdGUsIFM+LFxuKSA9PiByZXNvbHZlcihzZWxlY3Rvcilbc25pZmZTZWxlY3RvclR5cGUoc2VsZWN0b3IpXTtcbiJdfQ==