@randy.tarampi/jsx
Version:
Some common JSX components for www.randytarampi.ca
35 lines (31 loc) • 1.36 kB
JavaScript
import { Map } from "immutable";
import { CLEAR_ERROR } from "../actions/error/clearError";
import { SET_ERROR } from "../actions/error/setError";
import { SET_ERROR_TIMEOUT_HANDLER } from "../actions/error/setErrorTimeoutHandler";
export var errorReducer = function errorReducer() {
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Map();
var action = arguments.length > 1 ? arguments[1] : undefined;
switch (action.type) {
case SET_ERROR:
{
return state.set("error", action.payload.error).set("errorMessage", action.payload.errorMessage).set("errorCode", action.payload.errorCode);
}
case SET_ERROR_TIMEOUT_HANDLER:
{
return state.set("errorTimeoutHandler", action.payload);
}
case CLEAR_ERROR:
{
return Map();
}
default:
return state;
}
};
export default errorReducer;
export var hasError = state => !!getError(state) || !!getErrorMessage(state) || !!getErrorCode(state);
export var getErrorState = state => state;
export var getError = state => getErrorState(state).get("error");
export var getErrorMessage = state => getErrorState(state).get("errorMessage");
export var getErrorCode = state => getErrorState(state).get("errorCode");
export var getErrorTimeoutHandlerId = state => getErrorState(state).get("errorTimeoutHandler");