Newer
Older
import Vue from 'vue';
import Vuex from 'vuex';
import modules from './modules';
Vue.use(Vuex);
const state = {

Florent Lavelle
committed
abortControllers: [],

Florent Lavelle
committed
SET_ABORT_CONTROLLER: (state, { id, controller }) => {
const index = state.abortControllers.findIndex(el => el.id === id);
if (index !== -1) {
state.abortControllers.splice(index, 1, {
id: id,
controller: controller
});
} else {
state.abortControllers.push({
id: id,
controller: controller
});
}
},
REMOVE_ABORT_CONTROLLER: (state, id) => {
const index = state.abortControllers.findIndex(el => el.id === id);
if (index !== -1) {
state.abortControllers.splice(index, 1);
}
},
RESET_ABORT_CONTROLLERS: (state) => {
state.abortControllers = [];
},
USE_ABORT_CONTROLLER: (state, id) => {
if (state.abortControllers.find(el => el.id === id)) {
state.abortControllers.find(el => el.id === id).controller.abort();
}
}
};
export default new Vuex.Store({
modules,
state,
mutations
});