@aprilium/tripsm_global-states 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.d.ts +31 -0
- package/lib/index.js +142 -0
- package/package.json +7 -3
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/// <reference types="redux-persist/types/types" />
|
|
2
|
+
import { Store } from 'redux';
|
|
3
|
+
import { Saga } from 'redux-saga';
|
|
4
|
+
import { PersistGate } from 'redux-persist/integration/react';
|
|
5
|
+
import { PersistConfig } from 'redux-persist';
|
|
6
|
+
import { PassengerState } from '@aprilium/tripsm_passenger/lib/state';
|
|
7
|
+
import passengerSaga from '@aprilium/tripsm_passenger/lib/effects';
|
|
8
|
+
export declare const sagaMiddleware: import("redux-saga").SagaMiddleware<object>;
|
|
9
|
+
export declare const reducers: {
|
|
10
|
+
passenger: import("immer-reducer").ImmerReducerFunction<typeof PassengerState>;
|
|
11
|
+
};
|
|
12
|
+
export declare const initialSagas: {
|
|
13
|
+
passenger: typeof passengerSaga;
|
|
14
|
+
};
|
|
15
|
+
export type States = {
|
|
16
|
+
passenger: PassengerState;
|
|
17
|
+
};
|
|
18
|
+
export type StateName = 'passenger';
|
|
19
|
+
export declare function setUrlConfig(coreApi: string, debugMode?: boolean): void;
|
|
20
|
+
export declare const sagas: (typeof passengerSaga)[];
|
|
21
|
+
export declare function initSagaMiddleware(extraSagas?: Array<Saga>, // local sagas from frontEnd Client
|
|
22
|
+
waitForRehydrate?: boolean): void;
|
|
23
|
+
declare function configStore(extraMiddleWares: any[] | undefined, // Adding other middlewares
|
|
24
|
+
persistConfig: PersistConfig<unknown, any, any, any>, // Configuration for persistState
|
|
25
|
+
extraStates?: any, // Adding other states in the store
|
|
26
|
+
replaceAllStates?: boolean): {
|
|
27
|
+
store: Store<any, any>;
|
|
28
|
+
persistor: import("redux-persist").Persistor;
|
|
29
|
+
PersistGate: typeof PersistGate;
|
|
30
|
+
};
|
|
31
|
+
export default configStore;
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
14
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
15
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
16
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
17
|
+
function step(op) {
|
|
18
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
19
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
20
|
+
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;
|
|
21
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
22
|
+
switch (op[0]) {
|
|
23
|
+
case 0: case 1: t = op; break;
|
|
24
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
25
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
26
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
27
|
+
default:
|
|
28
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
29
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
30
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
31
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
32
|
+
if (t[2]) _.ops.pop();
|
|
33
|
+
_.trys.pop(); continue;
|
|
34
|
+
}
|
|
35
|
+
op = body.call(thisArg, _);
|
|
36
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
37
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
41
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
42
|
+
if (ar || !(i in from)) {
|
|
43
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
44
|
+
ar[i] = from[i];
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
48
|
+
};
|
|
49
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
50
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
|
+
};
|
|
52
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
|
+
exports.initSagaMiddleware = exports.sagas = exports.setUrlConfig = exports.initialSagas = exports.reducers = exports.sagaMiddleware = void 0;
|
|
54
|
+
var redux_1 = require("redux");
|
|
55
|
+
var redux_saga_1 = __importDefault(require("redux-saga"));
|
|
56
|
+
var effects_1 = require("redux-saga/effects");
|
|
57
|
+
var react_1 = require("redux-persist/integration/react");
|
|
58
|
+
var redux_persist_1 = require("redux-persist");
|
|
59
|
+
var lib_1 = require("@aprilium/tripsm_passenger/lib");
|
|
60
|
+
//import state
|
|
61
|
+
var state_1 = require("@aprilium/tripsm_passenger/lib/state");
|
|
62
|
+
//import sagas
|
|
63
|
+
var effects_2 = __importDefault(require("@aprilium/tripsm_passenger/lib/effects"));
|
|
64
|
+
exports.sagaMiddleware = (0, redux_saga_1.default)();
|
|
65
|
+
exports.reducers = {
|
|
66
|
+
passenger: state_1.PassengerReducerFunction
|
|
67
|
+
};
|
|
68
|
+
exports.initialSagas = {
|
|
69
|
+
passenger: effects_2.default
|
|
70
|
+
};
|
|
71
|
+
function setUrlConfig(coreApi, debugMode) {
|
|
72
|
+
if (debugMode === void 0) { debugMode = false; }
|
|
73
|
+
lib_1.urlsConfig.setURls({
|
|
74
|
+
CORE_BASE_URL: coreApi,
|
|
75
|
+
DEBUG_MODE: debugMode
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
exports.setUrlConfig = setUrlConfig;
|
|
79
|
+
exports.sagas = Object.keys(exports.initialSagas).map(function (key) { return exports.initialSagas[key]; });
|
|
80
|
+
function initSagaMiddleware(extraSagas, // local sagas from frontEnd Client
|
|
81
|
+
waitForRehydrate) {
|
|
82
|
+
if (extraSagas === void 0) { extraSagas = []; }
|
|
83
|
+
if (waitForRehydrate === void 0) { waitForRehydrate = false; }
|
|
84
|
+
console.log("extraSagas", extraSagas);
|
|
85
|
+
var _sagas = __spreadArray(__spreadArray([], exports.sagas, true), extraSagas, true);
|
|
86
|
+
console.log("_sagas", _sagas);
|
|
87
|
+
// It will initialize all sagas
|
|
88
|
+
function rootSaga() {
|
|
89
|
+
var instSagas;
|
|
90
|
+
return __generator(this, function (_a) {
|
|
91
|
+
switch (_a.label) {
|
|
92
|
+
case 0:
|
|
93
|
+
if (!waitForRehydrate) return [3 /*break*/, 2];
|
|
94
|
+
return [4 /*yield*/, (0, effects_1.take)(redux_persist_1.REHYDRATE)];
|
|
95
|
+
case 1:
|
|
96
|
+
_a.sent();
|
|
97
|
+
_a.label = 2;
|
|
98
|
+
case 2: return [4 /*yield*/, _sagas.map(function (saga) {
|
|
99
|
+
return __generator(this, function (_a) {
|
|
100
|
+
switch (_a.label) {
|
|
101
|
+
case 0: return [4 /*yield*/, (0, effects_1.fork)(saga)];
|
|
102
|
+
case 1:
|
|
103
|
+
_a.sent();
|
|
104
|
+
return [2 /*return*/];
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
})];
|
|
108
|
+
case 3:
|
|
109
|
+
instSagas = _a.sent();
|
|
110
|
+
return [4 /*yield*/, (0, effects_1.all)(instSagas)];
|
|
111
|
+
case 4:
|
|
112
|
+
_a.sent();
|
|
113
|
+
return [2 /*return*/];
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
// Start the listener
|
|
118
|
+
exports.sagaMiddleware.run(rootSaga);
|
|
119
|
+
}
|
|
120
|
+
exports.initSagaMiddleware = initSagaMiddleware;
|
|
121
|
+
function configStore(extraMiddleWares, // Adding other middlewares
|
|
122
|
+
persistConfig, // Configuration for persistState
|
|
123
|
+
extraStates, // Adding other states in the store
|
|
124
|
+
replaceAllStates // It will keep only extraStates
|
|
125
|
+
) {
|
|
126
|
+
if (extraMiddleWares === void 0) { extraMiddleWares = []; }
|
|
127
|
+
if (extraStates === void 0) { extraStates = {}; }
|
|
128
|
+
if (replaceAllStates === void 0) { replaceAllStates = false; }
|
|
129
|
+
console.log("configuration du store");
|
|
130
|
+
console.log("extra middleware", extraMiddleWares);
|
|
131
|
+
var _reducers = (0, redux_1.combineReducers)(__assign(__assign({}, exports.reducers), extraStates));
|
|
132
|
+
if (replaceAllStates) {
|
|
133
|
+
_reducers = (0, redux_1.combineReducers)(__assign({}, extraStates));
|
|
134
|
+
}
|
|
135
|
+
var _middleWares = __spreadArray(__spreadArray([], extraMiddleWares, true), [exports.sagaMiddleware], false);
|
|
136
|
+
// @ts-ignore
|
|
137
|
+
var persistedReducer = (0, redux_persist_1.persistReducer)(persistConfig, _reducers);
|
|
138
|
+
var store = (0, redux_1.createStore)(persistedReducer, redux_1.applyMiddleware.apply(void 0, _middleWares));
|
|
139
|
+
var persistor = (0, redux_persist_1.persistStore)(store);
|
|
140
|
+
return { store: store, persistor: persistor, PersistGate: react_1.PersistGate };
|
|
141
|
+
}
|
|
142
|
+
exports.default = configStore;
|
package/package.json
CHANGED
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aprilium/tripsm_global-states",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"description": "global states",
|
|
5
|
-
"main": "
|
|
5
|
+
"main": "lib/index.js",
|
|
6
|
+
"types": "lib/index.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"lib/**"
|
|
9
|
+
],
|
|
6
10
|
"scripts": {
|
|
7
11
|
"test": "echo \"Error: no test specified\" && exit 1",
|
|
8
12
|
"build":"tsc"
|
|
9
13
|
},
|
|
10
14
|
"dependencies": {
|
|
11
|
-
"@aprilium/tripsm_passenger": "^0.0.
|
|
15
|
+
"@aprilium/tripsm_passenger": "^0.0.5",
|
|
12
16
|
"@aprilium/tripsm_common": "^0.0.3",
|
|
13
17
|
"@types/react": "^17.0.0",
|
|
14
18
|
"axios": "^0.21.1",
|