Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@ngrx/store

Package Overview
Dependencies
Maintainers
4
Versions
153
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ngrx/store - npm Package Compare versions

Comparing version 4.1.1 to 5.0.0

src/store_module.ngfactory.d.ts

458

@ngrx/store.es5.js

@@ -12,5 +12,7 @@ var __extends = (this && this.__extends) || (function () {

import { Inject, Injectable, InjectionToken, Injector, NgModule } from '@angular/core';
import { Observable as Observable$1 } from 'rxjs/Observable';
import { map as map$1 } from 'rxjs/operator/map';
import { pluck as pluck$1 } from 'rxjs/operator/pluck';
import { distinctUntilChanged as distinctUntilChanged$1 } from 'rxjs/operator/distinctUntilChanged';
import { BehaviorSubject as BehaviorSubject$1 } from 'rxjs/BehaviorSubject';
import { Observable as Observable$1 } from 'rxjs/Observable';
import { Subject as Subject$1 } from 'rxjs/Subject';
import { queue as queue$1 } from 'rxjs/scheduler/queue';

@@ -20,6 +22,67 @@ import { observeOn as observeOn$1 } from 'rxjs/operator/observeOn';

import { scan as scan$1 } from 'rxjs/operator/scan';
import { map as map$1 } from 'rxjs/operator/map';
import { pluck as pluck$1 } from 'rxjs/operator/pluck';
import { distinctUntilChanged as distinctUntilChanged$1 } from 'rxjs/operator/distinctUntilChanged';
import { Subject as Subject$1 } from 'rxjs/Subject';
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
var INIT = ('@ngrx/store/init');
var ActionsSubject = (function (_super) {
__extends(ActionsSubject, _super);
function ActionsSubject() {
return _super.call(this, { type: INIT }) || this;
}
/**
* @param {?} action
* @return {?}
*/
ActionsSubject.prototype.next = function (action) {
if (typeof action === 'undefined') {
throw new TypeError("Actions must be objects");
}
else if (typeof action.type === 'undefined') {
throw new TypeError("Actions must have a type property");
}
_super.prototype.next.call(this, action);
};
/**
* @return {?}
*/
ActionsSubject.prototype.complete = function () {
/* noop */
};
/**
* @return {?}
*/
ActionsSubject.prototype.ngOnDestroy = function () {
_super.prototype.complete.call(this);
};
return ActionsSubject;
}(BehaviorSubject$1));
ActionsSubject.decorators = [
{ type: Injectable },
];
/** @nocollapse */
ActionsSubject.ctorParameters = function () { return []; };
var ACTIONS_SUBJECT_PROVIDERS = [ActionsSubject];
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
var _INITIAL_STATE = new InjectionToken('@ngrx/store Internal Initial State');
var INITIAL_STATE = new InjectionToken('@ngrx/store Initial State');
var REDUCER_FACTORY = new InjectionToken('@ngrx/store Reducer Factory');
var _REDUCER_FACTORY = new InjectionToken('@ngrx/store Reducer Factory Provider');
var INITIAL_REDUCERS = new InjectionToken('@ngrx/store Initial Reducers');
var _INITIAL_REDUCERS = new InjectionToken('@ngrx/store Internal Initial Reducers');
var META_REDUCERS = new InjectionToken('@ngrx/store Meta Reducers');
var STORE_FEATURES = new InjectionToken('@ngrx/store Store Features');
var _STORE_REDUCERS = new InjectionToken('@ngrx/store Internal Store Reducers');
var _FEATURE_REDUCERS = new InjectionToken('@ngrx/store Internal Feature Reducers');
var _FEATURE_REDUCERS_TOKEN = new InjectionToken('@ngrx/store Internal Feature Reducers Token');
var FEATURE_REDUCERS = new InjectionToken('@ngrx/store Feature Reducers');
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* @param {?} reducers

@@ -99,55 +162,18 @@ * @param {?=} initialState

}
var _INITIAL_STATE = new InjectionToken('@ngrx/store Internal Initial State');
var INITIAL_STATE = new InjectionToken('@ngrx/store Initial State');
var REDUCER_FACTORY = new InjectionToken('@ngrx/store Reducer Factory');
var _REDUCER_FACTORY = new InjectionToken('@ngrx/store Reducer Factory Provider');
var INITIAL_REDUCERS = new InjectionToken('@ngrx/store Initial Reducers');
var _INITIAL_REDUCERS = new InjectionToken('@ngrx/store Internal Initial Reducers');
var META_REDUCERS = new InjectionToken('@ngrx/store Meta Reducers');
var STORE_FEATURES = new InjectionToken('@ngrx/store Store Features');
var _STORE_REDUCERS = new InjectionToken('@ngrx/store Internal Store Reducers');
var _FEATURE_REDUCERS = new InjectionToken('@ngrx/store Internal Feature Reducers');
var _FEATURE_REDUCERS_TOKEN = new InjectionToken('@ngrx/store Internal Feature Reducers Token');
var FEATURE_REDUCERS = new InjectionToken('@ngrx/store Feature Reducers');
var INIT = ('@ngrx/store/init');
var ActionsSubject = (function (_super) {
__extends(ActionsSubject, _super);
function ActionsSubject() {
return _super.call(this, { type: INIT }) || this;
/**
* @template T, V
* @param {?} reducer
* @param {?=} metaReducers
* @return {?}
*/
function createFeatureReducer(reducer, metaReducers) {
if (Array.isArray(metaReducers) && metaReducers.length > 0) {
return compose.apply(void 0, metaReducers)(reducer);
}
/**
* @param {?} action
* @return {?}
*/
ActionsSubject.prototype.next = function (action) {
if (typeof action === 'undefined') {
throw new TypeError("Actions must be objects");
}
else if (typeof action.type === 'undefined') {
throw new TypeError("Actions must have a type property");
}
_super.prototype.next.call(this, action);
};
/**
* @return {?}
*/
ActionsSubject.prototype.complete = function () {
/* noop */
};
/**
* @return {?}
*/
ActionsSubject.prototype.ngOnDestroy = function () {
_super.prototype.complete.call(this);
};
return ActionsSubject;
}(BehaviorSubject$1));
ActionsSubject.decorators = [
{ type: Injectable },
];
return reducer;
}
/**
* @nocollapse
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
ActionsSubject.ctorParameters = function () { return []; };
var ACTIONS_SUBJECT_PROVIDERS = [ActionsSubject];
/**

@@ -197,3 +223,3 @@ * @abstract

var /** @type {?} */ reducer = typeof reducers === 'function'
? function (state, action) { return reducers(state || initialState, action); }
? function (state, action) { return createFeatureReducer(reducers, metaReducers)(state || initialState, action); }
: createReducerFactory(reducerFactory, metaReducers)(reducers, initialState);

@@ -246,5 +272,3 @@ this.addReducer(key, reducer);

];
/**
* @nocollapse
*/
/** @nocollapse */
ReducerManager.ctorParameters = function () { return [

@@ -261,2 +285,6 @@ { type: ReducerManagerDispatcher, },

];
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
var ScannedActionsSubject = (function (_super) {

@@ -278,5 +306,3 @@ __extends(ScannedActionsSubject, _super);

];
/**
* @nocollapse
*/
/** @nocollapse */
ScannedActionsSubject.ctorParameters = function () { return []; };

@@ -287,2 +313,6 @@ var SCANNED_ACTIONS_SUBJECT_PROVIDERS = [

/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* @abstract

@@ -307,11 +337,9 @@ */

var _this = _super.call(this, initialState) || this;
var actionsOnQueue$ = observeOn$1.call(actions$, queue$1);
var withLatestReducer$ = withLatestFrom$1.call(actionsOnQueue$, reducer$);
var stateAndAction$ = scan$1.call(withLatestReducer$, reduceState, { state: initialState });
_this.stateSubscription = stateAndAction$.subscribe({
next: function (_a) {
var state = _a.state, action = _a.action;
_this.next(state);
scannedActions.next(action);
},
var /** @type {?} */ actionsOnQueue$ = observeOn$1.call(actions$, queue$1);
var /** @type {?} */ withLatestReducer$ = withLatestFrom$1.call(actionsOnQueue$, reducer$);
var /** @type {?} */ stateAndAction$ = scan$1.call(withLatestReducer$, reduceState, { state: initialState });
_this.stateSubscription = stateAndAction$.subscribe(function (_a) {
var state = _a.state, action = _a.action;
_this.next(state);
scannedActions.next(action);
});

@@ -333,5 +361,3 @@ return _this;

];
/**
* @nocollapse
*/
/** @nocollapse */
State.ctorParameters = function () { return [

@@ -359,2 +385,6 @@ { type: ActionsSubject, },

];
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
var Store = (function (_super) {

@@ -384,14 +414,3 @@ __extends(Store, _super);

}
var /** @type {?} */ mapped$;
if (typeof pathOrMapFn === 'string') {
mapped$ = pluck$1.call.apply(pluck$1, [this, pathOrMapFn].concat(paths));
}
else if (typeof pathOrMapFn === 'function') {
mapped$ = map$1.call(this, pathOrMapFn);
}
else {
throw new TypeError("Unexpected type '" + typeof pathOrMapFn + "' in select operator," +
" expected 'string' or 'function'");
}
return distinctUntilChanged$1.call(mapped$);
return select.apply(void 0, [pathOrMapFn].concat(paths))(this);
};

@@ -458,5 +477,3 @@ /**

];
/**
* @nocollapse
*/
/** @nocollapse */
Store.ctorParameters = function () { return [

@@ -468,2 +485,158 @@ { type: StateObservable, },

var STORE_PROVIDERS = [Store];
/**
* @template T, K
* @param {?} pathOrMapFn
* @param {...?} paths
* @return {?}
*/
function select(pathOrMapFn) {
var paths = [];
for (var _i = 1; _i < arguments.length; _i++) {
paths[_i - 1] = arguments[_i];
}
return function selectOperator(source$) {
var /** @type {?} */ mapped$;
if (typeof pathOrMapFn === 'string') {
mapped$ = pluck$1.call.apply(pluck$1, [source$, pathOrMapFn].concat(paths));
}
else if (typeof pathOrMapFn === 'function') {
mapped$ = map$1.call(source$, pathOrMapFn);
}
else {
throw new TypeError("Unexpected type '" + typeof pathOrMapFn + "' in select operator," +
" expected 'string' or 'function'");
}
return distinctUntilChanged$1.call(mapped$);
};
}
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* @record
*/
/**
* @param {?} a
* @param {?} b
* @return {?}
*/
function isEqualCheck(a, b) {
return a === b;
}
/**
* @param {?} t
* @param {?=} isEqual
* @return {?}
*/
function defaultMemoize(t, isEqual) {
if (isEqual === void 0) { isEqual = isEqualCheck; }
var /** @type {?} */ lastArguments = null;
var /** @type {?} */ lastResult = null;
/**
* @return {?}
*/
function reset() {
lastArguments = null;
lastResult = null;
}
/**
* @return {?}
*/
function memoized() {
if (!lastArguments) {
lastResult = t.apply(null, arguments);
lastArguments = arguments;
return lastResult;
}
for (var /** @type {?} */ i = 0; i < arguments.length; i++) {
if (!isEqual(arguments[i], lastArguments[i])) {
lastResult = t.apply(null, arguments);
lastArguments = arguments;
return lastResult;
}
}
return lastResult;
}
return { memoized: memoized, reset: reset };
}
/**
* @param {...?} input
* @return {?}
*/
function createSelector() {
var input = [];
for (var _i = 0; _i < arguments.length; _i++) {
input[_i] = arguments[_i];
}
return createSelectorFactory(defaultMemoize).apply(void 0, input);
}
/**
* @param {?} state
* @param {?} selectors
* @param {?} memoizedProjector
* @return {?}
*/
function defaultStateFn(state, selectors, memoizedProjector) {
var /** @type {?} */ args = selectors.map(function (fn) { return fn(state); });
return memoizedProjector.memoized.apply(null, args);
}
/**
* @param {?} memoize
* @param {?=} options
* @return {?}
*/
function createSelectorFactory(memoize, options) {
if (options === void 0) { options = {
stateFn: defaultStateFn,
}; }
return function () {
var input = [];
for (var _i = 0; _i < arguments.length; _i++) {
input[_i] = arguments[_i];
}
var /** @type {?} */ args = input;
if (Array.isArray(args[0])) {
var head = args[0], tail = args.slice(1);
args = head.concat(tail);
}
var /** @type {?} */ selectors = args.slice(0, args.length - 1);
var /** @type {?} */ projector = args[args.length - 1];
var /** @type {?} */ memoizedSelectors = selectors.filter(function (selector) { return selector.release && typeof selector.release === 'function'; });
var /** @type {?} */ memoizedProjector = memoize(function () {
var selectors = [];
for (var _i = 0; _i < arguments.length; _i++) {
selectors[_i] = arguments[_i];
}
return projector.apply(null, selectors);
});
var /** @type {?} */ memoizedState = defaultMemoize(function (state) {
return options.stateFn.apply(null, [state, selectors, memoizedProjector]);
});
/**
* @return {?}
*/
function release() {
memoizedState.reset();
memoizedProjector.reset();
memoizedSelectors.forEach(function (selector) { return selector.release(); });
}
return Object.assign(memoizedState.memoized, {
release: release,
projector: memoizedProjector.memoized,
});
};
}
/**
* @template T
* @param {?} featureName
* @return {?}
*/
function createFeatureSelector(featureName) {
return createSelector(function (state) { return state[featureName]; }, function (featureState) { return featureState; });
}
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
var StoreRootModule = (function () {

@@ -482,5 +655,3 @@ /**

];
/**
* @nocollapse
*/
/** @nocollapse */
StoreRootModule.ctorParameters = function () { return [

@@ -503,4 +674,4 @@ { type: ActionsSubject, },

.map(function (feature, index) {
var featureReducerCollection = featureReducers.shift();
var reducers = featureReducerCollection[index];
var /** @type {?} */ featureReducerCollection = featureReducers.shift();
var /** @type {?} */ reducers = featureReducerCollection[index];
return Object.assign({}, feature, { reducers: reducers, initialState: _initialStateFactory(feature.initialState) });

@@ -522,5 +693,3 @@ })

];
/**
* @nocollapse
*/
/** @nocollapse */
StoreFeatureModule.ctorParameters = function () { return [

@@ -630,5 +799,3 @@ { type: Array, decorators: [{ type: Inject, args: [STORE_FEATURES,] },] },

];
/**
* @nocollapse
*/
/** @nocollapse */
StoreModule.ctorParameters = function () { return []; };

@@ -651,5 +818,6 @@ /**

function _createFeatureReducers(injector, reducerCollection, tokenReducerCollection) {
return reducerCollection.map(function (reducer, index) {
var /** @type {?} */ reducers = reducerCollection.map(function (reducer, index) {
return reducer instanceof InjectionToken ? injector.get(reducer) : reducer;
});
return reducers;
}

@@ -667,91 +835,17 @@ /**

/**
* @param {?} t
* @return {?}
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
function memoize(t) {
var /** @type {?} */ lastArguments = null;
var /** @type {?} */ lastResult = null;
/**
* @return {?}
*/
function reset() {
lastArguments = null;
lastResult = null;
}
/**
* @return {?}
*/
function memoized() {
if (!lastArguments) {
lastResult = t.apply(null, arguments);
lastArguments = arguments;
return lastResult;
}
for (var /** @type {?} */ i = 0; i < arguments.length; i++) {
if (arguments[i] !== lastArguments[i]) {
lastResult = t.apply(null, arguments);
lastArguments = arguments;
return lastResult;
}
}
return lastResult;
}
return { memoized: memoized, reset: reset };
}
/**
* @param {...?} input
* @return {?}
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
function createSelector() {
var input = [];
for (var _i = 0; _i < arguments.length; _i++) {
input[_i] = arguments[_i];
}
var /** @type {?} */ args = input;
if (Array.isArray(args[0])) {
var head = args[0], tail = args.slice(1);
args = head.concat(tail);
}
var /** @type {?} */ selectors = args.slice(0, args.length - 1);
var /** @type {?} */ projector = args[args.length - 1];
var /** @type {?} */ memoizedSelectors = selectors.filter(function (selector) { return selector.release && typeof selector.release === 'function'; });
var /** @type {?} */ memoizedProjector = memoize(function () {
var selectors = [];
for (var _i = 0; _i < arguments.length; _i++) {
selectors[_i] = arguments[_i];
}
return projector.apply(null, selectors);
});
var /** @type {?} */ memoizedState = memoize(function (state) {
var /** @type {?} */ args = selectors.map(function (fn) { return fn(state); });
return memoizedProjector.memoized.apply(null, args);
});
/**
* @return {?}
*/
function release() {
memoizedState.reset();
memoizedProjector.reset();
memoizedSelectors.forEach(function (selector) { return selector.release(); });
}
return Object.assign(memoizedState.memoized, {
release: release,
projector: memoizedProjector.memoized,
});
}
/**
* @template T
* @param {?} featureName
* @return {?}
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
function createFeatureSelector(featureName) {
var _a = memoize(function (state) {
return state[featureName];
}), memoized = _a.memoized, reset = _a.reset;
return Object.assign(memoized, { release: reset, projector: memoized });
}
/**
* Generated bundle index. Do not edit.
*/
export { StoreModule, Store, combineReducers, compose, createReducerFactory, ActionsSubject, INIT, ReducerManager, ReducerObservable, ReducerManagerDispatcher, UPDATE, ScannedActionsSubject, createSelector, createFeatureSelector, State, StateObservable, reduceState, INITIAL_STATE, _REDUCER_FACTORY, REDUCER_FACTORY, _INITIAL_REDUCERS, INITIAL_REDUCERS, STORE_FEATURES, _INITIAL_STATE, META_REDUCERS, _STORE_REDUCERS, _FEATURE_REDUCERS, FEATURE_REDUCERS, _FEATURE_REDUCERS_TOKEN, StoreRootModule, StoreFeatureModule, _initialStateFactory, _createStoreReducers, _createFeatureReducers, ACTIONS_SUBJECT_PROVIDERS as ɵc, REDUCER_MANAGER_PROVIDERS as ɵd, SCANNED_ACTIONS_SUBJECT_PROVIDERS as ɵe, STATE_PROVIDERS as ɵf, STORE_PROVIDERS as ɵb };
export { Store, select, combineReducers, compose, createReducerFactory, ActionsSubject, INIT, ReducerManager, ReducerObservable, ReducerManagerDispatcher, UPDATE, ScannedActionsSubject, createSelector, createSelectorFactory, createFeatureSelector, defaultMemoize, defaultStateFn, State, StateObservable, reduceState, INITIAL_STATE, _REDUCER_FACTORY, REDUCER_FACTORY, _INITIAL_REDUCERS, INITIAL_REDUCERS, STORE_FEATURES, _INITIAL_STATE, META_REDUCERS, _STORE_REDUCERS, _FEATURE_REDUCERS, FEATURE_REDUCERS, _FEATURE_REDUCERS_TOKEN, StoreModule, StoreRootModule, StoreFeatureModule, _initialStateFactory, _createStoreReducers, _createFeatureReducers, ACTIONS_SUBJECT_PROVIDERS as ɵc, REDUCER_MANAGER_PROVIDERS as ɵd, SCANNED_ACTIONS_SUBJECT_PROVIDERS as ɵe, STATE_PROVIDERS as ɵf, STORE_PROVIDERS as ɵb };
//# sourceMappingURL=store.es5.js.map
import { Inject, Injectable, InjectionToken, Injector, NgModule } from '@angular/core';
import { Observable as Observable$1 } from 'rxjs/Observable';
import { map as map$1 } from 'rxjs/operator/map';
import { pluck as pluck$1 } from 'rxjs/operator/pluck';
import { distinctUntilChanged as distinctUntilChanged$1 } from 'rxjs/operator/distinctUntilChanged';
import { BehaviorSubject as BehaviorSubject$1 } from 'rxjs/BehaviorSubject';
import { Observable as Observable$1 } from 'rxjs/Observable';
import { Subject as Subject$1 } from 'rxjs/Subject';
import { queue as queue$1 } from 'rxjs/scheduler/queue';

@@ -9,7 +11,68 @@ import { observeOn as observeOn$1 } from 'rxjs/operator/observeOn';

import { scan as scan$1 } from 'rxjs/operator/scan';
import { map as map$1 } from 'rxjs/operator/map';
import { pluck as pluck$1 } from 'rxjs/operator/pluck';
import { distinctUntilChanged as distinctUntilChanged$1 } from 'rxjs/operator/distinctUntilChanged';
import { Subject as Subject$1 } from 'rxjs/Subject';
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
const INIT = /** @type {?} */ ('@ngrx/store/init');
class ActionsSubject extends BehaviorSubject$1 {
constructor() {
super({ type: INIT });
}
/**
* @param {?} action
* @return {?}
*/
next(action) {
if (typeof action === 'undefined') {
throw new TypeError(`Actions must be objects`);
}
else if (typeof action.type === 'undefined') {
throw new TypeError(`Actions must have a type property`);
}
super.next(action);
}
/**
* @return {?}
*/
complete() {
/* noop */
}
/**
* @return {?}
*/
ngOnDestroy() {
super.complete();
}
}
ActionsSubject.decorators = [
{ type: Injectable },
];
/** @nocollapse */
ActionsSubject.ctorParameters = () => [];
const ACTIONS_SUBJECT_PROVIDERS = [ActionsSubject];
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
const _INITIAL_STATE = new InjectionToken('@ngrx/store Internal Initial State');
const INITIAL_STATE = new InjectionToken('@ngrx/store Initial State');
const REDUCER_FACTORY = new InjectionToken('@ngrx/store Reducer Factory');
const _REDUCER_FACTORY = new InjectionToken('@ngrx/store Reducer Factory Provider');
const INITIAL_REDUCERS = new InjectionToken('@ngrx/store Initial Reducers');
const _INITIAL_REDUCERS = new InjectionToken('@ngrx/store Internal Initial Reducers');
const META_REDUCERS = new InjectionToken('@ngrx/store Meta Reducers');
const STORE_FEATURES = new InjectionToken('@ngrx/store Store Features');
const _STORE_REDUCERS = new InjectionToken('@ngrx/store Internal Store Reducers');
const _FEATURE_REDUCERS = new InjectionToken('@ngrx/store Internal Feature Reducers');
const _FEATURE_REDUCERS_TOKEN = new InjectionToken('@ngrx/store Internal Feature Reducers Token');
const FEATURE_REDUCERS = new InjectionToken('@ngrx/store Feature Reducers');
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* @param {?} reducers

@@ -81,56 +144,19 @@ * @param {?=} initialState

}
const _INITIAL_STATE = new InjectionToken('@ngrx/store Internal Initial State');
const INITIAL_STATE = new InjectionToken('@ngrx/store Initial State');
const REDUCER_FACTORY = new InjectionToken('@ngrx/store Reducer Factory');
const _REDUCER_FACTORY = new InjectionToken('@ngrx/store Reducer Factory Provider');
const INITIAL_REDUCERS = new InjectionToken('@ngrx/store Initial Reducers');
const _INITIAL_REDUCERS = new InjectionToken('@ngrx/store Internal Initial Reducers');
const META_REDUCERS = new InjectionToken('@ngrx/store Meta Reducers');
const STORE_FEATURES = new InjectionToken('@ngrx/store Store Features');
const _STORE_REDUCERS = new InjectionToken('@ngrx/store Internal Store Reducers');
const _FEATURE_REDUCERS = new InjectionToken('@ngrx/store Internal Feature Reducers');
const _FEATURE_REDUCERS_TOKEN = new InjectionToken('@ngrx/store Internal Feature Reducers Token');
const FEATURE_REDUCERS = new InjectionToken('@ngrx/store Feature Reducers');
const INIT = ('@ngrx/store/init');
class ActionsSubject extends BehaviorSubject$1 {
constructor() {
super({ type: INIT });
/**
* @template T, V
* @param {?} reducer
* @param {?=} metaReducers
* @return {?}
*/
function createFeatureReducer(reducer, metaReducers) {
if (Array.isArray(metaReducers) && metaReducers.length > 0) {
return compose(...metaReducers)(reducer);
}
/**
* @param {?} action
* @return {?}
*/
next(action) {
if (typeof action === 'undefined') {
throw new TypeError(`Actions must be objects`);
}
else if (typeof action.type === 'undefined') {
throw new TypeError(`Actions must have a type property`);
}
super.next(action);
}
/**
* @return {?}
*/
complete() {
/* noop */
}
/**
* @return {?}
*/
ngOnDestroy() {
super.complete();
}
return reducer;
}
ActionsSubject.decorators = [
{ type: Injectable },
];
/**
* @nocollapse
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
ActionsSubject.ctorParameters = () => [];
const ACTIONS_SUBJECT_PROVIDERS = [ActionsSubject];
/**

@@ -146,3 +172,3 @@ * @abstract

}
const UPDATE = ('@ngrx/store/update-reducers');
const UPDATE = /** @type {?} */ ('@ngrx/store/update-reducers');
class ReducerManager extends BehaviorSubject$1 {

@@ -168,3 +194,3 @@ /**

const /** @type {?} */ reducer = typeof reducers === 'function'
? (state, action) => reducers(state || initialState, action)
? (state, action) => createFeatureReducer(reducers, metaReducers)(state || initialState, action)
: createReducerFactory(reducerFactory, metaReducers)(reducers, initialState);

@@ -214,5 +240,3 @@ this.addReducer(key, reducer);

];
/**
* @nocollapse
*/
/** @nocollapse */
ReducerManager.ctorParameters = () => [

@@ -230,2 +254,6 @@ { type: ReducerManagerDispatcher, },

/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
class ScannedActionsSubject extends Subject$1 {

@@ -242,5 +270,3 @@ /**

];
/**
* @nocollapse
*/
/** @nocollapse */
ScannedActionsSubject.ctorParameters = () => [];

@@ -252,2 +278,6 @@ const SCANNED_ACTIONS_SUBJECT_PROVIDERS = [

/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* @abstract

@@ -266,10 +296,8 @@ */

super(initialState);
const actionsOnQueue$ = observeOn$1.call(actions$, queue$1);
const withLatestReducer$ = withLatestFrom$1.call(actionsOnQueue$, reducer$);
const stateAndAction$ = scan$1.call(withLatestReducer$, reduceState, { state: initialState });
this.stateSubscription = stateAndAction$.subscribe({
next: ({ state, action }) => {
this.next(state);
scannedActions.next(action);
},
const /** @type {?} */ actionsOnQueue$ = observeOn$1.call(actions$, queue$1);
const /** @type {?} */ withLatestReducer$ = withLatestFrom$1.call(actionsOnQueue$, reducer$);
const /** @type {?} */ stateAndAction$ = scan$1.call(withLatestReducer$, reduceState, { state: initialState });
this.stateSubscription = stateAndAction$.subscribe(({ state, action }) => {
this.next(state);
scannedActions.next(action);
});

@@ -289,5 +317,3 @@ }

];
/**
* @nocollapse
*/
/** @nocollapse */
State.ctorParameters = () => [

@@ -314,2 +340,6 @@ { type: ActionsSubject, },

/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
class Store extends Observable$1 {

@@ -333,14 +363,3 @@ /**

select(pathOrMapFn, ...paths) {
let /** @type {?} */ mapped$;
if (typeof pathOrMapFn === 'string') {
mapped$ = pluck$1.call(this, pathOrMapFn, ...paths);
}
else if (typeof pathOrMapFn === 'function') {
mapped$ = map$1.call(this, pathOrMapFn);
}
else {
throw new TypeError(`Unexpected type '${typeof pathOrMapFn}' in select operator,` +
` expected 'string' or 'function'`);
}
return distinctUntilChanged$1.call(mapped$);
return select(pathOrMapFn, ...paths)(this);
}

@@ -406,5 +425,3 @@ /**

];
/**
* @nocollapse
*/
/** @nocollapse */
Store.ctorParameters = () => [

@@ -416,3 +433,143 @@ { type: StateObservable, },

const STORE_PROVIDERS = [Store];
/**
* @template T, K
* @param {?} pathOrMapFn
* @param {...?} paths
* @return {?}
*/
function select(pathOrMapFn, ...paths) {
return function selectOperator(source$) {
let /** @type {?} */ mapped$;
if (typeof pathOrMapFn === 'string') {
mapped$ = pluck$1.call(source$, pathOrMapFn, ...paths);
}
else if (typeof pathOrMapFn === 'function') {
mapped$ = map$1.call(source$, pathOrMapFn);
}
else {
throw new TypeError(`Unexpected type '${typeof pathOrMapFn}' in select operator,` +
` expected 'string' or 'function'`);
}
return distinctUntilChanged$1.call(mapped$);
};
}
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* @record
*/
/**
* @param {?} a
* @param {?} b
* @return {?}
*/
function isEqualCheck(a, b) {
return a === b;
}
/**
* @param {?} t
* @param {?=} isEqual
* @return {?}
*/
function defaultMemoize(t, isEqual = isEqualCheck) {
let /** @type {?} */ lastArguments = null;
let /** @type {?} */ lastResult = null;
/**
* @return {?}
*/
function reset() {
lastArguments = null;
lastResult = null;
}
/**
* @return {?}
*/
function memoized() {
if (!lastArguments) {
lastResult = t.apply(null, arguments);
lastArguments = arguments;
return lastResult;
}
for (let /** @type {?} */ i = 0; i < arguments.length; i++) {
if (!isEqual(arguments[i], lastArguments[i])) {
lastResult = t.apply(null, arguments);
lastArguments = arguments;
return lastResult;
}
}
return lastResult;
}
return { memoized, reset };
}
/**
* @param {...?} input
* @return {?}
*/
function createSelector(...input) {
return createSelectorFactory(defaultMemoize)(...input);
}
/**
* @param {?} state
* @param {?} selectors
* @param {?} memoizedProjector
* @return {?}
*/
function defaultStateFn(state, selectors, memoizedProjector) {
const /** @type {?} */ args = selectors.map(fn => fn(state));
return memoizedProjector.memoized.apply(null, args);
}
/**
* @param {?} memoize
* @param {?=} options
* @return {?}
*/
function createSelectorFactory(memoize, options = {
stateFn: defaultStateFn,
}) {
return function (...input) {
let /** @type {?} */ args = input;
if (Array.isArray(args[0])) {
const [head, ...tail] = args;
args = [...head, ...tail];
}
const /** @type {?} */ selectors = args.slice(0, args.length - 1);
const /** @type {?} */ projector = args[args.length - 1];
const /** @type {?} */ memoizedSelectors = selectors.filter((selector) => selector.release && typeof selector.release === 'function');
const /** @type {?} */ memoizedProjector = memoize(function (...selectors) {
return projector.apply(null, selectors);
});
const /** @type {?} */ memoizedState = defaultMemoize(function (state) {
return options.stateFn.apply(null, [state, selectors, memoizedProjector]);
});
/**
* @return {?}
*/
function release() {
memoizedState.reset();
memoizedProjector.reset();
memoizedSelectors.forEach(selector => selector.release());
}
return Object.assign(memoizedState.memoized, {
release,
projector: memoizedProjector.memoized,
});
};
}
/**
* @template T
* @param {?} featureName
* @return {?}
*/
function createFeatureSelector(featureName) {
return createSelector((state) => state[featureName], (featureState) => featureState);
}
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
class StoreRootModule {

@@ -429,5 +586,3 @@ /**

];
/**
* @nocollapse
*/
/** @nocollapse */
StoreRootModule.ctorParameters = () => [

@@ -450,4 +605,4 @@ { type: ActionsSubject, },

.map((feature, index) => {
const featureReducerCollection = featureReducers.shift();
const reducers = featureReducerCollection[index];
const /** @type {?} */ featureReducerCollection = featureReducers.shift();
const /** @type {?} */ reducers = featureReducerCollection[index];
return Object.assign({}, feature, { reducers, initialState: _initialStateFactory(feature.initialState) });

@@ -467,5 +622,3 @@ })

];
/**
* @nocollapse
*/
/** @nocollapse */
StoreFeatureModule.ctorParameters = () => [

@@ -570,5 +723,3 @@ { type: Array, decorators: [{ type: Inject, args: [STORE_FEATURES,] },] },

];
/**
* @nocollapse
*/
/** @nocollapse */
StoreModule.ctorParameters = () => [];

@@ -591,5 +742,6 @@ /**

function _createFeatureReducers(injector, reducerCollection, tokenReducerCollection) {
return reducerCollection.map((reducer, index) => {
const /** @type {?} */ reducers = reducerCollection.map((reducer, index) => {
return reducer instanceof InjectionToken ? injector.get(reducer) : reducer;
});
return reducers;
}

@@ -608,80 +760,15 @@ /**

/**
* @param {?} t
* @return {?}
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
function memoize(t) {
let /** @type {?} */ lastArguments = null;
let /** @type {?} */ lastResult = null;
/**
* @return {?}
*/
function reset() {
lastArguments = null;
lastResult = null;
}
/**
* @return {?}
*/
function memoized() {
if (!lastArguments) {
lastResult = t.apply(null, arguments);
lastArguments = arguments;
return lastResult;
}
for (let /** @type {?} */ i = 0; i < arguments.length; i++) {
if (arguments[i] !== lastArguments[i]) {
lastResult = t.apply(null, arguments);
lastArguments = arguments;
return lastResult;
}
}
return lastResult;
}
return { memoized, reset };
}
/**
* @param {...?} input
* @return {?}
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
function createSelector(...input) {
let /** @type {?} */ args = input;
if (Array.isArray(args[0])) {
const [head, ...tail] = args;
args = [...head, ...tail];
}
const /** @type {?} */ selectors = args.slice(0, args.length - 1);
const /** @type {?} */ projector = args[args.length - 1];
const /** @type {?} */ memoizedSelectors = selectors.filter((selector) => selector.release && typeof selector.release === 'function');
const /** @type {?} */ memoizedProjector = memoize(function (...selectors) {
return projector.apply(null, selectors);
});
const /** @type {?} */ memoizedState = memoize(function (state) {
const /** @type {?} */ args = selectors.map(fn => fn(state));
return memoizedProjector.memoized.apply(null, args);
});
/**
* @return {?}
*/
function release() {
memoizedState.reset();
memoizedProjector.reset();
memoizedSelectors.forEach(selector => selector.release());
}
return Object.assign(memoizedState.memoized, {
release,
projector: memoizedProjector.memoized,
});
}
/**
* @template T
* @param {?} featureName
* @return {?}
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
function createFeatureSelector(featureName) {
const { memoized, reset } = memoize(function (state) {
return state[featureName];
});
return Object.assign(memoized, { release: reset, projector: memoized });
}
/**

@@ -691,3 +778,3 @@ * Generated bundle index. Do not edit.

export { StoreModule, Store, combineReducers, compose, createReducerFactory, ActionsSubject, INIT, ReducerManager, ReducerObservable, ReducerManagerDispatcher, UPDATE, ScannedActionsSubject, createSelector, createFeatureSelector, State, StateObservable, reduceState, INITIAL_STATE, _REDUCER_FACTORY, REDUCER_FACTORY, _INITIAL_REDUCERS, INITIAL_REDUCERS, STORE_FEATURES, _INITIAL_STATE, META_REDUCERS, _STORE_REDUCERS, _FEATURE_REDUCERS, FEATURE_REDUCERS, _FEATURE_REDUCERS_TOKEN, StoreRootModule, StoreFeatureModule, _initialStateFactory, _createStoreReducers, _createFeatureReducers, ACTIONS_SUBJECT_PROVIDERS as ɵc, REDUCER_MANAGER_PROVIDERS as ɵd, SCANNED_ACTIONS_SUBJECT_PROVIDERS as ɵe, STATE_PROVIDERS as ɵf, STORE_PROVIDERS as ɵb };
export { Store, select, combineReducers, compose, createReducerFactory, ActionsSubject, INIT, ReducerManager, ReducerObservable, ReducerManagerDispatcher, UPDATE, ScannedActionsSubject, createSelector, createSelectorFactory, createFeatureSelector, defaultMemoize, defaultStateFn, State, StateObservable, reduceState, INITIAL_STATE, _REDUCER_FACTORY, REDUCER_FACTORY, _INITIAL_REDUCERS, INITIAL_REDUCERS, STORE_FEATURES, _INITIAL_STATE, META_REDUCERS, _STORE_REDUCERS, _FEATURE_REDUCERS, FEATURE_REDUCERS, _FEATURE_REDUCERS_TOKEN, StoreModule, StoreRootModule, StoreFeatureModule, _initialStateFactory, _createStoreReducers, _createFeatureReducers, ACTIONS_SUBJECT_PROVIDERS as ɵc, REDUCER_MANAGER_PROVIDERS as ɵd, SCANNED_ACTIONS_SUBJECT_PROVIDERS as ɵe, STATE_PROVIDERS as ɵf, STORE_PROVIDERS as ɵb };
//# sourceMappingURL=store.js.map
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs/BehaviorSubject'), require('rxjs/Observable'), require('rxjs/Subject'), require('rxjs/scheduler/queue'), require('rxjs/operator/observeOn'), require('rxjs/operator/withLatestFrom'), require('rxjs/operator/scan'), require('rxjs/operator/map'), require('rxjs/operator/pluck'), require('rxjs/operator/distinctUntilChanged')) :
typeof define === 'function' && define.amd ? define(['exports', '@angular/core', 'rxjs/BehaviorSubject', 'rxjs/Observable', 'rxjs/Subject', 'rxjs/scheduler/queue', 'rxjs/operator/observeOn', 'rxjs/operator/withLatestFrom', 'rxjs/operator/scan', 'rxjs/operator/map', 'rxjs/operator/pluck', 'rxjs/operator/distinctUntilChanged'], factory) :
(factory((global.ngrx = global.ngrx || {}, global.ngrx.store = {}),global.ng.core,global.Rx,global.Rx,global.Rx,global.Rx.Scheduler,global.Rx.Observable.prototype,global.Rx.Observable,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype));
}(this, (function (exports,core,BehaviorSubject,Observable,Subject,queue,observeOn,withLatestFrom,scan,map,pluck,distinctUntilChanged) { 'use strict';
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs/Observable'), require('rxjs/operator/map'), require('rxjs/operator/pluck'), require('rxjs/operator/distinctUntilChanged'), require('rxjs/BehaviorSubject'), require('rxjs/scheduler/queue'), require('rxjs/operator/observeOn'), require('rxjs/operator/withLatestFrom'), require('rxjs/operator/scan'), require('rxjs/Subject')) :
typeof define === 'function' && define.amd ? define(['exports', '@angular/core', 'rxjs/Observable', 'rxjs/operator/map', 'rxjs/operator/pluck', 'rxjs/operator/distinctUntilChanged', 'rxjs/BehaviorSubject', 'rxjs/scheduler/queue', 'rxjs/operator/observeOn', 'rxjs/operator/withLatestFrom', 'rxjs/operator/scan', 'rxjs/Subject'], factory) :
(factory((global.ngrx = global.ngrx || {}, global.ngrx.store = {}),global.ng.core,global.Rx,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx,global.Rx.Scheduler,global.Rx.Observable.prototype,global.Rx.Observable,global.Rx.Observable.prototype,global.Rx));
}(this, (function (exports,core,Observable,map,pluck,distinctUntilChanged,BehaviorSubject,queue,observeOn,withLatestFrom,scan,Subject) { 'use strict';

@@ -18,2 +18,65 @@ var __extends = (undefined && undefined.__extends) || (function () {

/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
var INIT = ('@ngrx/store/init');
var ActionsSubject = (function (_super) {
__extends(ActionsSubject, _super);
function ActionsSubject() {
return _super.call(this, { type: INIT }) || this;
}
/**
* @param {?} action
* @return {?}
*/
ActionsSubject.prototype.next = function (action) {
if (typeof action === 'undefined') {
throw new TypeError("Actions must be objects");
}
else if (typeof action.type === 'undefined') {
throw new TypeError("Actions must have a type property");
}
_super.prototype.next.call(this, action);
};
/**
* @return {?}
*/
ActionsSubject.prototype.complete = function () {
/* noop */
};
/**
* @return {?}
*/
ActionsSubject.prototype.ngOnDestroy = function () {
_super.prototype.complete.call(this);
};
return ActionsSubject;
}(BehaviorSubject.BehaviorSubject));
ActionsSubject.decorators = [
{ type: core.Injectable },
];
/** @nocollapse */
ActionsSubject.ctorParameters = function () { return []; };
var ACTIONS_SUBJECT_PROVIDERS = [ActionsSubject];
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
var _INITIAL_STATE = new core.InjectionToken('@ngrx/store Internal Initial State');
var INITIAL_STATE = new core.InjectionToken('@ngrx/store Initial State');
var REDUCER_FACTORY = new core.InjectionToken('@ngrx/store Reducer Factory');
var _REDUCER_FACTORY = new core.InjectionToken('@ngrx/store Reducer Factory Provider');
var INITIAL_REDUCERS = new core.InjectionToken('@ngrx/store Initial Reducers');
var _INITIAL_REDUCERS = new core.InjectionToken('@ngrx/store Internal Initial Reducers');
var META_REDUCERS = new core.InjectionToken('@ngrx/store Meta Reducers');
var STORE_FEATURES = new core.InjectionToken('@ngrx/store Store Features');
var _STORE_REDUCERS = new core.InjectionToken('@ngrx/store Internal Store Reducers');
var _FEATURE_REDUCERS = new core.InjectionToken('@ngrx/store Internal Feature Reducers');
var _FEATURE_REDUCERS_TOKEN = new core.InjectionToken('@ngrx/store Internal Feature Reducers Token');
var FEATURE_REDUCERS = new core.InjectionToken('@ngrx/store Feature Reducers');
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* @param {?} reducers

@@ -93,55 +156,18 @@ * @param {?=} initialState

}
var _INITIAL_STATE = new core.InjectionToken('@ngrx/store Internal Initial State');
var INITIAL_STATE = new core.InjectionToken('@ngrx/store Initial State');
var REDUCER_FACTORY = new core.InjectionToken('@ngrx/store Reducer Factory');
var _REDUCER_FACTORY = new core.InjectionToken('@ngrx/store Reducer Factory Provider');
var INITIAL_REDUCERS = new core.InjectionToken('@ngrx/store Initial Reducers');
var _INITIAL_REDUCERS = new core.InjectionToken('@ngrx/store Internal Initial Reducers');
var META_REDUCERS = new core.InjectionToken('@ngrx/store Meta Reducers');
var STORE_FEATURES = new core.InjectionToken('@ngrx/store Store Features');
var _STORE_REDUCERS = new core.InjectionToken('@ngrx/store Internal Store Reducers');
var _FEATURE_REDUCERS = new core.InjectionToken('@ngrx/store Internal Feature Reducers');
var _FEATURE_REDUCERS_TOKEN = new core.InjectionToken('@ngrx/store Internal Feature Reducers Token');
var FEATURE_REDUCERS = new core.InjectionToken('@ngrx/store Feature Reducers');
var INIT = ('@ngrx/store/init');
var ActionsSubject = (function (_super) {
__extends(ActionsSubject, _super);
function ActionsSubject() {
return _super.call(this, { type: INIT }) || this;
/**
* @template T, V
* @param {?} reducer
* @param {?=} metaReducers
* @return {?}
*/
function createFeatureReducer(reducer, metaReducers) {
if (Array.isArray(metaReducers) && metaReducers.length > 0) {
return compose.apply(void 0, metaReducers)(reducer);
}
/**
* @param {?} action
* @return {?}
*/
ActionsSubject.prototype.next = function (action) {
if (typeof action === 'undefined') {
throw new TypeError("Actions must be objects");
}
else if (typeof action.type === 'undefined') {
throw new TypeError("Actions must have a type property");
}
_super.prototype.next.call(this, action);
};
/**
* @return {?}
*/
ActionsSubject.prototype.complete = function () {
/* noop */
};
/**
* @return {?}
*/
ActionsSubject.prototype.ngOnDestroy = function () {
_super.prototype.complete.call(this);
};
return ActionsSubject;
}(BehaviorSubject.BehaviorSubject));
ActionsSubject.decorators = [
{ type: core.Injectable },
];
return reducer;
}
/**
* @nocollapse
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
ActionsSubject.ctorParameters = function () { return []; };
var ACTIONS_SUBJECT_PROVIDERS = [ActionsSubject];
/**

@@ -191,3 +217,3 @@ * @abstract

var /** @type {?} */ reducer = typeof reducers === 'function'
? function (state, action) { return reducers(state || initialState, action); }
? function (state, action) { return createFeatureReducer(reducers, metaReducers)(state || initialState, action); }
: createReducerFactory(reducerFactory, metaReducers)(reducers, initialState);

@@ -240,5 +266,3 @@ this.addReducer(key, reducer);

];
/**
* @nocollapse
*/
/** @nocollapse */
ReducerManager.ctorParameters = function () { return [

@@ -255,2 +279,6 @@ { type: ReducerManagerDispatcher, },

];
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
var ScannedActionsSubject = (function (_super) {

@@ -272,5 +300,3 @@ __extends(ScannedActionsSubject, _super);

];
/**
* @nocollapse
*/
/** @nocollapse */
ScannedActionsSubject.ctorParameters = function () { return []; };

@@ -281,2 +307,6 @@ var SCANNED_ACTIONS_SUBJECT_PROVIDERS = [

/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* @abstract

@@ -301,11 +331,9 @@ */

var _this = _super.call(this, initialState) || this;
var actionsOnQueue$ = observeOn.observeOn.call(actions$, queue.queue);
var withLatestReducer$ = withLatestFrom.withLatestFrom.call(actionsOnQueue$, reducer$);
var stateAndAction$ = scan.scan.call(withLatestReducer$, reduceState, { state: initialState });
_this.stateSubscription = stateAndAction$.subscribe({
next: function (_a) {
var state = _a.state, action = _a.action;
_this.next(state);
scannedActions.next(action);
},
var /** @type {?} */ actionsOnQueue$ = observeOn.observeOn.call(actions$, queue.queue);
var /** @type {?} */ withLatestReducer$ = withLatestFrom.withLatestFrom.call(actionsOnQueue$, reducer$);
var /** @type {?} */ stateAndAction$ = scan.scan.call(withLatestReducer$, reduceState, { state: initialState });
_this.stateSubscription = stateAndAction$.subscribe(function (_a) {
var state = _a.state, action = _a.action;
_this.next(state);
scannedActions.next(action);
});

@@ -327,5 +355,3 @@ return _this;

];
/**
* @nocollapse
*/
/** @nocollapse */
State.ctorParameters = function () { return [

@@ -353,2 +379,6 @@ { type: ActionsSubject, },

];
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
var Store = (function (_super) {

@@ -378,14 +408,3 @@ __extends(Store, _super);

}
var /** @type {?} */ mapped$;
if (typeof pathOrMapFn === 'string') {
mapped$ = pluck.pluck.call.apply(pluck.pluck, [this, pathOrMapFn].concat(paths));
}
else if (typeof pathOrMapFn === 'function') {
mapped$ = map.map.call(this, pathOrMapFn);
}
else {
throw new TypeError("Unexpected type '" + typeof pathOrMapFn + "' in select operator," +
" expected 'string' or 'function'");
}
return distinctUntilChanged.distinctUntilChanged.call(mapped$);
return select.apply(void 0, [pathOrMapFn].concat(paths))(this);
};

@@ -452,5 +471,3 @@ /**

];
/**
* @nocollapse
*/
/** @nocollapse */
Store.ctorParameters = function () { return [

@@ -462,2 +479,158 @@ { type: StateObservable, },

var STORE_PROVIDERS = [Store];
/**
* @template T, K
* @param {?} pathOrMapFn
* @param {...?} paths
* @return {?}
*/
function select(pathOrMapFn) {
var paths = [];
for (var _i = 1; _i < arguments.length; _i++) {
paths[_i - 1] = arguments[_i];
}
return function selectOperator(source$) {
var /** @type {?} */ mapped$;
if (typeof pathOrMapFn === 'string') {
mapped$ = pluck.pluck.call.apply(pluck.pluck, [source$, pathOrMapFn].concat(paths));
}
else if (typeof pathOrMapFn === 'function') {
mapped$ = map.map.call(source$, pathOrMapFn);
}
else {
throw new TypeError("Unexpected type '" + typeof pathOrMapFn + "' in select operator," +
" expected 'string' or 'function'");
}
return distinctUntilChanged.distinctUntilChanged.call(mapped$);
};
}
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* @record
*/
/**
* @param {?} a
* @param {?} b
* @return {?}
*/
function isEqualCheck(a, b) {
return a === b;
}
/**
* @param {?} t
* @param {?=} isEqual
* @return {?}
*/
function defaultMemoize(t, isEqual) {
if (isEqual === void 0) { isEqual = isEqualCheck; }
var /** @type {?} */ lastArguments = null;
var /** @type {?} */ lastResult = null;
/**
* @return {?}
*/
function reset() {
lastArguments = null;
lastResult = null;
}
/**
* @return {?}
*/
function memoized() {
if (!lastArguments) {
lastResult = t.apply(null, arguments);
lastArguments = arguments;
return lastResult;
}
for (var /** @type {?} */ i = 0; i < arguments.length; i++) {
if (!isEqual(arguments[i], lastArguments[i])) {
lastResult = t.apply(null, arguments);
lastArguments = arguments;
return lastResult;
}
}
return lastResult;
}
return { memoized: memoized, reset: reset };
}
/**
* @param {...?} input
* @return {?}
*/
function createSelector() {
var input = [];
for (var _i = 0; _i < arguments.length; _i++) {
input[_i] = arguments[_i];
}
return createSelectorFactory(defaultMemoize).apply(void 0, input);
}
/**
* @param {?} state
* @param {?} selectors
* @param {?} memoizedProjector
* @return {?}
*/
function defaultStateFn(state, selectors, memoizedProjector) {
var /** @type {?} */ args = selectors.map(function (fn) { return fn(state); });
return memoizedProjector.memoized.apply(null, args);
}
/**
* @param {?} memoize
* @param {?=} options
* @return {?}
*/
function createSelectorFactory(memoize, options) {
if (options === void 0) { options = {
stateFn: defaultStateFn,
}; }
return function () {
var input = [];
for (var _i = 0; _i < arguments.length; _i++) {
input[_i] = arguments[_i];
}
var /** @type {?} */ args = input;
if (Array.isArray(args[0])) {
var head = args[0], tail = args.slice(1);
args = head.concat(tail);
}
var /** @type {?} */ selectors = args.slice(0, args.length - 1);
var /** @type {?} */ projector = args[args.length - 1];
var /** @type {?} */ memoizedSelectors = selectors.filter(function (selector) { return selector.release && typeof selector.release === 'function'; });
var /** @type {?} */ memoizedProjector = memoize(function () {
var selectors = [];
for (var _i = 0; _i < arguments.length; _i++) {
selectors[_i] = arguments[_i];
}
return projector.apply(null, selectors);
});
var /** @type {?} */ memoizedState = defaultMemoize(function (state) {
return options.stateFn.apply(null, [state, selectors, memoizedProjector]);
});
/**
* @return {?}
*/
function release() {
memoizedState.reset();
memoizedProjector.reset();
memoizedSelectors.forEach(function (selector) { return selector.release(); });
}
return Object.assign(memoizedState.memoized, {
release: release,
projector: memoizedProjector.memoized,
});
};
}
/**
* @template T
* @param {?} featureName
* @return {?}
*/
function createFeatureSelector(featureName) {
return createSelector(function (state) { return state[featureName]; }, function (featureState) { return featureState; });
}
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
var StoreRootModule = (function () {

@@ -476,5 +649,3 @@ /**

];
/**
* @nocollapse
*/
/** @nocollapse */
StoreRootModule.ctorParameters = function () { return [

@@ -497,4 +668,4 @@ { type: ActionsSubject, },

.map(function (feature, index) {
var featureReducerCollection = featureReducers.shift();
var reducers = featureReducerCollection[index];
var /** @type {?} */ featureReducerCollection = featureReducers.shift();
var /** @type {?} */ reducers = featureReducerCollection[index];
return Object.assign({}, feature, { reducers: reducers, initialState: _initialStateFactory(feature.initialState) });

@@ -516,5 +687,3 @@ })

];
/**
* @nocollapse
*/
/** @nocollapse */
StoreFeatureModule.ctorParameters = function () { return [

@@ -624,5 +793,3 @@ { type: Array, decorators: [{ type: core.Inject, args: [STORE_FEATURES,] },] },

];
/**
* @nocollapse
*/
/** @nocollapse */
StoreModule.ctorParameters = function () { return []; };

@@ -645,5 +812,6 @@ /**

function _createFeatureReducers(injector, reducerCollection, tokenReducerCollection) {
return reducerCollection.map(function (reducer, index) {
var /** @type {?} */ reducers = reducerCollection.map(function (reducer, index) {
return reducer instanceof core.InjectionToken ? injector.get(reducer) : reducer;
});
return reducers;
}

@@ -660,91 +828,5 @@ /**

}
/**
* @param {?} t
* @return {?}
*/
function memoize(t) {
var /** @type {?} */ lastArguments = null;
var /** @type {?} */ lastResult = null;
/**
* @return {?}
*/
function reset() {
lastArguments = null;
lastResult = null;
}
/**
* @return {?}
*/
function memoized() {
if (!lastArguments) {
lastResult = t.apply(null, arguments);
lastArguments = arguments;
return lastResult;
}
for (var /** @type {?} */ i = 0; i < arguments.length; i++) {
if (arguments[i] !== lastArguments[i]) {
lastResult = t.apply(null, arguments);
lastArguments = arguments;
return lastResult;
}
}
return lastResult;
}
return { memoized: memoized, reset: reset };
}
/**
* @param {...?} input
* @return {?}
*/
function createSelector() {
var input = [];
for (var _i = 0; _i < arguments.length; _i++) {
input[_i] = arguments[_i];
}
var /** @type {?} */ args = input;
if (Array.isArray(args[0])) {
var head = args[0], tail = args.slice(1);
args = head.concat(tail);
}
var /** @type {?} */ selectors = args.slice(0, args.length - 1);
var /** @type {?} */ projector = args[args.length - 1];
var /** @type {?} */ memoizedSelectors = selectors.filter(function (selector) { return selector.release && typeof selector.release === 'function'; });
var /** @type {?} */ memoizedProjector = memoize(function () {
var selectors = [];
for (var _i = 0; _i < arguments.length; _i++) {
selectors[_i] = arguments[_i];
}
return projector.apply(null, selectors);
});
var /** @type {?} */ memoizedState = memoize(function (state) {
var /** @type {?} */ args = selectors.map(function (fn) { return fn(state); });
return memoizedProjector.memoized.apply(null, args);
});
/**
* @return {?}
*/
function release() {
memoizedState.reset();
memoizedProjector.reset();
memoizedSelectors.forEach(function (selector) { return selector.release(); });
}
return Object.assign(memoizedState.memoized, {
release: release,
projector: memoizedProjector.memoized,
});
}
/**
* @template T
* @param {?} featureName
* @return {?}
*/
function createFeatureSelector(featureName) {
var _a = memoize(function (state) {
return state[featureName];
}), memoized = _a.memoized, reset = _a.reset;
return Object.assign(memoized, { release: reset, projector: memoized });
}
exports.StoreModule = StoreModule;
exports.Store = Store;
exports.select = select;
exports.combineReducers = combineReducers;

@@ -761,3 +843,6 @@ exports.compose = compose;

exports.createSelector = createSelector;
exports.createSelectorFactory = createSelectorFactory;
exports.createFeatureSelector = createFeatureSelector;
exports.defaultMemoize = defaultMemoize;
exports.defaultStateFn = defaultStateFn;
exports.State = State;

@@ -778,2 +863,3 @@ exports.StateObservable = StateObservable;

exports._FEATURE_REDUCERS_TOKEN = _FEATURE_REDUCERS_TOKEN;
exports.StoreModule = StoreModule;
exports.StoreRootModule = StoreRootModule;

@@ -780,0 +866,0 @@ exports.StoreFeatureModule = StoreFeatureModule;

@@ -1,2 +0,1 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("rxjs/BehaviorSubject"),require("rxjs/Observable"),require("rxjs/Subject"),require("rxjs/scheduler/queue"),require("rxjs/operator/observeOn"),require("rxjs/operator/withLatestFrom"),require("rxjs/operator/scan"),require("rxjs/operator/map"),require("rxjs/operator/pluck"),require("rxjs/operator/distinctUntilChanged")):"function"==typeof define&&define.amd?define(["exports","@angular/core","rxjs/BehaviorSubject","rxjs/Observable","rxjs/Subject","rxjs/scheduler/queue","rxjs/operator/observeOn","rxjs/operator/withLatestFrom","rxjs/operator/scan","rxjs/operator/map","rxjs/operator/pluck","rxjs/operator/distinctUntilChanged"],t):t((e.ngrx=e.ngrx||{},e.ngrx.store={}),e.ng.core,e.Rx,e.Rx,e.Rx,e.Rx.Scheduler,e.Rx.Observable.prototype,e.Rx.Observable,e.Rx.Observable.prototype,e.Rx.Observable.prototype,e.Rx.Observable.prototype,e.Rx.Observable.prototype)}(this,function(e,t,r,n,o,c,i,u,a,s,p,l){"use strict";function d(e,t){void 0===t&&(t={});for(var r=Object.keys(e),n={},o=0;o<r.length;o++){var c=r[o];"function"==typeof e[c]&&(n[c]=e[c])}var i=Object.keys(n);return function(e,r){e=e||t;for(var o=!1,c={},u=0;u<i.length;u++){var a=i[u],s=n[a],p=e[a],l=s(p,r);c[a]=l,o=o||l!==p}return o?c:e}}function f(e,t){return Object.keys(e).filter(function(e){return e!==t}).reduce(function(t,r){return Object.assign(t,(n={},n[r]=e[r],n));var n},{})}function y(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(t){if(0===e.length)return t;var r=e[e.length-1];return e.slice(0,-1).reduceRight(function(e,t){return t(e)},r(t))}}function v(e,t){return Array.isArray(t)&&t.length>0?y.apply(null,t.concat([e])):e}function h(e,t){void 0===e&&(e={state:void 0});var r=t[0];return{state:(0,t[1])(e.state,r),action:r}}function g(e,r,n){return r instanceof t.InjectionToken?e.get(r):r}function j(e,r,n){return r.map(function(r,n){return r instanceof t.InjectionToken?e.get(r):r})}function R(e){return"function"==typeof e?e():e}function b(e){function t(){n=null,o=null}function r(){if(!n)return o=e.apply(null,arguments),n=arguments,o;for(var t=0;t<arguments.length;t++)if(arguments[t]!==n[t])return o=e.apply(null,arguments),n=arguments,o;return o}var n=null,o=null;return{memoized:r,reset:t}}function x(){function e(){p.reset(),s.reset(),a.forEach(function(e){return e.release()})}for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];var n=t;if(Array.isArray(n[0])){var o=n[0],c=n.slice(1);n=o.concat(c)}var i=n.slice(0,n.length-1),u=n[n.length-1],a=i.filter(function(e){return e.release&&"function"==typeof e.release}),s=b(function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return u.apply(null,e)}),p=b(function(e){var t=i.map(function(t){return t(e)});return s.memoized.apply(null,t)});return Object.assign(p.memoized,{release:e,projector:s.memoized})}function m(e){var t=b(function(t){return t[e]}),r=t.memoized,n=t.reset;return Object.assign(r,{release:n,projector:r})}var I=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),S=new t.InjectionToken("@ngrx/store Internal Initial State"),O=new t.InjectionToken("@ngrx/store Initial State"),E=new t.InjectionToken("@ngrx/store Reducer Factory"),T=new t.InjectionToken("@ngrx/store Reducer Factory Provider"),F=new t.InjectionToken("@ngrx/store Initial Reducers"),_=new t.InjectionToken("@ngrx/store Internal Initial Reducers"),k=new t.InjectionToken("@ngrx/store Meta Reducers"),w=new t.InjectionToken("@ngrx/store Store Features"),A=new t.InjectionToken("@ngrx/store Internal Store Reducers"),M=new t.InjectionToken("@ngrx/store Internal Feature Reducers"),U=new t.InjectionToken("@ngrx/store Internal Feature Reducers Token"),D=new t.InjectionToken("@ngrx/store Feature Reducers"),q="@ngrx/store/init",C=function(e){function t(){return e.call(this,{type:q})||this}return I(t,e),t.prototype.next=function(t){if(void 0===t)throw new TypeError("Actions must be objects");if(void 0===t.type)throw new TypeError("Actions must have a type property");e.prototype.next.call(this,t)},t.prototype.complete=function(){},t.prototype.ngOnDestroy=function(){e.prototype.complete.call(this)},t}(r.BehaviorSubject);C.decorators=[{type:t.Injectable}],C.ctorParameters=function(){return[]};var P=[C],N=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return I(t,e),t}(n.Observable),L=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return I(t,e),t}(C),V="@ngrx/store/update-reducers",z=function(e){function t(t,r,n,o){var c=e.call(this,o(n,r))||this;return c.dispatcher=t,c.initialState=r,c.reducers=n,c.reducerFactory=o,c}return I(t,e),t.prototype.addFeature=function(e){var t=e.reducers,r=e.reducerFactory,n=e.metaReducers,o=e.initialState,c=e.key,i="function"==typeof t?function(e,r){return t(e||o,r)}:v(r,n)(t,o);this.addReducer(c,i)},t.prototype.removeFeature=function(e){var t=e.key;this.removeReducer(t)},t.prototype.addReducer=function(e,t){this.reducers=Object.assign({},this.reducers,(r={},r[e]=t,r)),this.updateReducers();var r},t.prototype.removeReducer=function(e){this.reducers=f(this.reducers,e),this.updateReducers()},t.prototype.updateReducers=function(){this.next(this.reducerFactory(this.reducers,this.initialState)),this.dispatcher.next({type:V})},t.prototype.ngOnDestroy=function(){this.complete()},t}(r.BehaviorSubject);z.decorators=[{type:t.Injectable}],z.ctorParameters=function(){return[{type:L},{type:void 0,decorators:[{type:t.Inject,args:[O]}]},{type:void 0,decorators:[{type:t.Inject,args:[F]}]},{type:void 0,decorators:[{type:t.Inject,args:[E]}]}]};var B=[z,{provide:N,useExisting:z},{provide:L,useExisting:C}],Y=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return I(t,e),t.prototype.ngOnDestroy=function(){this.complete()},t}(o.Subject);Y.decorators=[{type:t.Injectable}],Y.ctorParameters=function(){return[]};var K=[Y],G=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return I(t,e),t}(n.Observable),H=function(e){function t(t,r,n,o){var s=e.call(this,o)||this,p=i.observeOn.call(t,c.queue),l=u.withLatestFrom.call(p,r),d=a.scan.call(l,h,{state:o});return s.stateSubscription=d.subscribe({next:function(e){var t=e.state,r=e.action;s.next(t),n.next(r)}}),s}return I(t,e),t.prototype.ngOnDestroy=function(){this.stateSubscription.unsubscribe(),this.complete()},t}(r.BehaviorSubject);H.INIT=q,H.decorators=[{type:t.Injectable}],H.ctorParameters=function(){return[{type:C},{type:N},{type:Y},{type:void 0,decorators:[{type:t.Inject,args:[O]}]}]};var J=[H,{provide:G,useExisting:H}],Q=function(e){function t(t,r,n){var o=e.call(this)||this;return o.actionsObserver=r,o.reducerManager=n,o.source=t,o}return I(t,e),t.prototype.select=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];var n;if("string"==typeof e)n=p.pluck.call.apply(p.pluck,[this,e].concat(t));else{if("function"!=typeof e)throw new TypeError("Unexpected type '"+typeof e+"' in select operator, expected 'string' or 'function'");n=s.map.call(this,e)}return l.distinctUntilChanged.call(n)},t.prototype.lift=function(e){var r=new t(this,this.actionsObserver,this.reducerManager);return r.operator=e,r},t.prototype.dispatch=function(e){this.actionsObserver.next(e)},t.prototype.next=function(e){this.actionsObserver.next(e)},t.prototype.error=function(e){this.actionsObserver.error(e)},t.prototype.complete=function(){this.actionsObserver.complete()},t.prototype.addReducer=function(e,t){this.reducerManager.addReducer(e,t)},t.prototype.removeReducer=function(e){this.reducerManager.removeReducer(e)},t}(n.Observable);Q.decorators=[{type:t.Injectable}],Q.ctorParameters=function(){return[{type:G},{type:C},{type:z}]};var W=[Q],X=function(){function e(e,t,r){}return e}();X.decorators=[{type:t.NgModule,args:[{}]}],X.ctorParameters=function(){return[{type:C},{type:N},{type:Y}]};var Z=function(){function e(e,t,r){this.features=e,this.featureReducers=t,this.reducerManager=r,e.map(function(e,r){var n=t.shift(),o=n[r];return Object.assign({},e,{reducers:o,initialState:R(e.initialState)})}).forEach(function(e){return r.addFeature(e)})}return e.prototype.ngOnDestroy=function(){var e=this;this.features.forEach(function(t){return e.reducerManager.removeFeature(t)})},e}();Z.decorators=[{type:t.NgModule,args:[{}]}],Z.ctorParameters=function(){return[{type:Array,decorators:[{type:t.Inject,args:[w]}]},{type:Array,decorators:[{type:t.Inject,args:[D]}]},{type:z}]};var $=function(){function e(){}return e.forRoot=function(e,r){return void 0===r&&(r={}),{ngModule:X,providers:[{provide:S,useValue:r.initialState},{provide:O,useFactory:R,deps:[S]},{provide:_,useValue:e},{provide:A,useExisting:e instanceof t.InjectionToken?e:_},{provide:F,deps:[t.Injector,_,[new t.Inject(A)]],useFactory:g},{provide:k,useValue:r.metaReducers?r.metaReducers:[]},{provide:T,useValue:r.reducerFactory?r.reducerFactory:d},{provide:E,deps:[T,k],useFactory:v},P,B,K,J,W]}},e.forFeature=function(e,r,n){return void 0===n&&(n={}),{ngModule:Z,providers:[{provide:w,multi:!0,useValue:{key:e,reducerFactory:n.reducerFactory?n.reducerFactory:d,metaReducers:n.metaReducers?n.metaReducers:[],initialState:n.initialState}},{provide:M,multi:!0,useValue:r},{provide:U,multi:!0,useExisting:r instanceof t.InjectionToken?r:M},{provide:D,multi:!0,deps:[t.Injector,M,[new t.Inject(U)]],useFactory:j}]}},e}();$.decorators=[{type:t.NgModule,args:[{}]}],$.ctorParameters=function(){return[]},e.StoreModule=$,e.Store=Q,e.combineReducers=d,e.compose=y,e.createReducerFactory=v,e.ActionsSubject=C,e.INIT=q,e.ReducerManager=z,e.ReducerObservable=N,e.ReducerManagerDispatcher=L,e.UPDATE=V,e.ScannedActionsSubject=Y,e.createSelector=x,e.createFeatureSelector=m,e.State=H,e.StateObservable=G,e.reduceState=h,e.INITIAL_STATE=O,e._REDUCER_FACTORY=T,e.REDUCER_FACTORY=E,e._INITIAL_REDUCERS=_,e.INITIAL_REDUCERS=F,e.STORE_FEATURES=w,e._INITIAL_STATE=S,e.META_REDUCERS=k,e._STORE_REDUCERS=A,e._FEATURE_REDUCERS=M,e.FEATURE_REDUCERS=D,e._FEATURE_REDUCERS_TOKEN=U,e.StoreRootModule=X,e.StoreFeatureModule=Z,e._initialStateFactory=R,e._createStoreReducers=g,e._createFeatureReducers=j,e.ɵc=P,e.ɵd=B,e.ɵe=K,e.ɵf=J,e.ɵb=W,Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=./dist/store/bundles/store.umd.min.js.map
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("rxjs/Observable"),require("rxjs/operator/map"),require("rxjs/operator/pluck"),require("rxjs/operator/distinctUntilChanged"),require("rxjs/BehaviorSubject"),require("rxjs/scheduler/queue"),require("rxjs/operator/observeOn"),require("rxjs/operator/withLatestFrom"),require("rxjs/operator/scan"),require("rxjs/Subject")):"function"==typeof define&&define.amd?define(["exports","@angular/core","rxjs/Observable","rxjs/operator/map","rxjs/operator/pluck","rxjs/operator/distinctUntilChanged","rxjs/BehaviorSubject","rxjs/scheduler/queue","rxjs/operator/observeOn","rxjs/operator/withLatestFrom","rxjs/operator/scan","rxjs/Subject"],t):t((e.ngrx=e.ngrx||{},e.ngrx.store={}),e.ng.core,e.Rx,e.Rx.Observable.prototype,e.Rx.Observable.prototype,e.Rx.Observable.prototype,e.Rx,e.Rx.Scheduler,e.Rx.Observable.prototype,e.Rx.Observable,e.Rx.Observable.prototype,e.Rx)}(this,function(e,t,r,n,o,c,u,i,a,s,p,l){"use strict";function d(e,t){void 0===t&&(t={});for(var r=Object.keys(e),n={},o=0;o<r.length;o++){var c=r[o];"function"==typeof e[c]&&(n[c]=e[c])}var u=Object.keys(n);return function(e,r){e=e||t;for(var o=!1,c={},i=0;i<u.length;i++){var a=u[i],s=n[a],p=e[a],l=s(p,r);c[a]=l,o=o||l!==p}return o?c:e}}function f(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(t){if(0===e.length)return t;var r=e[e.length-1];return e.slice(0,-1).reduceRight(function(e,t){return t(e)},r(t))}}function y(e,t){return Array.isArray(t)&&t.length>0?f.apply(null,t.concat([e])):e}function v(e,t){void 0===e&&(e={state:void 0});var r=t[0];return{state:(0,t[1])(e.state,r),action:r}}function h(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return function(r){var u;if("string"==typeof e)u=o.pluck.call.apply(o.pluck,[r,e].concat(t));else{if("function"!=typeof e)throw new TypeError("Unexpected type '"+typeof e+"' in select operator, expected 'string' or 'function'");u=n.map.call(r,e)}return c.distinctUntilChanged.call(u)}}function g(e,t){return e===t}function j(e,t){void 0===t&&(t=g);var r=null,n=null;return{memoized:function(){if(!r)return n=e.apply(null,arguments),r=arguments,n;for(var o=0;o<arguments.length;o++)if(!t(arguments[o],r[o]))return n=e.apply(null,arguments),r=arguments,n;return n},reset:function(){r=null,n=null}}}function R(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return x(j).apply(void 0,e)}function b(e,t,r){var n=t.map(function(t){return t(e)});return r.memoized.apply(null,n)}function x(e,t){return void 0===t&&(t={stateFn:b}),function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];var o=r;if(Array.isArray(o[0])){var c=o[0],u=o.slice(1);o=c.concat(u)}var i=o.slice(0,o.length-1),a=o[o.length-1],s=i.filter(function(e){return e.release&&"function"==typeof e.release}),p=e(function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return a.apply(null,e)}),l=j(function(e){return t.stateFn.apply(null,[e,i,p])});return Object.assign(l.memoized,{release:function(){l.reset(),p.reset(),s.forEach(function(e){return e.release()})},projector:p.memoized})}}function I(e,r,n){return r instanceof t.InjectionToken?e.get(r):r}function m(e,r,n){return r.map(function(r,n){return r instanceof t.InjectionToken?e.get(r):r})}function S(e){return"function"==typeof e?e():e}var E=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),O="@ngrx/store/init",F=function(e){function t(){return e.call(this,{type:O})||this}return E(t,e),t.prototype.next=function(t){if(void 0===t)throw new TypeError("Actions must be objects");if(void 0===t.type)throw new TypeError("Actions must have a type property");e.prototype.next.call(this,t)},t.prototype.complete=function(){},t.prototype.ngOnDestroy=function(){e.prototype.complete.call(this)},t}(u.BehaviorSubject);F.decorators=[{type:t.Injectable}],F.ctorParameters=function(){return[]};var T=[F],_=new t.InjectionToken("@ngrx/store Internal Initial State"),k=new t.InjectionToken("@ngrx/store Initial State"),A=new t.InjectionToken("@ngrx/store Reducer Factory"),w=new t.InjectionToken("@ngrx/store Reducer Factory Provider"),M=new t.InjectionToken("@ngrx/store Initial Reducers"),U=new t.InjectionToken("@ngrx/store Internal Initial Reducers"),D=new t.InjectionToken("@ngrx/store Meta Reducers"),q=new t.InjectionToken("@ngrx/store Store Features"),C=new t.InjectionToken("@ngrx/store Internal Store Reducers"),P=new t.InjectionToken("@ngrx/store Internal Feature Reducers"),N=new t.InjectionToken("@ngrx/store Internal Feature Reducers Token"),L=new t.InjectionToken("@ngrx/store Feature Reducers"),V=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return E(t,e),t}(r.Observable),z=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return E(t,e),t}(F),B="@ngrx/store/update-reducers",Y=function(e){function t(t,r,n,o){var c=e.call(this,o(n,r))||this;return c.dispatcher=t,c.initialState=r,c.reducers=n,c.reducerFactory=o,c}return E(t,e),t.prototype.addFeature=function(e){var t=e.reducers,r=e.reducerFactory,n=e.metaReducers,o=e.initialState,c=e.key,u="function"==typeof t?function(e,r){return function(e,t){return Array.isArray(t)&&t.length>0?f.apply(void 0,t)(e):e}(t,n)(e||o,r)}:y(r,n)(t,o);this.addReducer(c,u)},t.prototype.removeFeature=function(e){var t=e.key;this.removeReducer(t)},t.prototype.addReducer=function(e,t){this.reducers=Object.assign({},this.reducers,(r={},r[e]=t,r)),this.updateReducers();var r},t.prototype.removeReducer=function(e){this.reducers=function(e,t){return Object.keys(e).filter(function(e){return e!==t}).reduce(function(t,r){return Object.assign(t,(n={},n[r]=e[r],n));var n},{})}(this.reducers,e),this.updateReducers()},t.prototype.updateReducers=function(){this.next(this.reducerFactory(this.reducers,this.initialState)),this.dispatcher.next({type:B})},t.prototype.ngOnDestroy=function(){this.complete()},t}(u.BehaviorSubject);Y.decorators=[{type:t.Injectable}],Y.ctorParameters=function(){return[{type:z},{type:void 0,decorators:[{type:t.Inject,args:[k]}]},{type:void 0,decorators:[{type:t.Inject,args:[M]}]},{type:void 0,decorators:[{type:t.Inject,args:[A]}]}]};var K=[Y,{provide:V,useExisting:Y},{provide:z,useExisting:F}],G=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return E(t,e),t.prototype.ngOnDestroy=function(){this.complete()},t}(l.Subject);G.decorators=[{type:t.Injectable}],G.ctorParameters=function(){return[]};var H=[G],J=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return E(t,e),t}(r.Observable),Q=function(e){function t(t,r,n,o){var c=e.call(this,o)||this,u=a.observeOn.call(t,i.queue),l=s.withLatestFrom.call(u,r),d=p.scan.call(l,v,{state:o});return c.stateSubscription=d.subscribe(function(e){var t=e.state,r=e.action;c.next(t),n.next(r)}),c}return E(t,e),t.prototype.ngOnDestroy=function(){this.stateSubscription.unsubscribe(),this.complete()},t}(u.BehaviorSubject);Q.INIT=O,Q.decorators=[{type:t.Injectable}],Q.ctorParameters=function(){return[{type:F},{type:V},{type:G},{type:void 0,decorators:[{type:t.Inject,args:[k]}]}]};var W=[Q,{provide:J,useExisting:Q}],X=function(e){function t(t,r,n){var o=e.call(this)||this;return o.actionsObserver=r,o.reducerManager=n,o.source=t,o}return E(t,e),t.prototype.select=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return h.apply(void 0,[e].concat(t))(this)},t.prototype.lift=function(e){var r=new t(this,this.actionsObserver,this.reducerManager);return r.operator=e,r},t.prototype.dispatch=function(e){this.actionsObserver.next(e)},t.prototype.next=function(e){this.actionsObserver.next(e)},t.prototype.error=function(e){this.actionsObserver.error(e)},t.prototype.complete=function(){this.actionsObserver.complete()},t.prototype.addReducer=function(e,t){this.reducerManager.addReducer(e,t)},t.prototype.removeReducer=function(e){this.reducerManager.removeReducer(e)},t}(r.Observable);X.decorators=[{type:t.Injectable}],X.ctorParameters=function(){return[{type:J},{type:F},{type:Y}]};var Z=[X],$=function(){return function(e,t,r){}}();$.decorators=[{type:t.NgModule,args:[{}]}],$.ctorParameters=function(){return[{type:F},{type:V},{type:G}]};var ee=function(){function e(e,t,r){this.features=e,this.featureReducers=t,this.reducerManager=r,e.map(function(e,r){var n=t.shift()[r];return Object.assign({},e,{reducers:n,initialState:S(e.initialState)})}).forEach(function(e){return r.addFeature(e)})}return e.prototype.ngOnDestroy=function(){var e=this;this.features.forEach(function(t){return e.reducerManager.removeFeature(t)})},e}();ee.decorators=[{type:t.NgModule,args:[{}]}],ee.ctorParameters=function(){return[{type:Array,decorators:[{type:t.Inject,args:[q]}]},{type:Array,decorators:[{type:t.Inject,args:[L]}]},{type:Y}]};var te=function(){function e(){}return e.forRoot=function(e,r){return void 0===r&&(r={}),{ngModule:$,providers:[{provide:_,useValue:r.initialState},{provide:k,useFactory:S,deps:[_]},{provide:U,useValue:e},{provide:C,useExisting:e instanceof t.InjectionToken?e:U},{provide:M,deps:[t.Injector,U,[new t.Inject(C)]],useFactory:I},{provide:D,useValue:r.metaReducers?r.metaReducers:[]},{provide:w,useValue:r.reducerFactory?r.reducerFactory:d},{provide:A,deps:[w,D],useFactory:y},T,K,H,W,Z]}},e.forFeature=function(e,r,n){return void 0===n&&(n={}),{ngModule:ee,providers:[{provide:q,multi:!0,useValue:{key:e,reducerFactory:n.reducerFactory?n.reducerFactory:d,metaReducers:n.metaReducers?n.metaReducers:[],initialState:n.initialState}},{provide:P,multi:!0,useValue:r},{provide:N,multi:!0,useExisting:r instanceof t.InjectionToken?r:P},{provide:L,multi:!0,deps:[t.Injector,P,[new t.Inject(N)]],useFactory:m}]}},e}();te.decorators=[{type:t.NgModule,args:[{}]}],te.ctorParameters=function(){return[]},e.Store=X,e.select=h,e.combineReducers=d,e.compose=f,e.createReducerFactory=y,e.ActionsSubject=F,e.INIT=O,e.ReducerManager=Y,e.ReducerObservable=V,e.ReducerManagerDispatcher=z,e.UPDATE=B,e.ScannedActionsSubject=G,e.createSelector=R,e.createSelectorFactory=x,e.createFeatureSelector=function(e){return R(function(t){return t[e]},function(e){return e})},e.defaultMemoize=j,e.defaultStateFn=b,e.State=Q,e.StateObservable=J,e.reduceState=v,e.INITIAL_STATE=k,e._REDUCER_FACTORY=w,e.REDUCER_FACTORY=A,e._INITIAL_REDUCERS=U,e.INITIAL_REDUCERS=M,e.STORE_FEATURES=q,e._INITIAL_STATE=_,e.META_REDUCERS=D,e._STORE_REDUCERS=C,e._FEATURE_REDUCERS=P,e.FEATURE_REDUCERS=L,e._FEATURE_REDUCERS_TOKEN=N,e.StoreModule=te,e.StoreRootModule=$,e.StoreFeatureModule=ee,e._initialStateFactory=S,e._createStoreReducers=I,e._createFeatureReducers=m,e.ɵc=T,e.ɵd=K,e.ɵe=H,e.ɵf=W,e.ɵb=Z,Object.defineProperty(e,"__esModule",{value:!0})});
{
"name": "@ngrx/store",
"version": "4.1.1",
"version": "5.0.0",
"description": "RxJS powered Redux for Angular apps",

@@ -25,5 +25,5 @@ "module": "@ngrx/store.es5.js",

"peerDependencies": {
"@angular/core": "^4.0.0 || ^5.0.0-rc.2 || ^5.0.0",
"rxjs": "^5.0.0"
"@angular/core": "^5.0.0",
"rxjs": "^5.5.0"
}
}
export { Action, ActionReducer, ActionReducerMap, ActionReducerFactory, MetaReducer, Selector } from './models';
export { StoreModule } from './store_module';
export { Store } from './store';
export { Store, select } from './store';
export { combineReducers, compose, createReducerFactory } from './utils';

