UNPKG

ola-toolkit

Version:

ola 开发工具套件

65 lines (57 loc) 1.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.initialApiState = undefined; var _extends2 = require("babel-runtime/helpers/extends"); var _extends3 = _interopRequireDefault(_extends2); exports.createBasicApiReducer = createBasicApiReducer; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var initialApiState = exports.initialApiState = { loaded: false, loading: false, error: null, payload: { page: {} } }; var successAndUpdate = function successAndUpdate(state, action) { return (0, _extends3.default)({}, state, { loading: false, loaded: true, error: null, payload: action.payload }); }; /** * api 调用 reducer * @returns {{init: (*|Immutable.Map<any, any>|Immutable.Map<string, *>), fetch: (function(*, *): *), success: (function(*, *): *), update: (function(*, *): *), fail: (function(*, *): *), clear: (function(*, *): *)}} */ function createBasicApiReducer() { return { fetch: function fetch(state, action) { return (0, _extends3.default)({}, state, { loaded: false, loading: true }); }, success: successAndUpdate, update: successAndUpdate, fail: function fail(state, action) { return (0, _extends3.default)({}, state, { loading: false, loaded: false, error: action.payload, payload: initialApiState.payload }); }, clear: function clear(state, action) { return (0, _extends3.default)({}, state, { loading: false, loaded: false, error: null, payload: initialApiState.payload }); } }; }