UNPKG

@twreporter/redux

Version:

redux actions and reducers for twreporter website

57 lines (55 loc) 1.56 kB
"use strict"; 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;