@stackend/api
Version:
JS bindings to api.stackend.com
56 lines • 2.1 kB
JavaScript
;
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