@@ -8,5 +7,5 @@ export { ActionsSubject, INIT } from './actions_subject';

export { ScannedActionsSubject } from './scanned_actions_subject';
export { createSelector, createFeatureSelector, MemoizedSelector } from './selector';
export { createSelector, createSelectorFactory, createFeatureSelector, defaultMemoize, defaultStateFn, MemoizeFn, MemoizedProjection, MemoizedSelector } from './selector';
export { State, StateObservable, reduceState } from './state';
export { INITIAL_STATE, _REDUCER_FACTORY, REDUCER_FACTORY, _INITIAL_REDUCERS, INITIAL_REDUCERS, STORE_FEATURES, _INITIAL_STATE, META_REDUCERS, _STORE_REDUCERS, _FEATURE_REDUCERS, FEATURE_REDUCERS, _FEATURE_REDUCERS_TOKEN } from './tokens';
export { StoreRootModule, StoreFeatureModule, _initialStateFactory, _createStoreReducers, _createFeatureReducers } from './store_module';
export { StoreModule, StoreRootModule, StoreFeatureModule, _initialStateFactory, _createStoreReducers, _createFeatureReducers } from './store_module';
import { Selector } from './models';
export declare type AnyFn = (...args: any[]) => any;
export declare type MemoizedProjection = {
memoized: AnyFn;
reset: () => void;
};
export declare type MemoizeFn = (t: AnyFn) => MemoizedProjection;
export interface MemoizedSelector<State, Result> extends Selector<State, Result> {

@@ -7,6 +12,4 @@ release(): void;

}
export declare function memoize(t: AnyFn): {
memoized: AnyFn;
reset: () => void;
};
export declare function isEqualCheck(a: any, b: any): boolean;
export declare function defaultMemoize(t: AnyFn, isEqual?: typeof isEqualCheck): MemoizedProjection;
export declare function createSelector<State, S1, Result>(s1: Selector<State, S1>, projector: (S1: S1) => Result): MemoizedSelector<State, Result>;

