UNPKG

@harmowatch/ngx-redux-core

Version:

[![Join the chat at https://gitter.im/harmowatch/ngx-redux-core](https://badges.gitter.im/harmowatch/ngx-redux-core.svg)](https://gitter.im/harmowatch/ngx-redux-core?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

99 lines (98 loc) 5.81 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { BehaviorSubject } from 'rxjs'; import { takeWhile } from 'rxjs/operators'; import { Injectable } from '@angular/core'; import { ReduxStateDecorator } from '@harmowatch/redux-decorators'; var ReduxTestingStore = /** @class */ (function () { function ReduxTestingStore() { this.state = new BehaviorSubject(null); } /** * @return {?} */ ReduxTestingStore.factory = /** * @return {?} */ function () { return new ReduxTestingStore(); }; /** * @template S * @param {?} state * @param {?} value * @return {?} */ ReduxTestingStore.prototype.setState = /** * @template S * @param {?} state * @param {?} value * @return {?} */ function (state, value) { var _this = this; var _a; var name = ReduxStateDecorator.get(state).name; /** @type {?} */ var nextState = Object.assign({}, this.state.getValue(), (_a = {}, _a[name] = value, _a)); this.state.next(nextState); return this.state .pipe(takeWhile(function (currentState) { return currentState !== nextState; })) .toPromise().then(function () { return _this.state.getValue(); }); }; /** * @return {?} */ ReduxTestingStore.prototype.getState = /** * @return {?} */ function () { return this.state.getValue(); }; /** * @param {?} listener * @return {?} */ ReduxTestingStore.prototype.subscribe = /** * @param {?} listener * @return {?} */ function (listener) { return this.state.subscribe.call(this.state, listener); }; /** * @return {?} */ ReduxTestingStore.prototype.replaceReducer = /** * @return {?} */ function () { }; /** * @template T * @param {?} action * @return {?} */ ReduxTestingStore.prototype.dispatch = /** * @template T * @param {?} action * @return {?} */ function (action) { return action; }; ReduxTestingStore.decorators = [ { type: Injectable } ]; return ReduxTestingStore; }()); export { ReduxTestingStore }; if (false) { /** @type {?} */ ReduxTestingStore.prototype.state; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaGFybW93YXRjaC9uZ3gtcmVkdXgtY29yZS8iLCJzb3VyY2VzIjpbInRlc3Rpbmcvc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7OztxQkFNakQsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDOzs7OztJQUUzQix5QkFBTzs7OztRQUNuQixPQUFPLElBQUksaUJBQWlCLEVBQUUsQ0FBQzs7Ozs7Ozs7SUFHMUIsb0NBQVE7Ozs7OztjQUFJLEtBQStCLEVBQUUsS0FBUTs7O1FBQ25ELElBQUEsMENBQUksQ0FBbUM7O1FBRTlDLElBQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ3ZELEdBQUUsSUFBSSxJQUFJLEtBQUs7Z0JBQ2YsQ0FBQztRQUVILElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTNCLE9BQU8sSUFBSSxDQUFDLEtBQUs7YUFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQUEsWUFBWSxJQUFJLE9BQUEsWUFBWSxLQUFLLFNBQVMsRUFBMUIsQ0FBMEIsQ0FBQyxDQUFDO2FBQzNELFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFNLE9BQUEsS0FBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBckIsQ0FBcUIsQ0FBQyxDQUFDOzs7OztJQUc1QyxvQ0FBUTs7OztRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQzs7Ozs7O0lBR3hCLHFDQUFTOzs7O2NBQUMsUUFBb0I7UUFDbkMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQzs7Ozs7SUFHbEQsMENBQWM7Ozs7Ozs7Ozs7SUFHZCxvQ0FBUTs7Ozs7Y0FBbUIsTUFBUztRQUN6QyxPQUFPLE1BQU0sQ0FBQzs7O2dCQW5DakIsVUFBVTs7NEJBUlg7O1NBU2EsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uLCBTdG9yZSwgVW5zdWJzY3JpYmUgfSBmcm9tICdyZWR1eCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEluamVjdGFibGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlZHV4Um9vdFN0YXRlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9yZWR1eC1yb290LXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZWR1eFN0YXRlRGVjb3JhdG9yIH0gZnJvbSAnQGhhcm1vd2F0Y2gvcmVkdXgtZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBSZWR1eFN0YXRlUHJvdmlkZXIgfSBmcm9tICcuLi9wcm92aWRlcnMvcmVkdXgtc3RhdGUucHJvdmlkZXInO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUmVkdXhUZXN0aW5nU3RvcmUgaW1wbGVtZW50cyBTdG9yZTx7fT4ge1xuXG4gIHByaXZhdGUgc3RhdGUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuXG4gIHB1YmxpYyBzdGF0aWMgZmFjdG9yeSgpOiBSZWR1eFRlc3RpbmdTdG9yZSB7XG4gICAgcmV0dXJuIG5ldyBSZWR1eFRlc3RpbmdTdG9yZSgpO1xuICB9XG5cbiAgcHVibGljIHNldFN0YXRlPFM+KHN0YXRlOiBUeXBlPFJlZHV4U3RhdGVQcm92aWRlcj4sIHZhbHVlOiBTKTogUHJvbWlzZTxSZWR1eFJvb3RTdGF0ZT4ge1xuICAgIGNvbnN0IHtuYW1lfSA9IFJlZHV4U3RhdGVEZWNvcmF0b3IuZ2V0KHN0YXRlKTtcblxuICAgIGNvbnN0IG5leHRTdGF0ZSA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuc3RhdGUuZ2V0VmFsdWUoKSwge1xuICAgICAgWyBuYW1lIF06IHZhbHVlLFxuICAgIH0pO1xuXG4gICAgdGhpcy5zdGF0ZS5uZXh0KG5leHRTdGF0ZSk7XG5cbiAgICByZXR1cm4gdGhpcy5zdGF0ZVxuICAgICAgLnBpcGUodGFrZVdoaWxlKGN1cnJlbnRTdGF0ZSA9PiBjdXJyZW50U3RhdGUgIT09IG5leHRTdGF0ZSkpXG4gICAgICAudG9Qcm9taXNlKCkudGhlbigoKSA9PiB0aGlzLnN0YXRlLmdldFZhbHVlKCkpO1xuICB9XG5cbiAgcHVibGljIGdldFN0YXRlKCk6IHt9IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIHN1YnNjcmliZShsaXN0ZW5lcjogKCkgPT4gdm9pZCk6IFVuc3Vic2NyaWJlIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5zdWJzY3JpYmUuY2FsbCh0aGlzLnN0YXRlLCBsaXN0ZW5lcik7XG4gIH1cblxuICBwdWJsaWMgcmVwbGFjZVJlZHVjZXIoKSB7XG4gIH1cblxuICBwdWJsaWMgZGlzcGF0Y2g8VCBleHRlbmRzIEFjdGlvbj4oYWN0aW9uOiBUKTogVCB7XG4gICAgcmV0dXJuIGFjdGlvbjtcbiAgfVxuXG59XG4iXX0=