app/src/commons/store/index.ts
2018-08-17 10:04:48 +09:00

41 lines
911 B
TypeScript

import { Type } from '@angular/core';
import {
ActionReducer,
ActionReducerMap,
createFeatureSelector,
createSelector,
MetaReducer
} from '@ngrx/store';
import { environment } from '../../environments/environment';
import * as fromRouter from '@ngrx/router-store';
import { storeFreeze } from 'ngrx-store-freeze';
export interface State {
router: fromRouter.RouterReducerState;
}
export const reducers: ActionReducerMap<State> = {
router: fromRouter.routerReducer,
};
// console.log all actions
export function logger(reducer: ActionReducer<State>): ActionReducer<State> {
return function (state: State, action: any): State {
console.log('state', state);
console.log('action', action);
return reducer(state, action);
};
}
export const metaReducers: MetaReducer<State>[] = !environment.production
? [logger, storeFreeze]
: [];
export const effects: Type<any>[] = [
];