UNPKG

@angular-redux/store

Version:
74 lines 7.15 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { distinctUntilChanged, map } from 'rxjs/operators'; import { getIn } from '../utils/get-in'; import { registerFractalReducer, replaceLocalReducer, } from './fractal-reducer-map'; import { resolveToFunctionSelector, } from './selectors'; /** * @hidden * @template State */ var /** * @hidden * @template State */ SubStore = /** @class */ (function () { function SubStore(rootStore, basePath, localReducer) { var _this = this; this.rootStore = rootStore; this.basePath = basePath; this.dispatch = function (action) { return _this.rootStore.dispatch(tslib_1.__assign({}, ((/** @type {?} */ (action))), { '@angular-redux::fractalkey': JSON.stringify(_this.basePath) })); }; this.getState = function () { return getIn(_this.rootStore.getState(), _this.basePath); }; this.configureSubStore = function (basePath, localReducer) { return new SubStore(_this.rootStore, tslib_1.__spread(_this.basePath, basePath), localReducer); }; this.select = function (selector, comparator) { return _this.rootStore.select(_this.basePath).pipe(map(resolveToFunctionSelector(selector)), distinctUntilChanged(comparator)); }; this.subscribe = function (listener) { /** @type {?} */ var subscription = _this.select().subscribe(listener); return function () { return subscription.unsubscribe(); }; }; this.replaceReducer = function (nextLocalReducer) { return replaceLocalReducer(_this.basePath, nextLocalReducer); }; registerFractalReducer(basePath, localReducer); } return SubStore; }()); /** * @hidden * @template State */ export { SubStore }; if (false) { /** @type {?} */ SubStore.prototype.dispatch; /** @type {?} */ SubStore.prototype.getState; /** @type {?} */ SubStore.prototype.configureSubStore; /** @type {?} */ SubStore.prototype.select; /** @type {?} */ SubStore.prototype.subscribe; /** @type {?} */ SubStore.prototype.replaceReducer; /** * @type {?} * @private */ SubStore.prototype.rootStore; /** * @type {?} * @private */ SubStore.prototype.basePath; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLXN0b3JlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFuZ3VsYXItcmVkdXgvc3RvcmUvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3N1Yi1zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEMsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixtQkFBbUIsR0FDcEIsTUFBTSx1QkFBdUIsQ0FBQztBQUcvQixPQUFPLEVBR0wseUJBQXlCLEdBRTFCLE1BQU0sYUFBYSxDQUFDOzs7OztBQUdyQjs7Ozs7SUFDRSxrQkFDVSxTQUF1QixFQUN2QixRQUFzQixFQUM5QixZQUF1QztRQUh6QyxpQkFNQztRQUxTLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDdkIsYUFBUSxHQUFSLFFBQVEsQ0FBYztRQU1oQyxhQUFRLEdBQXdCLFVBQUEsTUFBTTtZQUNwQyxPQUFBLEtBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxzQkFDbEIsQ0FBQyxtQkFBQSxNQUFNLEVBQU8sQ0FBQyxJQUNsQiw0QkFBNEIsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUksQ0FBQyxRQUFRLENBQUMsSUFDM0Q7UUFIRixDQUdFLENBQUM7UUFFTCxhQUFRLEdBQUcsY0FBYSxPQUFBLEtBQUssQ0FBQyxLQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxFQUFFLEtBQUksQ0FBQyxRQUFRLENBQUMsRUFBL0MsQ0FBK0MsQ0FBQztRQUV4RSxzQkFBaUIsR0FBRyxVQUNsQixRQUFzQixFQUN0QixZQUEwQztZQUUxQyxPQUFBLElBQUksUUFBUSxDQUNWLEtBQUksQ0FBQyxTQUFTLG1CQUNWLEtBQUksQ0FBQyxRQUFRLEVBQUssUUFBUSxHQUM5QixZQUFZLENBQ2I7UUFKRCxDQUlDLENBQUM7UUFFSixXQUFNLEdBQUcsVUFDUCxRQUF5QyxFQUN6QyxVQUF1QjtZQUV2QixPQUFBLEtBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFRLEtBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQzlDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUN4QyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FDakM7UUFIRCxDQUdDLENBQUM7UUFFSixjQUFTLEdBQUcsVUFBQyxRQUFvQjs7Z0JBQ3pCLFlBQVksR0FBRyxLQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztZQUN0RCxPQUFPLGNBQU0sT0FBQSxZQUFZLENBQUMsV0FBVyxFQUFFLEVBQTFCLENBQTBCLENBQUM7UUFDMUMsQ0FBQyxDQUFDO1FBRUYsbUJBQWMsR0FBRyxVQUFDLGdCQUEyQztZQUMzRCxPQUFBLG1CQUFtQixDQUFDLEtBQUksQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUM7UUFBcEQsQ0FBb0QsQ0FBQztRQXBDckQsc0JBQXNCLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFvQ0gsZUFBQztBQUFELENBQUMsQUEzQ0QsSUEyQ0M7Ozs7Ozs7O0lBbENDLDRCQUlLOztJQUVMLDRCQUF3RTs7SUFFeEUscUNBUUk7O0lBRUosMEJBT0k7O0lBRUosNkJBR0U7O0lBRUYsa0NBQ3VEOzs7OztJQXhDckQsNkJBQStCOzs7OztJQUMvQiw0QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbnlBY3Rpb24sIERpc3BhdGNoLCBSZWR1Y2VyIH0gZnJvbSAncmVkdXgnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgZ2V0SW4gfSBmcm9tICcuLi91dGlscy9nZXQtaW4nO1xuaW1wb3J0IHtcbiAgcmVnaXN0ZXJGcmFjdGFsUmVkdWNlcixcbiAgcmVwbGFjZUxvY2FsUmVkdWNlcixcbn0gZnJvbSAnLi9mcmFjdGFsLXJlZHVjZXItbWFwJztcbmltcG9ydCB7IE5nUmVkdXggfSBmcm9tICcuL25nLXJlZHV4JztcbmltcG9ydCB7IE9ic2VydmFibGVTdG9yZSB9IGZyb20gJy4vb2JzZXJ2YWJsZS1zdG9yZSc7XG5pbXBvcnQge1xuICBDb21wYXJhdG9yLFxuICBQYXRoU2VsZWN0b3IsXG4gIHJlc29sdmVUb0Z1bmN0aW9uU2VsZWN0b3IsXG4gIFNlbGVjdG9yLFxufSBmcm9tICcuL3NlbGVjdG9ycyc7XG5cbi8qKiBAaGlkZGVuICovXG5leHBvcnQgY2xhc3MgU3ViU3RvcmU8U3RhdGU+IGltcGxlbWVudHMgT2JzZXJ2YWJsZVN0b3JlPFN0YXRlPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm9vdFN0b3JlOiBOZ1JlZHV4PGFueT4sXG4gICAgcHJpdmF0ZSBiYXNlUGF0aDogUGF0aFNlbGVjdG9yLFxuICAgIGxvY2FsUmVkdWNlcjogUmVkdWNlcjxTdGF0ZSwgQW55QWN0aW9uPixcbiAgKSB7XG4gICAgcmVnaXN0ZXJGcmFjdGFsUmVkdWNlcihiYXNlUGF0aCwgbG9jYWxSZWR1Y2VyKTtcbiAgfVxuXG4gIGRpc3BhdGNoOiBEaXNwYXRjaDxBbnlBY3Rpb24+ID0gYWN0aW9uID0+XG4gICAgdGhpcy5yb290U3RvcmUuZGlzcGF0Y2goe1xuICAgICAgLi4uKGFjdGlvbiBhcyBhbnkpLFxuICAgICAgJ0Bhbmd1bGFyLXJlZHV4OjpmcmFjdGFsa2V5JzogSlNPTi5zdHJpbmdpZnkodGhpcy5iYXNlUGF0aCksXG4gICAgfSk7XG5cbiAgZ2V0U3RhdGUgPSAoKTogU3RhdGUgPT4gZ2V0SW4odGhpcy5yb290U3RvcmUuZ2V0U3RhdGUoKSwgdGhpcy5iYXNlUGF0aCk7XG5cbiAgY29uZmlndXJlU3ViU3RvcmUgPSA8U3ViU3RhdGU+KFxuICAgIGJhc2VQYXRoOiBQYXRoU2VsZWN0b3IsXG4gICAgbG9jYWxSZWR1Y2VyOiBSZWR1Y2VyPFN1YlN0YXRlLCBBbnlBY3Rpb24+LFxuICApOiBPYnNlcnZhYmxlU3RvcmU8U3ViU3RhdGU+ID0+XG4gICAgbmV3IFN1YlN0b3JlPFN1YlN0YXRlPihcbiAgICAgIHRoaXMucm9vdFN0b3JlLFxuICAgICAgWy4uLnRoaXMuYmFzZVBhdGgsIC4uLmJhc2VQYXRoXSxcbiAgICAgIGxvY2FsUmVkdWNlcixcbiAgICApO1xuXG4gIHNlbGVjdCA9IDxTZWxlY3RlZFN0YXRlPihcbiAgICBzZWxlY3Rvcj86IFNlbGVjdG9yPFN0YXRlLCBTZWxlY3RlZFN0YXRlPixcbiAgICBjb21wYXJhdG9yPzogQ29tcGFyYXRvcixcbiAgKTogT2JzZXJ2YWJsZTxTZWxlY3RlZFN0YXRlPiA9PlxuICAgIHRoaXMucm9vdFN0b3JlLnNlbGVjdDxTdGF0ZT4odGhpcy5iYXNlUGF0aCkucGlwZShcbiAgICAgIG1hcChyZXNvbHZlVG9GdW5jdGlvblNlbGVjdG9yKHNlbGVjdG9yKSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZChjb21wYXJhdG9yKSxcbiAgICApO1xuXG4gIHN1YnNjcmliZSA9IChsaXN0ZW5lcjogKCkgPT4gdm9pZCk6ICgoKSA9PiB2b2lkKSA9PiB7XG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5zZWxlY3QoKS5zdWJzY3JpYmUobGlzdGVuZXIpO1xuICAgIHJldHVybiAoKSA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfTtcblxuICByZXBsYWNlUmVkdWNlciA9IChuZXh0TG9jYWxSZWR1Y2VyOiBSZWR1Y2VyPFN0YXRlLCBBbnlBY3Rpb24+KSA9PlxuICAgIHJlcGxhY2VMb2NhbFJlZHVjZXIodGhpcy5iYXNlUGF0aCwgbmV4dExvY2FsUmVkdWNlcik7XG59XG4iXX0=