member_webapp/@overflow/infra/store/detail/detail.reducer.ts
crusader d59d9379f9 ing
2018-05-24 15:44:13 +09:00

39 lines
766 B
TypeScript

import { Actions, ActionType } from './detail.action';
import { State, initialState } from './detail.state';
import { Infra } from '@overflow/commons-typescript/model/infra';
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;
}
}
}