UNPKG

@aprilium/antssm_global-state

Version:

global state

304 lines (303 loc) 17.2 kB
"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;