diff options
Diffstat (limited to 'vid-webpack-master/src/app/global.reducer.ts')
-rw-r--r-- | vid-webpack-master/src/app/global.reducer.ts | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/vid-webpack-master/src/app/global.reducer.ts b/vid-webpack-master/src/app/global.reducer.ts new file mode 100644 index 00000000..cffd3460 --- /dev/null +++ b/vid-webpack-master/src/app/global.reducer.ts @@ -0,0 +1,29 @@ +/* tslint:disable no-switch-case-fall-through */ +import {Action} from 'redux'; +import {UPDATE_FLAGS, UPDATE_NAME, UpdateFlagsAction, UpdateGlobalAction} from "./global.actions"; + + + +export interface GlobalState { + name : string; + flags : { [key: string]: boolean }; +} + +const initialState: GlobalState = { + name : null, + flags : null +}; + + +export const GlobalReducer = + function (state: GlobalState = initialState, action: Action): GlobalState { + switch (action.type) { + case UPDATE_NAME: + return Object.assign(state, state, (<UpdateGlobalAction>action)); + case UPDATE_FLAGS: + Object.assign(state, (<UpdateFlagsAction>action)); + return Object.assign({}, state); + default: + return state; + } + }; |