@twreporter/redux
Version:
redux actions and reducers for twreporter website
57 lines (55 loc) • 1.56 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _actionTypes = _interopRequireDefault(require("../constants/action-types"));
var _get = _interopRequireDefault(require("lodash/get"));
var _merge = _interopRequireDefault(require("lodash/merge"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
// lodash
var _ = {
get: _get["default"],
merge: _merge["default"]
};
var initialState = {
error: null,
isFetching: false,
isReady: false
};
function latestPage() {
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var payload = action.payload;
switch (action.type) {
case _actionTypes["default"].latest.read.success:
{
var rtn = {
latestTag: _.get(payload, 'tags', [])
};
return _.merge({}, state, rtn, {
error: null,
isFetching: false,
isReady: true
});
}
case _actionTypes["default"].latest.read.request:
{
return _.merge({}, state, {
isFetching: true,
isReady: false
});
}
case _actionTypes["default"].latest.read.failure:
{
return _.merge({}, state, {
error: payload.error,
isFetching: false,
isReady: false
});
}
default:
return state;
}
}
var _default = exports["default"] = latestPage;