@aprilium/antssm_global-state
Version:
global state
304 lines (303 loc) • 17.2 kB
JavaScript
"use strict";
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.initSagaMiddleware = exports.sagas = exports.initialSagas = exports.reducers = exports.sagaMiddleware = void 0;
var redux_1 = require("redux");
var redux_saga_1 = __importDefault(require("redux-saga"));
var effects_1 = require("redux-saga/effects");
var react_1 = require("redux-persist/integration/react");
var redux_persist_1 = require("redux-persist");
//import state
var state_1 = require("@aprilium/antssm_auth/lib/state");
var state_2 = require("@aprilium/antssm_user-profile/lib/state");
var state_3 = require("@aprilium/antssm_family-situation/lib/state");
var state_4 = require("@aprilium/antssm_user-password/lib/state");
var state_5 = require("@aprilium/antssm_user-photo/lib/state");
var state_6 = require("@aprilium/antssm_configurations/lib/state");
var state_7 = require("@aprilium/antssm_country/lib/state");
var state_8 = require("@aprilium/antssm_book/lib/state");
var state_9 = require("@aprilium/antssm_book-category/lib/state");
var state_10 = require("@aprilium/antssm_book-reservation/lib/state");
var state_11 = require("@aprilium/antssm_user-account/lib/state");
var state_12 = require("@aprilium/antssm_book-wish/lib/state");
var state_13 = require("@aprilium/antssm_category/lib/state");
var state_14 = require("@aprilium/antssm_reservation/lib/state");
var state_15 = require("@aprilium/antssm_phone-number/lib/state");
var state_16 = require("@aprilium/antssm_mail-address/lib/state");
////////////////////////////////
var state_17 = require("@aprilium/antssm_civility/lib/state");
var state_18 = require("@aprilium/antssm_gender/lib/state");
var state_19 = require("@aprilium/antssm_person-language/lib/state");
var state_20 = require("@aprilium/antssm_speciality/lib/state");
var state_21 = require("@aprilium/antssm_cycle/lib/state");
var state_22 = require("@aprilium/antssm_duration-unit/lib/state");
var state_23 = require("@aprilium/antssm_duration/lib/state");
var state_24 = require("@aprilium/antssm_language/lib/state");
var state_25 = require("@aprilium/antssm_university-regime/lib/state");
var state_26 = require("@aprilium/antssm_diploma-level/lib/state");
var state_27 = require("@aprilium/antssm_diploma/lib/state");
var state_28 = require("@aprilium/antssm_diploma-speciality/lib/state");
var state_29 = require("@aprilium/antssm_diploma-duration/lib/state");
var state_30 = require("@aprilium/antssm_level-diploma/lib/state");
var state_31 = require("@aprilium/antssm_level/lib/state");
var state_32 = require("@aprilium/antssm_period/lib/state");
var state_33 = require("@aprilium/antssm_university-diploma-period-regime/lib/state");
var state_34 = require("@aprilium/antssm_university/lib/state");
var state_35 = require("@aprilium/antssm_mail-address-type/lib/state");
//////////////////////////////////
var state_36 = require("@aprilium/antssm_address-type/lib/state");
var state_37 = require("@aprilium/antssm_request-type/lib/state");
var state_38 = require("@aprilium/antssm_request/lib/state");
var state_39 = require("@aprilium/antssm_related-person/lib/state");
var state_40 = require("@aprilium/antssm_user-type/lib/state");
var state_41 = require("@aprilium/antssm_classroom-type/lib/state");
var state_42 = require("@aprilium/antssm_session-type/lib/state");
var state_43 = require("@aprilium/antssm_address/lib/state");
//import sagas
var effects_2 = __importDefault(require("@aprilium/antssm_auth/lib/effects"));
var effects_3 = __importDefault(require("@aprilium/antssm_user-profile/lib/effects"));
var effects_4 = __importDefault(require("@aprilium/antssm_user-account/lib/effects"));
var effects_5 = __importDefault(require("@aprilium/antssm_country/lib/effects"));
var effects_6 = __importDefault(require("@aprilium/antssm_user-password/lib/effects"));
var effects_7 = __importDefault(require("@aprilium/antssm_user-photo/lib/effects"));
var effects_8 = __importDefault(require("@aprilium/antssm_configurations/lib/effects"));
var effects_9 = __importDefault(require("@aprilium/antssm_book/lib/effects"));
var effects_10 = __importDefault(require("@aprilium/antssm_category/lib/effects"));
var effects_11 = __importDefault(require("@aprilium/antssm_reservation/lib/effects"));
var effects_12 = __importDefault(require("@aprilium/antssm_book-category/lib/effects"));
var effects_13 = __importDefault(require("@aprilium/antssm_book-reservation/lib/effects"));
var effects_14 = __importDefault(require("@aprilium/antssm_book-wish/lib/effects"));
var effects_15 = __importDefault(require("@aprilium/antssm_mail-address/lib/effects"));
var effects_16 = __importDefault(require("@aprilium/antssm_phone-number/lib/effects"));
var effects_17 = __importDefault(require("@aprilium/antssm_family-situation/lib/effects"));
var effects_18 = __importDefault(require("@aprilium/antssm_gender/lib/effects"));
var effects_19 = __importDefault(require("@aprilium/antssm_civility/lib/effects"));
var effects_20 = __importDefault(require("@aprilium/antssm_person-language/lib/effects"));
var effects_21 = __importDefault(require("@aprilium/antssm_language/lib/effects"));
var effects_22 = __importDefault(require("@aprilium/antssm_speciality/lib/effects"));
var effects_23 = __importDefault(require("@aprilium/antssm_diploma-level/lib/effects"));
var effects_24 = __importDefault(require("@aprilium/antssm_cycle/lib/effects"));
var effects_25 = __importDefault(require("@aprilium/antssm_duration-unit/lib/effects"));
var effects_26 = __importDefault(require("@aprilium/antssm_duration/lib/effects"));
var effects_27 = __importDefault(require("@aprilium/antssm_university-regime/lib/effects"));
var effects_28 = __importDefault(require("@aprilium/antssm_diploma/lib/effects"));
var effects_29 = __importDefault(require("@aprilium/antssm_diploma-speciality/lib/effects"));
var effects_30 = __importDefault(require("@aprilium/antssm_diploma-duration/lib/effects"));
var effects_31 = __importDefault(require("@aprilium/antssm_level-diploma/lib/effects"));
var effects_32 = __importDefault(require("@aprilium/antssm_level/lib/effects"));
var effects_33 = __importDefault(require("@aprilium/antssm_university/lib/effects"));
var effects_34 = __importDefault(require("@aprilium/antssm_period/lib/effects"));
var effects_35 = __importDefault(require("@aprilium/antssm_university-diploma-period-regime/lib/effects"));
var effects_36 = __importDefault(require("@aprilium/antssm_mail-address-type/lib/effects"));
var effects_37 = __importDefault(require("@aprilium/antssm_request-type/lib/effects"));
var effects_38 = __importDefault(require("@aprilium/antssm_request/lib/effects"));
var effects_39 = __importDefault(require("@aprilium/antssm_related-person/lib/effects"));
var effects_40 = __importDefault(require("@aprilium/antssm_address/lib/effects"));
var effects_41 = __importDefault(require("@aprilium/antssm_user-type/lib/effects"));
var effects_42 = __importDefault(require("@aprilium/antssm_address-type/lib/effects"));
var effects_43 = __importDefault(require("@aprilium/antssm_classroom-type/lib/effects"));
var effects_44 = __importDefault(require("@aprilium/antssm_session-type/lib/effects"));
exports.sagaMiddleware = (0, redux_saga_1.default)();
exports.reducers = {
auth: state_1.authreducerFunction,
userProfile: state_2.userProfileReducerFunction,
userAccount: state_11.userAccountReducerFunction,
familySituation: state_3.familySituationReducerFunction,
mailAddress: state_16.mailAddressReducerFunction,
userPassword: state_4.userPasswordReducerFunction,
userPhoto: state_5.userPhotoReducerFunction,
country: state_7.countryReducerFunction,
phoneNumber: state_15.phoneNumberReducerFunction,
configuration: state_6.configurationReducerFunction,
book: state_8.bookReducerFunction,
bookWish: state_12.bookWishReducerFunction,
bookCategory: state_9.bookCategoryReducerFunction,
bookReservation: state_10.bookReservationReducerFunction,
category: state_13.categoryReducerFunction,
reservation: state_14.reservationReducerFunction,
mailAddressType: state_35.mailAddressTypeReducerFunction,
gender: state_18.genderReducerFunction,
language: state_24.languageReducerFunction,
civility: state_17.civilityReducerFunction,
personLanguage: state_19.personLanguageReducerFunction,
speciality: state_20.specialityReducerFunction,
cycle: state_21.cycleReducerFunction,
durationUnit: state_22.durationUnitReducerFunction,
duration: state_23.durationReducerFunction,
universityRegime: state_25.universityRegimeReducerFunction,
diplomaLevel: state_26.diplomaLevelReducerFunction,
diploma: state_27.diplomaReducerFunction,
diplomaSpeciality: state_28.diplomaSpecialityReducerFunction,
diplomaDuration: state_29.diplomaDurationReducerFunction,
levelDiploma: state_30.levelDiplomaReducerFunction,
level: state_31.levelReducerFunction,
university: state_34.universityReducerFunction,
period: state_32.periodReducerFunction,
universityDiplomaPeriodRegime: state_33.universityDiplomaPeriodRegimeReducerFunction,
addressType: state_36.addressTypeReducerFunction,
address: state_43.addressReducerFunction,
userType: state_40.userTypeReducerFunction,
requestType: state_37.requestTypeReducerFunction,
request: state_38.requestReducerFunction,
relatedPerson: state_39.relatedPersonReducerFunction,
classroomType: state_41.classroomTypeReducerFunction,
sessionType: state_42.sessionTypeReducerFunction,
};
exports.initialSagas = {
auth: effects_2.default,
userProfile: effects_3.default,
userAccount: effects_4.default,
familySituation: effects_17.default,
mailAddress: effects_15.default,
userPassword: effects_6.default,
userPhoto: effects_7.default,
country: effects_5.default,
phoneNumber: effects_16.default,
configuration: effects_8.default,
book: effects_9.default,
bookWish: effects_14.default,
bookCategory: effects_12.default,
bookReservation: effects_13.default,
category: effects_10.default,
reservation: effects_11.default,
mailAddressType: effects_36.default,
gender: effects_18.default,
language: effects_21.default,
civility: effects_19.default,
personLanguage: effects_20.default,
speciality: effects_22.default,
cycle: effects_24.default,
durationUnit: effects_25.default,
duration: effects_26.default,
universityRegime: effects_27.default,
diplomaLevel: effects_23.default,
diploma: effects_28.default,
diplomaSpeciality: effects_29.default,
diplomaDuration: effects_30.default,
levelDiploma: effects_31.default,
level: effects_32.default,
university: effects_33.default,
period: effects_34.default,
universityDiplomaPeriodRegime: effects_35.default,
requestType: effects_37.default,
request: effects_38.default,
relatedPerson: effects_39.default,
address: effects_40.default,
userType: effects_41.default,
addressType: effects_42.default,
classroomType: effects_43.default,
sessionType: effects_44.default,
};
exports.sagas = Object.keys(exports.initialSagas).map(function (key) { return exports.initialSagas[key]; });
function initSagaMiddleware(extraSagas, // local sagas from frontEnd Client
waitForRehydrate) {
if (extraSagas === void 0) { extraSagas = []; }
if (waitForRehydrate === void 0) { waitForRehydrate = false; }
console.log("extraSagas", extraSagas);
var _sagas = __spreadArray(__spreadArray([], exports.sagas, true), extraSagas, true);
console.log("_sagas", _sagas);
// It will initialize all sagas
function rootSaga() {
var instSagas;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
if (!waitForRehydrate) return [3 /*break*/, 2];
return [4 /*yield*/, (0, effects_1.take)(redux_persist_1.REHYDRATE)];
case 1:
_a.sent();
_a.label = 2;
case 2: return [4 /*yield*/, _sagas.map(function (saga) {
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, (0, effects_1.fork)(saga)];
case 1:
_a.sent();
return [2 /*return*/];
}
});
})];
case 3:
instSagas = _a.sent();
return [4 /*yield*/, (0, effects_1.all)(instSagas)];
case 4:
_a.sent();
return [2 /*return*/];
}
});
}
// Start the listener
exports.sagaMiddleware.run(rootSaga);
}
exports.initSagaMiddleware = initSagaMiddleware;
function configStore(extraMiddleWares, // Adding other middlewares
persistConfig, // Configuration for persistState
extraStates, // Adding other states in the store
replaceAllStates // It will keep only extraStates
) {
if (extraMiddleWares === void 0) { extraMiddleWares = []; }
if (extraStates === void 0) { extraStates = {}; }
if (replaceAllStates === void 0) { replaceAllStates = false; }
console.log("configuration du store");
console.log("extra middleware", extraMiddleWares);
var _reducers = (0, redux_1.combineReducers)(__assign(__assign({}, exports.reducers), extraStates));
if (replaceAllStates) {
_reducers = (0, redux_1.combineReducers)(__assign({}, extraStates));
}
var _middleWares = __spreadArray(__spreadArray([], extraMiddleWares, true), [exports.sagaMiddleware], false);
// @ts-ignore
var persistedReducer = (0, redux_persist_1.persistReducer)(persistConfig, _reducers);
var store = (0, redux_1.createStore)(persistedReducer, redux_1.applyMiddleware.apply(void 0, _middleWares));
var persistor = (0, redux_persist_1.persistStore)(store);
return { store: store, persistor: persistor, PersistGate: react_1.PersistGate };
}
exports.default = configStore;