@@ -28,2 +31,8 @@ export declare function createSelector<State, S1, Result>(selectors: [Selector<State, S1>], projector: (s1: S1) => Result): MemoizedSelector<State, Result>;

export declare function createSelector<State, S1, S2, S3, S4, S5, S6, S7, S8, Result>(selectors: [Selector<State, S1>, Selector<State, S2>, Selector<State, S3>, Selector<State, S4>, Selector<State, S5>, Selector<State, S6>, Selector<State, S7>, Selector<State, S8>], projector: (s1: S1, s2: S2, s3: S3, s4: S4, s5: S5, s6: S6, s7: S7, s8: S8) => Result): MemoizedSelector<State, Result>;
export declare function defaultStateFn(state: any, selectors: Selector<any, any>[], memoizedProjector: MemoizedProjection): any;
export declare type SelectorFactoryConfig<T = any, V = any> = {
stateFn: (state: T, selectors: Selector<any, any>[], memoizedProjector: MemoizedProjection) => V;
};
export declare function createSelectorFactory<T = any, V = any>(memoize: MemoizeFn): (...input: any[]) => Selector<T, V>;
export declare function createSelectorFactory<T = any, V = any>(memoize: MemoizeFn, options: SelectorFactoryConfig<T, V>): (...input: any[]) => Selector<T, V>;
export declare function createFeatureSelector<T>(featureName: string): MemoizedSelector<object, T>;

