member_webapp/@overflow/infra/store/detail/detail.reducer.ts

39 lines
766 B
TypeScript
Raw Normal View History

2018-04-19 10:26:39 +00:00
import { Actions, ActionType } from './detail.action';
import { State, initialState } from './detail.state';
2018-05-02 08:09:39 +00:00
import { Infra } from '@overflow/commons-typescript/model/infra';
2018-04-19 10:26:39 +00:00
export function reducer(state = initialState, action: Actions): State {
switch (action.type) {
case ActionType.Read: {
return {
...state,
error: null,
isPending: true,
};
}
case ActionType.ReadSuccess: {
return {
...state,
error: null,
isPending: false,
infra: action.payload
};
}
case ActionType.ReadFailure: {
return {
...state,
error: action.payload,
isPending: false,
infra: null
};
}
default: {
return state;
}
}
}