Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | 2x 8x 3x 2x 2x 8x | import { Injectable, Provider } from '@angular/core'; import { createReducer, on } from '@ngrx/store'; import { userAction } from './user.actions'; import { userReducerConfig } from './user.interface'; @Injectable({ providedIn: 'root', }) export class AppUserReducer { public createReducer() { return createReducer( userReducerConfig.initialState, on(userAction.login, (state, { payload }) => ({ ...state, email: payload.email })), on(userAction.logout, state => ({ ...userReducerConfig.initialState, email: state.email })), on(userAction.signup, (state, { payload }) => ({ ...state, email: payload.email })), ); } } export const userReducerProvider: Provider = { provide: userReducerConfig.token, deps: [AppUserReducer], useFactory: (reducer: AppUserReducer) => reducer.createReducer(), }; |