UNPKG

vuex-xhr-state

Version:

Use Vuex to manage the state of you're ajax calls.

33 lines (32 loc) 1.32 kB
import { payloadToKey } from './helpers'; import { GET } from './keys'; export default (function (cache) { var _a; var result = (_a = {}, _a[GET.PENDING] = function (state) { return function (payload) { return state.PENDING[payloadToKey(payload)]; }; }, _a); if (cache) { result[GET.HAS_ERROR] = function (state) { return function (payload) { return state.ERROR[payloadToKey(payload)]; }; }; result[GET.FETCHED] = function (state) { return function (payload) { return state.FETCHED[payloadToKey(payload)]; }; }; result[GET.DATA] = function (state) { return function (payload) { var key = payloadToKey(payload); if (state.RESPONSE[key] && !state.ERROR[key]) { // @todo split response en error response in different state variable // @ts-ignore return state.RESPONSE[key].data; } return state.DEFAULT; }; }; result[GET.RESPONSE] = function (state) { return function (payload) { return state.RESPONSE[payloadToKey(payload)]; }; }; result[GET.PAYLOAD_KEYS] = function (state) { return function () { return Object.keys(state.RESPONSE); }; }; } return result; });