@@ -29,1 +29,8 @@ import { Provider } from '@angular/core';

export declare const STORE_PROVIDERS: Provider[];
export declare function select<T, K>(mapFn: ((state: T) => K) | string): (source$: Observable<T>) => Store<K>;
export declare function select<T, a extends keyof T>(key: a): (source$: Store<a>) => Store<T[a]>;
export declare function select<T, a extends keyof T, b extends keyof T[a]>(key1: a, key2: b): (source$: Store<T>) => Store<T[a][b]>;
export declare function select<T, a extends keyof T, b extends keyof T[a], c extends keyof T[a][b]>(key1: a, key2: b, key3: c): (source$: Store<a>) => Store<T[a][b][c]>;
export declare function select<T, a extends keyof T, b extends keyof T[a], c extends keyof T[a][b], d extends keyof T[a][b][c]>(key1: a, key2: b, key3: c, key4: d): (source$: Store<a>) => Store<T[a][b][c][d]>;
export declare function select<T, a extends keyof T, b extends keyof T[a], c extends keyof T[a][b], d extends keyof T[a][b][c], e extends keyof T[a][b][c][d]>(key1: a, key2: b, key3: c, key4: d, key5: e): (source$: Store<a>) => Store<T[a][b][c][d][e]>;
export declare function select<T, a extends keyof T, b extends keyof T[a], c extends keyof T[a][b], d extends keyof T[a][b][c], e extends keyof T[a][b][c][d], f extends keyof T[a][b][c][d][e]>(key1: a, key2: b, key3: c, key4: d, key5: e, key6: f): (source$: Store<a>) => Store<T[a][b][c][d][e][f]>;

