UNPKG

@stackend/api

Version:

JS bindings to api.stackend.com

56 lines 2.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.XCAP_LOADING_COMPLETE = exports.XCAP_LOADING_THROBBER_DECREASE = exports.XCAP_LOADING_THROBBER_INCREASE = exports.XCAP_MODAL_THROBBER_DECREASE = exports.XCAP_MODAL_THROBBER_INCREASE = void 0; exports.XCAP_MODAL_THROBBER_INCREASE = 'XCAP_MODAL_THROBBER_INCREASE'; exports.XCAP_MODAL_THROBBER_DECREASE = 'XCAP_MODAL_THROBBER_DECREASE'; exports.XCAP_LOADING_THROBBER_INCREASE = 'XCAP_LOADING_THROBBER_INCREASE'; exports.XCAP_LOADING_THROBBER_DECREASE = 'XCAP_LOADING_THROBBER_DECREASE'; /** * Dispatched when the number of requests reaches 0 */ exports.XCAP_LOADING_COMPLETE = 'XCAP_LOADING_COMPLETE'; var throbberReducer = function (state, action) { if (state === void 0) { state = { visible: false, n: 0, loading: false, requests: 0 }; } switch (action.type) { case exports.XCAP_MODAL_THROBBER_INCREASE: { var n = state.n + 1; return { visible: n > 0, n: n, loading: state.loading, requests: state.requests }; } case exports.XCAP_MODAL_THROBBER_DECREASE: { var m = Math.max(state.n - 1, 0); return { visible: m > 0, n: m, loading: state.loading, requests: state.requests }; } case exports.XCAP_LOADING_THROBBER_INCREASE: { var requests = state.requests + 1; return { visible: state.visible, n: state.n, loading: requests > 0, requests: requests }; } case exports.XCAP_LOADING_THROBBER_DECREASE: { var x = Math.max(state.requests - 1, 0); return { visible: state.visible, n: state.n, loading: x > 0, requests: x }; } default: return state; } }; exports.default = throbberReducer; //# sourceMappingURL=throbberReducer.js.map