@angular-redux/store
Version:
Angular bindings for Redux
36 lines • 4.39 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { getIn } from '../utils/get-in';
/**
* @hidden
* @type {?}
*/
export var sniffSelectorType = function (selector) {
return !selector
? 'nil'
: Array.isArray(selector)
? 'path'
: 'function' === typeof selector
? 'function'
: 'property';
};
/**
* @hidden
* @type {?}
*/
export var resolver = function (selector) { return ({
property: function (state) {
return state ? state[(/** @type {?} */ (selector))] : undefined;
},
path: function (state) { return getIn(state, (/** @type {?} */ (selector))); },
function: (/** @type {?} */ (selector)),
nil: function (state) { return state; },
}); };
/**
* @hidden
* @type {?}
*/
export var resolveToFunctionSelector = function (selector) { return resolver(selector)[sniffSelectorType(selector)]; };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3JzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFuZ3VsYXItcmVkdXgvc3RvcmUvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3NlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQTBCeEMsTUFBTSxLQUFPLGlCQUFpQixHQUFHLFVBQy9CLFFBQWlDO0lBRWpDLE9BQUEsQ0FBQyxRQUFRO1FBQ1AsQ0FBQyxDQUFDLEtBQUs7UUFDUCxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7WUFDekIsQ0FBQyxDQUFDLE1BQU07WUFDUixDQUFDLENBQUMsVUFBVSxLQUFLLE9BQU8sUUFBUTtnQkFDaEMsQ0FBQyxDQUFDLFVBQVU7Z0JBQ1osQ0FBQyxDQUFDLFVBQVU7QUFOZCxDQU1jOzs7OztBQUdoQixNQUFNLEtBQU8sUUFBUSxHQUFHLFVBQWUsUUFBaUMsSUFBSyxPQUFBLENBQUM7SUFDNUUsUUFBUSxFQUFFLFVBQUMsS0FBVTtRQUNuQixPQUFBLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLG1CQUFBLFFBQVEsRUFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO0lBQXZELENBQXVEO0lBQ3pELElBQUksRUFBRSxVQUFDLEtBQWdCLElBQUssT0FBQSxLQUFLLENBQUMsS0FBSyxFQUFFLG1CQUFBLFFBQVEsRUFBZ0IsQ0FBQyxFQUF0QyxDQUFzQztJQUNsRSxRQUFRLEVBQUUsbUJBQUEsUUFBUSxFQUFrQztJQUNwRCxHQUFHLEVBQUUsVUFBQyxLQUFnQixJQUFLLE9BQUEsS0FBSyxFQUFMLENBQUs7Q0FDakMsQ0FBQyxFQU4yRSxDQU0zRTs7Ozs7QUFHRixNQUFNLEtBQU8seUJBQXlCLEdBQUcsVUFDdkMsUUFBaUMsSUFDOUIsT0FBQSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBL0MsQ0FBK0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBnZXRJbiB9IGZyb20gJy4uL3V0aWxzL2dldC1pbic7XG5cbi8qKlxuICogQ3VzdG9tIGVxdWFsaXR5IGNoZWNrZXIgdGhhdCBjYW4gYmUgdXNlZCB3aXRoIGAuc2VsZWN0YCBhbmQgYEBzZWxlY3RgLlxuICogYGBgdHNcbiAqIGNvbnN0IGN1c3RvbUNvbXBhcmU6IENvbXBhcmF0b3IgPSAoeDogYW55LCB5OiBhbnkpID0+IHtcbiAqICByZXR1cm4geC5pZCA9PT0geS5pZFxuICogfVxuICpcbiAqIEBzZWxlY3Qoc2VsZWN0b3IsIGN1c3RvbUNvbXBhcmUpXG4gKiBgYGBcbiAqL1xuZXhwb3J0IHR5cGUgQ29tcGFyYXRvciA9ICh4OiBhbnksIHk6IGFueSkgPT4gYm9vbGVhbjtcbmV4cG9ydCB0eXBlIFRyYW5zZm9ybWVyPFJvb3RTdGF0ZSwgVj4gPSAoXG4gIHN0b3JlJDogT2JzZXJ2YWJsZTxSb290U3RhdGU+LFxuICBzY29wZTogYW55LFxuKSA9PiBPYnNlcnZhYmxlPFY+O1xuZXhwb3J0IHR5cGUgUHJvcGVydHlTZWxlY3RvciA9IHN0cmluZyB8IG51bWJlciB8IHN5bWJvbDtcbmV4cG9ydCB0eXBlIFBhdGhTZWxlY3RvciA9IChzdHJpbmcgfCBudW1iZXIpW107XG5leHBvcnQgdHlwZSBGdW5jdGlvblNlbGVjdG9yPFJvb3RTdGF0ZSwgUz4gPSAoczogUm9vdFN0YXRlKSA9PiBTO1xuZXhwb3J0IHR5cGUgU2VsZWN0b3I8Um9vdFN0YXRlLCBTPiA9XG4gIHwgUHJvcGVydHlTZWxlY3RvclxuICB8IFBhdGhTZWxlY3RvclxuICB8IEZ1bmN0aW9uU2VsZWN0b3I8Um9vdFN0YXRlLCBTPjtcblxuLyoqIEBoaWRkZW4gKi9cbmV4cG9ydCBjb25zdCBzbmlmZlNlbGVjdG9yVHlwZSA9IDxSb290U3RhdGUsIFM+KFxuICBzZWxlY3Rvcj86IFNlbGVjdG9yPFJvb3RTdGF0ZSwgUz4sXG4pID0+XG4gICFzZWxlY3RvclxuICAgID8gJ25pbCdcbiAgICA6IEFycmF5LmlzQXJyYXkoc2VsZWN0b3IpXG4gICAgPyAncGF0aCdcbiAgICA6ICdmdW5jdGlvbicgPT09IHR5cGVvZiBzZWxlY3RvclxuICAgID8gJ2Z1bmN0aW9uJ1xuICAgIDogJ3Byb3BlcnR5JztcblxuLyoqIEBoaWRkZW4gKi9cbmV4cG9ydCBjb25zdCByZXNvbHZlciA9IDxSb290U3RhdGUsIFM+KHNlbGVjdG9yPzogU2VsZWN0b3I8Um9vdFN0YXRlLCBTPikgPT4gKHtcbiAgcHJvcGVydHk6IChzdGF0ZTogYW55KSA9PlxuICAgIHN0YXRlID8gc3RhdGVbc2VsZWN0b3IgYXMgUHJvcGVydHlTZWxlY3Rvcl0gOiB1bmRlZmluZWQsXG4gIHBhdGg6IChzdGF0ZTogUm9vdFN0YXRlKSA9PiBnZXRJbihzdGF0ZSwgc2VsZWN0b3IgYXMgUGF0aFNlbGVjdG9yKSxcbiAgZnVuY3Rpb246IHNlbGVjdG9yIGFzIEZ1bmN0aW9uU2VsZWN0b3I8Um9vdFN0YXRlLCBTPixcbiAgbmlsOiAoc3RhdGU6IFJvb3RTdGF0ZSkgPT4gc3RhdGUsXG59KTtcblxuLyoqIEBoaWRkZW4gKi9cbmV4cG9ydCBjb25zdCByZXNvbHZlVG9GdW5jdGlvblNlbGVjdG9yID0gPFJvb3RTdGF0ZSwgUz4oXG4gIHNlbGVjdG9yPzogU2VsZWN0b3I8Um9vdFN0YXRlLCBTPixcbikgPT4gcmVzb2x2ZXIoc2VsZWN0b3IpW3NuaWZmU2VsZWN0b3JUeXBlKHNlbGVjdG9yKV07XG4iXX0=