@@ -13,1 +13,2 @@ import { Action, ActionReducer, ActionReducerMap, ActionReducerFactory, MetaReducer } from './models';

export declare function createReducerFactory<T, V extends Action = Action>(reducerFactory: ActionReducerFactory<T, V>, metaReducers?: MetaReducer<T, V>[]): ActionReducerFactory<T, V>;
export declare function createFeatureReducer<T, V extends Action = Action>(reducer: ActionReducer<T, V>, metaReducers?: MetaReducer<T, V>[]): ActionReducer<T, V>;

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":3,"metadata":{"ɵa":{"__symbolic":"interface"},"ɵb":[{"__symbolic":"reference","name":"Store"}],"ɵc":[{"__symbolic":"reference","name":"ActionsSubject"}],"ɵd":[{"__symbolic":"reference","name":"ReducerManager"},{"provide":{"__symbolic":"reference","name":"ReducerObservable"},"useExisting":{"__symbolic":"reference","name":"ReducerManager"}},{"provide":{"__symbolic":"reference","name":"ReducerManagerDispatcher"},"useExisting":{"__symbolic":"reference","name":"ActionsSubject"}}],"ɵe":[{"__symbolic":"reference","name":"ScannedActionsSubject"}],"ɵf":[{"__symbolic":"reference","name":"State"},{"provide":{"__symbolic":"reference","name":"StateObservable"},"useExisting":{"__symbolic":"reference","name":"State"}}],"Action":{"__symbolic":"interface"},"ActionReducer":{"__symbolic":"interface"},"ActionReducerMap":{"__symbolic":"interface"},"ActionReducerFactory":{"__symbolic":"interface"},"MetaReducer":{"__symbolic":"interface"},"Selector":{"__symbolic":"interface"},"StoreModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["reducers","config"],"defaults":[null,{}],"value":{"ngModule":{"__symbolic":"reference","name":"StoreRootModule"},"providers":[{"provide":{"__symbolic":"reference","name":"_INITIAL_STATE"},"useValue":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"initialState"}},{"provide":{"__symbolic":"reference","name":"INITIAL_STATE"},"useFactory":{"__symbolic":"reference","name":"_initialStateFactory"},"deps":[{"__symbolic":"reference","name":"_INITIAL_STATE"}]},{"provide":{"__symbolic":"reference","name":"_INITIAL_REDUCERS"},"useValue":{"__symbolic":"reference","name":"reducers"}},{"provide":{"__symbolic":"reference","name":"_STORE_REDUCERS"},"useExisting":{"__symbolic":"if","condition":{"__symbolic":"binop","operator":"instanceof","left":{"__symbolic":"reference","name":"reducers"},"right":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"}},"thenExpression":{"__symbolic":"reference","name":"reducers"},"elseExpression":{"__symbolic":"reference","name":"_INITIAL_REDUCERS"}}},{"provide":{"__symbolic":"reference","name":"INITIAL_REDUCERS"},"deps":[{"__symbolic":"reference","module":"@angular/core","name":"Injector"},{"__symbolic":"reference","name":"_INITIAL_REDUCERS"},[{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"_STORE_REDUCERS"}]}]],"useFactory":{"__symbolic":"reference","name":"_createStoreReducers"}},{"provide":{"__symbolic":"reference","name":"META_REDUCERS"},"useValue":{"__symbolic":"if","condition":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"metaReducers"},"thenExpression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"metaReducers"},"elseExpression":[]}},{"provide":{"__symbolic":"reference","name":"_REDUCER_FACTORY"},"useValue":{"__symbolic":"if","condition":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"reducerFactory"},"thenExpression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"reducerFactory"},"elseExpression":{"__symbolic":"reference","name":"combineReducers"}}},{"provide":{"__symbolic":"reference","name":"REDUCER_FACTORY"},"deps":[{"__symbolic":"reference","name":"_REDUCER_FACTORY"},{"__symbolic":"reference","name":"META_REDUCERS"}],"useFactory":{"__symbolic":"reference","name":"createReducerFactory"}},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵb"}]}},"forFeature":{"__symbolic":"function","parameters":["featureName","reducers","config"],"defaults":[null,null,{}],"value":{"ngModule":{"__symbolic":"reference","name":"StoreFeatureModule"},"providers":[{"provide":{"__symbolic":"reference","name":"STORE_FEATURES"},"multi":true,"useValue":{"key":{"__symbolic":"reference","name":"featureName"},"reducerFactory":{"__symbolic":"if","condition":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"reducerFactory"},"thenExpression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"reducerFactory"},"elseExpression":{"__symbolic":"reference","name":"combineReducers"}},"metaReducers":{"__symbolic":"if","condition":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"metaReducers"},"thenExpression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"metaReducers"},"elseExpression":[]},"initialState":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"initialState"}}},{"provide":{"__symbolic":"reference","name":"_FEATURE_REDUCERS"},"multi":true,"useValue":{"__symbolic":"reference","name":"reducers"}},{"provide":{"__symbolic":"reference","name":"_FEATURE_REDUCERS_TOKEN"},"multi":true,"useExisting":{"__symbolic":"if","condition":{"__symbolic":"binop","operator":"instanceof","left":{"__symbolic":"reference","name":"reducers"},"right":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"}},"thenExpression":{"__symbolic":"reference","name":"reducers"},"elseExpression":{"__symbolic":"reference","name":"_FEATURE_REDUCERS"}}},{"provide":{"__symbolic":"reference","name":"FEATURE_REDUCERS"},"multi":true,"deps":[{"__symbolic":"reference","module":"@angular/core","name":"Injector"},{"__symbolic":"reference","name":"_FEATURE_REDUCERS"},[{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"_FEATURE_REDUCERS_TOKEN"}]}]],"useFactory":{"__symbolic":"reference","name":"_createFeatureReducers"}}]}}}},"Store":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","module":"rxjs/Observable","name":"Observable"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"StateObservable"},{"__symbolic":"reference","name":"ActionsSubject"},{"__symbolic":"reference","name":"ReducerManager"}]}],"select":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"lift":[{"__symbolic":"method"}],"dispatch":[{"__symbolic":"method"}],"next":[{"__symbolic":"method"}],"error":[{"__symbolic":"method"}],"complete":[{"__symbolic":"method"}],"addReducer":[{"__symbolic":"method"}],"removeReducer":[{"__symbolic":"method"}]}},"combineReducers":{"__symbolic":"function"},"compose":{"__symbolic":"function","parameters":["functions"],"value":{"__symbolic":"error","message":"Function call not supported","line":76,"character":9,"module":"./src/utils"}},"createReducerFactory":{"__symbolic":"function"},"ActionsSubject":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"rxjs/BehaviorSubject","name":"BehaviorSubject"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"next":[{"__symbolic":"method"}],"complete":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"INIT":"@ngrx/store/init","ReducerManager":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"rxjs/BehaviorSubject","name":"BehaviorSubject"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"INITIAL_STATE"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"INITIAL_REDUCERS"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"REDUCER_FACTORY"}]}]],"parameters":[{"__symbolic":"reference","name":"ReducerManagerDispatcher"},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"ActionReducerMap"},{"__symbolic":"reference","name":"ActionReducerFactory"}]}],"addFeature":[{"__symbolic":"method"}],"removeFeature":[{"__symbolic":"method"}],"addReducer":[{"__symbolic":"method"}],"removeReducer":[{"__symbolic":"method"}],"updateReducers":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ReducerObservable":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"rxjs/Observable","name":"Observable"},"members":{}},"ReducerManagerDispatcher":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ActionsSubject"},"members":{}},"UPDATE":"@ngrx/store/update-reducers","ScannedActionsSubject":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"rxjs/Subject","name":"Subject"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"ngOnDestroy":[{"__symbolic":"method"}]}},"createSelector":{"__symbolic":"function"},"createFeatureSelector":{"__symbolic":"function"},"MemoizedSelector":{"__symbolic":"interface"},"State":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","module":"rxjs/BehaviorSubject","name":"BehaviorSubject"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"INITIAL_STATE"}]}]],"parameters":[{"__symbolic":"reference","name":"ActionsSubject"},{"__symbolic":"reference","name":"ReducerObservable"},{"__symbolic":"reference","name":"ScannedActionsSubject"},{"__symbolic":"reference","name":"any"}]}],"ngOnDestroy":[{"__symbolic":"method"}]},"statics":{"INIT":{"__symbolic":"reference","module":"./actions_subject","name":"INIT"}}},"StateObservable":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"rxjs/Observable","name":"Observable"},"members":{}},"reduceState":{"__symbolic":"function"},"INITIAL_STATE":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["@ngrx/store Initial State"]},"_REDUCER_FACTORY":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["@ngrx/store Reducer Factory Provider"]},"REDUCER_FACTORY":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["@ngrx/store Reducer Factory"]},"_INITIAL_REDUCERS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["@ngrx/store Internal Initial Reducers"]},"INITIAL_REDUCERS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["@ngrx/store Initial Reducers"]},"STORE_FEATURES":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["@ngrx/store Store Features"]},"_INITIAL_STATE":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["@ngrx/store Internal Initial State"]},"META_REDUCERS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["@ngrx/store Meta Reducers"]},"_STORE_REDUCERS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["@ngrx/store Internal Store Reducers"]},"_FEATURE_REDUCERS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["@ngrx/store Internal Feature Reducers"]},"FEATURE_REDUCERS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["@ngrx/store Feature Reducers"]},"_FEATURE_REDUCERS_TOKEN":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["@ngrx/store Internal Feature Reducers Token"]},"StoreRootModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ActionsSubject"},{"__symbolic":"reference","name":"ReducerObservable"},{"__symbolic":"reference","name":"ScannedActionsSubject"}]}]}},"StoreFeatureModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"STORE_FEATURES"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"FEATURE_REDUCERS"}]}],null],"parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"ɵa"}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"ActionReducerMap"}]},{"__symbolic":"reference","name":"ReducerManager"}]}],"ngOnDestroy":[{"__symbolic":"method"}]}},"_initialStateFactory":{"__symbolic":"function"},"_createStoreReducers":{"__symbolic":"function","parameters":["injector","reducers","tokenReducers"],"value":{"__symbolic":"if","condition":{"__symbolic":"binop","operator":"instanceof","left":{"__symbolic":"reference","name":"reducers"},"right":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"}},"thenExpression":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"injector"},"member":"get"},"arguments":[{"__symbolic":"reference","name":"reducers"}]},"elseExpression":{"__symbolic":"reference","name":"reducers"}}},"_createFeatureReducers":{"__symbolic":"function","parameters":["injector","reducerCollection","tokenReducerCollection"],"value":{"__symbolic":"error","message":"Function call not supported","line":213,"character":31,"module":"./src/store_module"}}},"origins":{"ɵa":"./src/models","ɵb":"./src/store","ɵc":"./src/actions_subject","ɵd":"./src/reducer_manager","ɵe":"./src/scanned_actions_subject","ɵf":"./src/state","Action":"./src/models","ActionReducer":"./src/models","ActionReducerMap":"./src/models","ActionReducerFactory":"./src/models","MetaReducer":"./src/models","Selector":"./src/models","StoreModule":"./src/store_module","Store":"./src/store","combineReducers":"./src/utils","compose":"./src/utils","createReducerFactory":"./src/utils","ActionsSubject":"./src/actions_subject","INIT":"./src/actions_subject","ReducerManager":"./src/reducer_manager","ReducerObservable":"./src/reducer_manager","ReducerManagerDispatcher":"./src/reducer_manager","UPDATE":"./src/reducer_manager","ScannedActionsSubject":"./src/scanned_actions_subject","createSelector":"./src/selector","createFeatureSelector":"./src/selector","MemoizedSelector":"./src/selector","State":"./src/state","StateObservable":"./src/state","reduceState":"./src/state","INITIAL_STATE":"./src/tokens","_REDUCER_FACTORY":"./src/tokens","REDUCER_FACTORY":"./src/tokens","_INITIAL_REDUCERS":"./src/tokens","INITIAL_REDUCERS":"./src/tokens","STORE_FEATURES":"./src/tokens","_INITIAL_STATE":"./src/tokens","META_REDUCERS":"./src/tokens","_STORE_REDUCERS":"./src/tokens","_FEATURE_REDUCERS":"./src/tokens","FEATURE_REDUCERS":"./src/tokens","_FEATURE_REDUCERS_TOKEN":"./src/tokens","StoreRootModule":"./src/store_module","StoreFeatureModule":"./src/store_module","_initialStateFactory":"./src/store_module","_createStoreReducers":"./src/store_module","_createFeatureReducers":"./src/store_module"},"importAs":"@ngrx/store"}
{"__symbolic":"module","version":4,"metadata":{"ɵa":{"__symbolic":"interface"},"ɵb":[{"__symbolic":"reference","name":"Store"}],"ɵc":[{"__symbolic":"reference","name":"ActionsSubject"}],"ɵd":[{"__symbolic":"reference","name":"ReducerManager"},{"provide":{"__symbolic":"reference","name":"ReducerObservable"},"useExisting":{"__symbolic":"reference","name":"ReducerManager"}},{"provide":{"__symbolic":"reference","name":"ReducerManagerDispatcher"},"useExisting":{"__symbolic":"reference","name":"ActionsSubject"}}],"ɵe":[{"__symbolic":"reference","name":"ScannedActionsSubject"}],"ɵf":[{"__symbolic":"reference","name":"State"},{"provide":{"__symbolic":"reference","name":"StateObservable"},"useExisting":{"__symbolic":"reference","name":"State"}}],"Action":{"__symbolic":"interface"},"ActionReducer":{"__symbolic":"interface"},"ActionReducerMap":{"__symbolic":"interface"},"ActionReducerFactory":{"__symbolic":"interface"},"MetaReducer":{"__symbolic":"interface"},"Selector":{"__symbolic":"interface"},"Store":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","module":"rxjs/Observable","name":"Observable"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"StateObservable"},{"__symbolic":"reference","name":"ActionsSubject"},{"__symbolic":"reference","name":"ReducerManager"}]}],"select":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"lift":[{"__symbolic":"method"}],"dispatch":[{"__symbolic":"method"}],"next":[{"__symbolic":"method"}],"error":[{"__symbolic":"method"}],"complete":[{"__symbolic":"method"}],"addReducer":[{"__symbolic":"method"}],"removeReducer":[{"__symbolic":"method"}]}},"select":{"__symbolic":"function","parameters":["pathOrMapFn","paths"],"value":{"__symbolic":"error","message":"Function call not supported","line":169,"character":9,"module":"./src/store"}},"combineReducers":{"__symbolic":"function"},"compose":{"__symbolic":"function","parameters":["functions"],"value":{"__symbolic":"error","message":"Function call not supported","line":76,"character":9,"module":"./src/utils"}},"createReducerFactory":{"__symbolic":"function"},"ActionsSubject":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"rxjs/BehaviorSubject","name":"BehaviorSubject"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"next":[{"__symbolic":"method"}],"complete":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"INIT":"@ngrx/store/init","ReducerManager":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"rxjs/BehaviorSubject","name":"BehaviorSubject"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"INITIAL_STATE"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"INITIAL_REDUCERS"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"REDUCER_FACTORY"}]}]],"parameters":[{"__symbolic":"reference","name":"ReducerManagerDispatcher"},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"ActionReducerMap"},{"__symbolic":"reference","name":"ActionReducerFactory"}]}],"addFeature":[{"__symbolic":"method"}],"removeFeature":[{"__symbolic":"method"}],"addReducer":[{"__symbolic":"method"}],"removeReducer":[{"__symbolic":"method"}],"updateReducers":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ReducerObservable":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"rxjs/Observable","name":"Observable"},"members":{}},"ReducerManagerDispatcher":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ActionsSubject"},"members":{}},"UPDATE":"@ngrx/store/update-reducers","ScannedActionsSubject":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"rxjs/Subject","name":"Subject"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"ngOnDestroy":[{"__symbolic":"method"}]}},"createSelector":{"__symbolic":"function","parameters":["input"],"value":{"__symbolic":"call","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"createSelectorFactory"},"arguments":[{"__symbolic":"reference","name":"defaultMemoize"}]},"arguments":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"input"}}]}},"createSelectorFactory":{"__symbolic":"function","parameters":["memoize","options"],"defaults":[null,{"stateFn":{"__symbolic":"reference","name":"defaultStateFn"}}],"value":{"__symbolic":"error","message":"Function call not supported","line":233,"character":9,"module":"./src/selector"}},"createFeatureSelector":{"__symbolic":"function","parameters":["featureName"],"value":{"__symbolic":"error","message":"Function call not supported","line":273,"character":4,"module":"./src/selector"}},"defaultMemoize":{"__symbolic":"function"},"defaultStateFn":{"__symbolic":"function"},"MemoizeFn":{"__symbolic":"interface"},"MemoizedProjection":{"__symbolic":"interface"},"MemoizedSelector":{"__symbolic":"interface"},"State":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","module":"rxjs/BehaviorSubject","name":"BehaviorSubject"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"INITIAL_STATE"}]}]],"parameters":[{"__symbolic":"reference","name":"ActionsSubject"},{"__symbolic":"reference","name":"ReducerObservable"},{"__symbolic":"reference","name":"ScannedActionsSubject"},{"__symbolic":"reference","name":"any"}]}],"ngOnDestroy":[{"__symbolic":"method"}]},"statics":{"INIT":{"__symbolic":"reference","module":"./actions_subject","name":"INIT"}}},"StateObservable":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"rxjs/Observable","name":"Observable"},"members":{}},"reduceState":{"__symbolic":"function"},"INITIAL_STATE":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["@ngrx/store Initial State"]},"_REDUCER_FACTORY":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["@ngrx/store Reducer Factory Provider"]},"REDUCER_FACTORY":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["@ngrx/store Reducer Factory"]},"_INITIAL_REDUCERS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["@ngrx/store Internal Initial Reducers"]},"INITIAL_REDUCERS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["@ngrx/store Initial Reducers"]},"STORE_FEATURES":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["@ngrx/store Store Features"]},"_INITIAL_STATE":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["@ngrx/store Internal Initial State"]},"META_REDUCERS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["@ngrx/store Meta Reducers"]},"_STORE_REDUCERS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["@ngrx/store Internal Store Reducers"]},"_FEATURE_REDUCERS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["@ngrx/store Internal Feature Reducers"]},"FEATURE_REDUCERS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["@ngrx/store Feature Reducers"]},"_FEATURE_REDUCERS_TOKEN":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["@ngrx/store Internal Feature Reducers Token"]},"StoreModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["reducers","config"],"defaults":[null,{}],"value":{"ngModule":{"__symbolic":"reference","name":"StoreRootModule"},"providers":[{"provide":{"__symbolic":"reference","name":"_INITIAL_STATE"},"useValue":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"initialState"}},{"provide":{"__symbolic":"reference","name":"INITIAL_STATE"},"useFactory":{"__symbolic":"reference","name":"_initialStateFactory"},"deps":[{"__symbolic":"reference","name":"_INITIAL_STATE"}]},{"provide":{"__symbolic":"reference","name":"_INITIAL_REDUCERS"},"useValue":{"__symbolic":"reference","name":"reducers"}},{"provide":{"__symbolic":"reference","name":"_STORE_REDUCERS"},"useExisting":{"__symbolic":"if","condition":{"__symbolic":"binop","operator":"instanceof","left":{"__symbolic":"reference","name":"reducers"},"right":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"}},"thenExpression":{"__symbolic":"reference","name":"reducers"},"elseExpression":{"__symbolic":"reference","name":"_INITIAL_REDUCERS"}}},{"provide":{"__symbolic":"reference","name":"INITIAL_REDUCERS"},"deps":[{"__symbolic":"reference","module":"@angular/core","name":"Injector"},{"__symbolic":"reference","name":"_INITIAL_REDUCERS"},[{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"_STORE_REDUCERS"}]}]],"useFactory":{"__symbolic":"reference","name":"_createStoreReducers"}},{"provide":{"__symbolic":"reference","name":"META_REDUCERS"},"useValue":{"__symbolic":"if","condition":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"metaReducers"},"thenExpression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"metaReducers"},"elseExpression":[]}},{"provide":{"__symbolic":"reference","name":"_REDUCER_FACTORY"},"useValue":{"__symbolic":"if","condition":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"reducerFactory"},"thenExpression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"reducerFactory"},"elseExpression":{"__symbolic":"reference","name":"combineReducers"}}},{"provide":{"__symbolic":"reference","name":"REDUCER_FACTORY"},"deps":[{"__symbolic":"reference","name":"_REDUCER_FACTORY"},{"__symbolic":"reference","name":"META_REDUCERS"}],"useFactory":{"__symbolic":"reference","name":"createReducerFactory"}},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵb"}]}},"forFeature":{"__symbolic":"function","parameters":["featureName","reducers","config"],"defaults":[null,null,{}],"value":{"ngModule":{"__symbolic":"reference","name":"StoreFeatureModule"},"providers":[{"provide":{"__symbolic":"reference","name":"STORE_FEATURES"},"multi":true,"useValue":{"key":{"__symbolic":"reference","name":"featureName"},"reducerFactory":{"__symbolic":"if","condition":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"reducerFactory"},"thenExpression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"reducerFactory"},"elseExpression":{"__symbolic":"reference","name":"combineReducers"}},"metaReducers":{"__symbolic":"if","condition":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"metaReducers"},"thenExpression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"metaReducers"},"elseExpression":[]},"initialState":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"initialState"}}},{"provide":{"__symbolic":"reference","name":"_FEATURE_REDUCERS"},"multi":true,"useValue":{"__symbolic":"reference","name":"reducers"}},{"provide":{"__symbolic":"reference","name":"_FEATURE_REDUCERS_TOKEN"},"multi":true,"useExisting":{"__symbolic":"if","condition":{"__symbolic":"binop","operator":"instanceof","left":{"__symbolic":"reference","name":"reducers"},"right":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"}},"thenExpression":{"__symbolic":"reference","name":"reducers"},"elseExpression":{"__symbolic":"reference","name":"_FEATURE_REDUCERS"}}},{"provide":{"__symbolic":"reference","name":"FEATURE_REDUCERS"},"multi":true,"deps":[{"__symbolic":"reference","module":"@angular/core","name":"Injector"},{"__symbolic":"reference","name":"_FEATURE_REDUCERS"},[{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"_FEATURE_REDUCERS_TOKEN"}]}]],"useFactory":{"__symbolic":"reference","name":"_createFeatureReducers"}}]}}}},"StoreRootModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ActionsSubject"},{"__symbolic":"reference","name":"ReducerObservable"},{"__symbolic":"reference","name":"ScannedActionsSubject"}]}]}},"StoreFeatureModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"STORE_FEATURES"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"FEATURE_REDUCERS"}]}],null],"parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"ɵa"}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"ActionReducerMap"}]},{"__symbolic":"reference","name":"ReducerManager"}]}],"ngOnDestroy":[{"__symbolic":"method"}]}},"_initialStateFactory":{"__symbolic":"function"},"_createStoreReducers":{"__symbolic":"function","parameters":["injector","reducers","tokenReducers"],"value":{"__symbolic":"if","condition":{"__symbolic":"binop","operator":"instanceof","left":{"__symbolic":"reference","name":"reducers"},"right":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"}},"thenExpression":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"injector"},"member":"get"},"arguments":[{"__symbolic":"reference","name":"reducers"}]},"elseExpression":{"__symbolic":"reference","name":"reducers"}}},"_createFeatureReducers":{"__symbolic":"function"}},"origins":{"ɵa":"./src/models","ɵb":"./src/store","ɵc":"./src/actions_subject","ɵd":"./src/reducer_manager","ɵe":"./src/scanned_actions_subject","ɵf":"./src/state","Action":"./src/models","ActionReducer":"./src/models","ActionReducerMap":"./src/models","ActionReducerFactory":"./src/models","MetaReducer":"./src/models","Selector":"./src/models","Store":"./src/store","select":"./src/store","combineReducers":"./src/utils","compose":"./src/utils","createReducerFactory":"./src/utils","ActionsSubject":"./src/actions_subject","INIT":"./src/actions_subject","ReducerManager":"./src/reducer_manager","ReducerObservable":"./src/reducer_manager","ReducerManagerDispatcher":"./src/reducer_manager","UPDATE":"./src/reducer_manager","ScannedActionsSubject":"./src/scanned_actions_subject","createSelector":"./src/selector","createSelectorFactory":"./src/selector","createFeatureSelector":"./src/selector","defaultMemoize":"./src/selector","defaultStateFn":"./src/selector","MemoizeFn":"./src/selector","MemoizedProjection":"./src/selector","MemoizedSelector":"./src/selector","State":"./src/state","StateObservable":"./src/state","reduceState":"./src/state","INITIAL_STATE":"./src/tokens","_REDUCER_FACTORY":"./src/tokens","REDUCER_FACTORY":"./src/tokens","_INITIAL_REDUCERS":"./src/tokens","INITIAL_REDUCERS":"./src/tokens","STORE_FEATURES":"./src/tokens","_INITIAL_STATE":"./src/tokens","META_REDUCERS":"./src/tokens","_STORE_REDUCERS":"./src/tokens","_FEATURE_REDUCERS":"./src/tokens","FEATURE_REDUCERS":"./src/tokens","_FEATURE_REDUCERS_TOKEN":"./src/tokens","StoreModule":"./src/store_module","StoreRootModule":"./src/store_module","StoreFeatureModule":"./src/store_module","_initialStateFactory":"./src/store_module","_createStoreReducers":"./src/store_module","_createFeatureReducers":"./src/store_module"},"importAs":"@ngrx/store"}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc