@elliemae/pui-app-sdk 4.10.0-beta.1 → 4.10.0-beta.3
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/dist/cjs/communication/http-client/baseQuery.js +42 -0
- package/dist/cjs/data/errorMiddleware.js +31 -0
- package/dist/cjs/data/listenerMiddleware.js +58 -0
- package/dist/cjs/data/queryMiddleware.js +51 -0
- package/dist/cjs/data/redux-injectors.js +25 -9
- package/dist/cjs/data/store.js +4 -6
- package/dist/cjs/index.js +10 -3
- package/dist/esm/communication/http-client/baseQuery.js +22 -0
- package/dist/esm/data/errorMiddleware.js +11 -0
- package/dist/esm/data/listenerMiddleware.js +38 -0
- package/dist/esm/data/queryMiddleware.js +31 -0
- package/dist/esm/data/redux-injectors.js +33 -11
- package/dist/esm/data/store.js +4 -6
- package/dist/esm/index.js +8 -1
- package/dist/types/lib/communication/http-client/baseQuery.d.ts +14 -0
- package/dist/types/lib/communication/http-client/index.d.ts +1 -1
- package/dist/types/lib/data/errorMiddleware.d.ts +2 -0
- package/dist/types/lib/data/listenerMiddleware.d.ts +11 -0
- package/dist/types/lib/data/queryMiddleware.d.ts +9 -0
- package/dist/types/lib/data/redux-injectors.d.ts +9 -4
- package/dist/types/lib/data/store.d.ts +4 -3
- package/dist/types/lib/index.d.ts +4 -1
- package/dist/types/lib/utils/testing/render-with-redux.d.ts +2 -2
- package/dist/types/lib/utils/testing/render-with-router-redux.d.ts +2 -2
- package/package.json +4 -4
- package/dist/cjs/data/middleware.js +0 -69
- package/dist/esm/data/middleware.js +0 -49
- package/dist/types/lib/data/middleware.d.ts +0 -16
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var baseQuery_exports = {};
|
|
20
|
+
__export(baseQuery_exports, {
|
|
21
|
+
sdkBaseQuery: () => sdkBaseQuery
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(baseQuery_exports);
|
|
24
|
+
var import_index = require("./index.js");
|
|
25
|
+
const sdkBaseQuery = ({ baseUrl } = {}) => async ({ url, method, data, params, headers }) => {
|
|
26
|
+
try {
|
|
27
|
+
const result = await (0, import_index.getAuthHTTPClient)({
|
|
28
|
+
baseURL: baseUrl,
|
|
29
|
+
headers
|
|
30
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
31
|
+
}).request({ url, method, data, params });
|
|
32
|
+
return { data: result.data };
|
|
33
|
+
} catch (axiosError) {
|
|
34
|
+
const err = axiosError;
|
|
35
|
+
return {
|
|
36
|
+
error: {
|
|
37
|
+
status: err.response?.status,
|
|
38
|
+
data: err.response?.data || err.message
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var errorMiddleware_exports = {};
|
|
20
|
+
__export(errorMiddleware_exports, {
|
|
21
|
+
errorMiddleware: () => errorMiddleware
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(errorMiddleware_exports);
|
|
24
|
+
var import_toolkit = require("@reduxjs/toolkit");
|
|
25
|
+
var import_error = require("./error/index.js");
|
|
26
|
+
const errorMiddleware = (api) => (next) => (action) => {
|
|
27
|
+
if ((0, import_toolkit.isRejectedWithValue)(action)) {
|
|
28
|
+
api.dispatch(import_error.actions.set({ messageText: action?.error?.data?.message }));
|
|
29
|
+
}
|
|
30
|
+
return next(action);
|
|
31
|
+
};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var listenerMiddleware_exports = {};
|
|
20
|
+
__export(listenerMiddleware_exports, {
|
|
21
|
+
addListener: () => addListener,
|
|
22
|
+
listenerMiddleware: () => listenerMiddleware,
|
|
23
|
+
removeListener: () => removeListener,
|
|
24
|
+
resetListeners: () => resetListeners
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(listenerMiddleware_exports);
|
|
27
|
+
var import_toolkit = require("@reduxjs/toolkit");
|
|
28
|
+
let listenerAPI;
|
|
29
|
+
const rtkListenerMiddleware = (0, import_toolkit.createListenerMiddleware)();
|
|
30
|
+
const listenerDispatchFns = /* @__PURE__ */ new Map();
|
|
31
|
+
const listenerMiddleware = (_listenerAPI) => {
|
|
32
|
+
listenerAPI = _listenerAPI;
|
|
33
|
+
return rtkListenerMiddleware.middleware(listenerAPI);
|
|
34
|
+
};
|
|
35
|
+
const addListener = ({
|
|
36
|
+
key,
|
|
37
|
+
listener
|
|
38
|
+
}) => {
|
|
39
|
+
if (listenerDispatchFns.has(key) && listenerAPI) {
|
|
40
|
+
listenerDispatchFns.set(key, listener);
|
|
41
|
+
return rtkListenerMiddleware.startListening(listener);
|
|
42
|
+
}
|
|
43
|
+
return null;
|
|
44
|
+
};
|
|
45
|
+
const removeListener = (key) => {
|
|
46
|
+
const listener = listenerDispatchFns.get(key);
|
|
47
|
+
if (listener) {
|
|
48
|
+
listenerDispatchFns.delete(key);
|
|
49
|
+
return rtkListenerMiddleware.stopListening(listener);
|
|
50
|
+
}
|
|
51
|
+
return true;
|
|
52
|
+
};
|
|
53
|
+
const resetListeners = () => {
|
|
54
|
+
listenerDispatchFns.forEach((listener) => {
|
|
55
|
+
rtkListenerMiddleware.stopListening(listener);
|
|
56
|
+
});
|
|
57
|
+
listenerDispatchFns.clear();
|
|
58
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var queryMiddleware_exports = {};
|
|
20
|
+
__export(queryMiddleware_exports, {
|
|
21
|
+
addMiddleware: () => addMiddleware,
|
|
22
|
+
queryMiddleware: () => queryMiddleware,
|
|
23
|
+
removeMiddleware: () => removeMiddleware,
|
|
24
|
+
resetMiddlewares: () => resetMiddlewares
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(queryMiddleware_exports);
|
|
27
|
+
var import_redux = require("redux");
|
|
28
|
+
const middlewareDispatchFns = /* @__PURE__ */ new Map();
|
|
29
|
+
let store;
|
|
30
|
+
const queryMiddleware = (_store) => {
|
|
31
|
+
store = _store;
|
|
32
|
+
const dispatchFns = Array.from(middlewareDispatchFns.values());
|
|
33
|
+
return (next) => (action) => (
|
|
34
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
35
|
+
(0, import_redux.compose)(...dispatchFns)(next)(action)
|
|
36
|
+
);
|
|
37
|
+
};
|
|
38
|
+
const addMiddleware = ({
|
|
39
|
+
key,
|
|
40
|
+
middleware
|
|
41
|
+
}) => {
|
|
42
|
+
if (middlewareDispatchFns.has(key) || !store)
|
|
43
|
+
return;
|
|
44
|
+
middlewareDispatchFns.set(key, middleware(store));
|
|
45
|
+
};
|
|
46
|
+
const removeMiddleware = (key) => {
|
|
47
|
+
middlewareDispatchFns.delete(key);
|
|
48
|
+
};
|
|
49
|
+
const resetMiddlewares = () => {
|
|
50
|
+
middlewareDispatchFns.clear();
|
|
51
|
+
};
|
|
@@ -18,20 +18,36 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var redux_injectors_exports = {};
|
|
20
20
|
__export(redux_injectors_exports, {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
useInjectSaga: () => import_redux_injectors2.useInjectSaga
|
|
21
|
+
useInjectListener: () => useInjectListener,
|
|
22
|
+
useInjectQuery: () => useInjectQuery
|
|
24
23
|
});
|
|
25
24
|
module.exports = __toCommonJS(redux_injectors_exports);
|
|
25
|
+
var import_react = require("react");
|
|
26
26
|
var import_redux_injectors = require("redux-injectors");
|
|
27
|
-
var
|
|
28
|
-
var
|
|
29
|
-
const
|
|
27
|
+
var import_queryMiddleware = require("./queryMiddleware.js");
|
|
28
|
+
var import_listenerMiddleware = require("./listenerMiddleware.js");
|
|
29
|
+
const useInjectQuery = ({
|
|
30
30
|
key,
|
|
31
31
|
reducer,
|
|
32
|
-
|
|
32
|
+
queryMiddleware
|
|
33
33
|
}) => {
|
|
34
34
|
(0, import_redux_injectors.useInjectReducer)({ key, reducer });
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
return (0, import_react.useEffect)(() => {
|
|
36
|
+
if (!queryMiddleware)
|
|
37
|
+
return () => {
|
|
38
|
+
};
|
|
39
|
+
(0, import_queryMiddleware.addMiddleware)({ key, middleware: queryMiddleware });
|
|
40
|
+
return () => {
|
|
41
|
+
(0, import_queryMiddleware.removeMiddleware)(key);
|
|
42
|
+
};
|
|
43
|
+
}, [key, reducer, queryMiddleware]);
|
|
37
44
|
};
|
|
45
|
+
const useInjectListener = ({
|
|
46
|
+
key,
|
|
47
|
+
listener
|
|
48
|
+
}) => (0, import_react.useEffect)(() => {
|
|
49
|
+
(0, import_listenerMiddleware.addListener)({ key, listener });
|
|
50
|
+
return () => {
|
|
51
|
+
(0, import_listenerMiddleware.removeListener)(key);
|
|
52
|
+
};
|
|
53
|
+
}, [key, listener]);
|
package/dist/cjs/data/store.js
CHANGED
|
@@ -39,14 +39,15 @@ var import_redux_injectors = require("redux-injectors");
|
|
|
39
39
|
var import_redux_saga = __toESM(require("redux-saga"));
|
|
40
40
|
var import_reducers = require("./reducers.js");
|
|
41
41
|
var import_webpack_hmr = require("./webpack-hmr.js");
|
|
42
|
-
var
|
|
42
|
+
var import_queryMiddleware = require("./queryMiddleware.js");
|
|
43
|
+
var import_listenerMiddleware = require("./listenerMiddleware.js");
|
|
43
44
|
const rootReducer = (0, import_reducers.createReducer)();
|
|
44
45
|
let appStore = null;
|
|
45
46
|
const setStore = (store) => {
|
|
46
47
|
appStore = store;
|
|
47
48
|
};
|
|
48
49
|
const getStore = () => appStore;
|
|
49
|
-
const createStore = (initialState, sagaMiddleware, history, middlewareConfig = {
|
|
50
|
+
const createStore = (initialState, sagaMiddleware, history, middlewareConfig = {}) => {
|
|
50
51
|
const { run: runSaga } = sagaMiddleware;
|
|
51
52
|
const enhancers = [
|
|
52
53
|
(0, import_redux_injectors.createInjectorsEnhancer)({
|
|
@@ -56,10 +57,7 @@ const createStore = (initialState, sagaMiddleware, history, middlewareConfig = {
|
|
|
56
57
|
];
|
|
57
58
|
const baseStore = (0, import_toolkit.configureStore)({
|
|
58
59
|
reducer: rootReducer,
|
|
59
|
-
middleware: (getDefaultMiddleware) => getDefaultMiddleware(middlewareConfig).concat([
|
|
60
|
-
sagaMiddleware,
|
|
61
|
-
import_middleware.default
|
|
62
|
-
]),
|
|
60
|
+
middleware: (getDefaultMiddleware) => getDefaultMiddleware(middlewareConfig).prepend(import_listenerMiddleware.listenerMiddleware).concat([sagaMiddleware, import_queryMiddleware.queryMiddleware]),
|
|
63
61
|
devTools: true,
|
|
64
62
|
preloadedState: initialState,
|
|
65
63
|
enhancers
|
package/dist/cjs/index.js
CHANGED
|
@@ -68,9 +68,10 @@ __export(lib_exports, {
|
|
|
68
68
|
auth: () => import_actions.auth,
|
|
69
69
|
authorize: () => import_auth.authorize,
|
|
70
70
|
configureStore: () => import_store.createAppStore,
|
|
71
|
-
createManager: () =>
|
|
71
|
+
createManager: () => import_data.createManager,
|
|
72
72
|
enableReactAppForHostIntegration: () => import_react.enableReactAppForHostIntegration,
|
|
73
73
|
error: () => import_error.actions,
|
|
74
|
+
errorMiddleware: () => import_errorMiddleware.errorMiddleware,
|
|
74
75
|
fetchHostAppData: () => import_fetch_host_app_data.fetchHostAppData,
|
|
75
76
|
fetchUserSettings: () => import_users.getUser,
|
|
76
77
|
getApiActionCreator: () => import_helpers2.getApiActionCreator,
|
|
@@ -108,6 +109,7 @@ __export(lib_exports, {
|
|
|
108
109
|
renderWithRouter: () => import_render_with_router.renderWithRouter,
|
|
109
110
|
renderWithRouterRedux: () => import_render_with_router_redux.renderWithRouterRedux,
|
|
110
111
|
resetUserIdleTime: () => import_session.resetUserIdleTime,
|
|
112
|
+
sdkBaseQuery: () => import_baseQuery.sdkBaseQuery,
|
|
111
113
|
sendBAEvent: () => import_analytics.sendBAEvent,
|
|
112
114
|
sendMessageToHost: () => import_message_to_host_app.sendMessageToHost,
|
|
113
115
|
setAppConfig: () => import_config.setAppConfig,
|
|
@@ -121,8 +123,10 @@ __export(lib_exports, {
|
|
|
121
123
|
updateBAEventParameters: () => import_web_analytics.updateBAEventParameters,
|
|
122
124
|
useAppDispatch: () => import_react_redux.useAppDispatch,
|
|
123
125
|
useAppSelector: () => import_react_redux.useAppSelector,
|
|
124
|
-
|
|
125
|
-
|
|
126
|
+
useInjectListener: () => import_redux_injectors.useInjectListener,
|
|
127
|
+
useInjectQuery: () => import_redux_injectors.useInjectQuery,
|
|
128
|
+
useInjectReducer: () => import_data.useInjectReducer,
|
|
129
|
+
useInjectSaga: () => import_data.useInjectSaga,
|
|
126
130
|
useMediaQueryList: () => import_use_media_query_list.useMediaQueryList,
|
|
127
131
|
waitMessageAction: () => import_actions3.waitMessage,
|
|
128
132
|
withAppDecorator: () => import_decorator.withAppDecorator
|
|
@@ -130,13 +134,16 @@ __export(lib_exports, {
|
|
|
130
134
|
module.exports = __toCommonJS(lib_exports);
|
|
131
135
|
var import_auth = require("./utils/auth/index.js");
|
|
132
136
|
var import_http_client = require("./communication/http-client/index.js");
|
|
137
|
+
var import_baseQuery = require("./communication/http-client/baseQuery.js");
|
|
133
138
|
var import_response_interceptor = require("./communication/http-client/response-interceptor.js");
|
|
134
139
|
var import_actions = require("./data/auth/actions.js");
|
|
135
140
|
var import_require_auth = require("./view/require-auth.js");
|
|
136
141
|
var import_page = require("./view/page.js");
|
|
137
142
|
var import_constants = __toESM(require("./utils/constants.js"));
|
|
138
143
|
var import_react_redux = require("./data/react-redux.js");
|
|
144
|
+
var import_data = require("./data/index.js");
|
|
139
145
|
var import_redux_injectors = require("./data/redux-injectors.js");
|
|
146
|
+
var import_errorMiddleware = require("./data/errorMiddleware.js");
|
|
140
147
|
var import_helper = require("./utils/auth/helper.js");
|
|
141
148
|
var import_url = require("./utils/url.js");
|
|
142
149
|
var import_store = require("./data/store.js");
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { getAuthHTTPClient } from "./index.js";
|
|
2
|
+
const sdkBaseQuery = ({ baseUrl } = {}) => async ({ url, method, data, params, headers }) => {
|
|
3
|
+
try {
|
|
4
|
+
const result = await getAuthHTTPClient({
|
|
5
|
+
baseURL: baseUrl,
|
|
6
|
+
headers
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
8
|
+
}).request({ url, method, data, params });
|
|
9
|
+
return { data: result.data };
|
|
10
|
+
} catch (axiosError) {
|
|
11
|
+
const err = axiosError;
|
|
12
|
+
return {
|
|
13
|
+
error: {
|
|
14
|
+
status: err.response?.status,
|
|
15
|
+
data: err.response?.data || err.message
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
export {
|
|
21
|
+
sdkBaseQuery
|
|
22
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { isRejectedWithValue } from "@reduxjs/toolkit";
|
|
2
|
+
import { actions as error } from "./error/index.js";
|
|
3
|
+
const errorMiddleware = (api) => (next) => (action) => {
|
|
4
|
+
if (isRejectedWithValue(action)) {
|
|
5
|
+
api.dispatch(error.set({ messageText: action?.error?.data?.message }));
|
|
6
|
+
}
|
|
7
|
+
return next(action);
|
|
8
|
+
};
|
|
9
|
+
export {
|
|
10
|
+
errorMiddleware
|
|
11
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { createListenerMiddleware } from "@reduxjs/toolkit";
|
|
2
|
+
let listenerAPI;
|
|
3
|
+
const rtkListenerMiddleware = createListenerMiddleware();
|
|
4
|
+
const listenerDispatchFns = /* @__PURE__ */ new Map();
|
|
5
|
+
const listenerMiddleware = (_listenerAPI) => {
|
|
6
|
+
listenerAPI = _listenerAPI;
|
|
7
|
+
return rtkListenerMiddleware.middleware(listenerAPI);
|
|
8
|
+
};
|
|
9
|
+
const addListener = ({
|
|
10
|
+
key,
|
|
11
|
+
listener
|
|
12
|
+
}) => {
|
|
13
|
+
if (listenerDispatchFns.has(key) && listenerAPI) {
|
|
14
|
+
listenerDispatchFns.set(key, listener);
|
|
15
|
+
return rtkListenerMiddleware.startListening(listener);
|
|
16
|
+
}
|
|
17
|
+
return null;
|
|
18
|
+
};
|
|
19
|
+
const removeListener = (key) => {
|
|
20
|
+
const listener = listenerDispatchFns.get(key);
|
|
21
|
+
if (listener) {
|
|
22
|
+
listenerDispatchFns.delete(key);
|
|
23
|
+
return rtkListenerMiddleware.stopListening(listener);
|
|
24
|
+
}
|
|
25
|
+
return true;
|
|
26
|
+
};
|
|
27
|
+
const resetListeners = () => {
|
|
28
|
+
listenerDispatchFns.forEach((listener) => {
|
|
29
|
+
rtkListenerMiddleware.stopListening(listener);
|
|
30
|
+
});
|
|
31
|
+
listenerDispatchFns.clear();
|
|
32
|
+
};
|
|
33
|
+
export {
|
|
34
|
+
addListener,
|
|
35
|
+
listenerMiddleware,
|
|
36
|
+
removeListener,
|
|
37
|
+
resetListeners
|
|
38
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { compose } from "redux";
|
|
2
|
+
const middlewareDispatchFns = /* @__PURE__ */ new Map();
|
|
3
|
+
let store;
|
|
4
|
+
const queryMiddleware = (_store) => {
|
|
5
|
+
store = _store;
|
|
6
|
+
const dispatchFns = Array.from(middlewareDispatchFns.values());
|
|
7
|
+
return (next) => (action) => (
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
9
|
+
compose(...dispatchFns)(next)(action)
|
|
10
|
+
);
|
|
11
|
+
};
|
|
12
|
+
const addMiddleware = ({
|
|
13
|
+
key,
|
|
14
|
+
middleware
|
|
15
|
+
}) => {
|
|
16
|
+
if (middlewareDispatchFns.has(key) || !store)
|
|
17
|
+
return;
|
|
18
|
+
middlewareDispatchFns.set(key, middleware(store));
|
|
19
|
+
};
|
|
20
|
+
const removeMiddleware = (key) => {
|
|
21
|
+
middlewareDispatchFns.delete(key);
|
|
22
|
+
};
|
|
23
|
+
const resetMiddlewares = () => {
|
|
24
|
+
middlewareDispatchFns.clear();
|
|
25
|
+
};
|
|
26
|
+
export {
|
|
27
|
+
addMiddleware,
|
|
28
|
+
queryMiddleware,
|
|
29
|
+
removeMiddleware,
|
|
30
|
+
resetMiddlewares
|
|
31
|
+
};
|
|
@@ -1,17 +1,39 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { useEffect } from "react";
|
|
2
|
+
import { useInjectReducer } from "redux-injectors";
|
|
3
|
+
import {
|
|
4
|
+
addMiddleware,
|
|
5
|
+
removeMiddleware
|
|
6
|
+
} from "./queryMiddleware.js";
|
|
7
|
+
import {
|
|
8
|
+
addListener,
|
|
9
|
+
removeListener
|
|
10
|
+
} from "./listenerMiddleware.js";
|
|
11
|
+
const useInjectQuery = ({
|
|
4
12
|
key,
|
|
5
13
|
reducer,
|
|
6
|
-
|
|
14
|
+
queryMiddleware
|
|
7
15
|
}) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
16
|
+
useInjectReducer({ key, reducer });
|
|
17
|
+
return useEffect(() => {
|
|
18
|
+
if (!queryMiddleware)
|
|
19
|
+
return () => {
|
|
20
|
+
};
|
|
21
|
+
addMiddleware({ key, middleware: queryMiddleware });
|
|
22
|
+
return () => {
|
|
23
|
+
removeMiddleware(key);
|
|
24
|
+
};
|
|
25
|
+
}, [key, reducer, queryMiddleware]);
|
|
11
26
|
};
|
|
12
|
-
|
|
27
|
+
const useInjectListener = ({
|
|
28
|
+
key,
|
|
29
|
+
listener
|
|
30
|
+
}) => useEffect(() => {
|
|
31
|
+
addListener({ key, listener });
|
|
32
|
+
return () => {
|
|
33
|
+
removeListener(key);
|
|
34
|
+
};
|
|
35
|
+
}, [key, listener]);
|
|
13
36
|
export {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
useInjectSaga
|
|
37
|
+
useInjectListener,
|
|
38
|
+
useInjectQuery
|
|
17
39
|
};
|
package/dist/esm/data/store.js
CHANGED
|
@@ -4,14 +4,15 @@ import { createInjectorsEnhancer } from "redux-injectors";
|
|
|
4
4
|
import createSagaMiddleware from "redux-saga";
|
|
5
5
|
import { createReducer } from "./reducers.js";
|
|
6
6
|
import { enableHotReloading } from "./webpack-hmr.js";
|
|
7
|
-
import
|
|
7
|
+
import { queryMiddleware } from "./queryMiddleware.js";
|
|
8
|
+
import { listenerMiddleware } from "./listenerMiddleware.js";
|
|
8
9
|
const rootReducer = createReducer();
|
|
9
10
|
let appStore = null;
|
|
10
11
|
const setStore = (store) => {
|
|
11
12
|
appStore = store;
|
|
12
13
|
};
|
|
13
14
|
const getStore = () => appStore;
|
|
14
|
-
const createStore = (initialState, sagaMiddleware, history, middlewareConfig = {
|
|
15
|
+
const createStore = (initialState, sagaMiddleware, history, middlewareConfig = {}) => {
|
|
15
16
|
const { run: runSaga } = sagaMiddleware;
|
|
16
17
|
const enhancers = [
|
|
17
18
|
createInjectorsEnhancer({
|
|
@@ -21,10 +22,7 @@ const createStore = (initialState, sagaMiddleware, history, middlewareConfig = {
|
|
|
21
22
|
];
|
|
22
23
|
const baseStore = configureStore({
|
|
23
24
|
reducer: rootReducer,
|
|
24
|
-
middleware: (getDefaultMiddleware) => getDefaultMiddleware(middlewareConfig).concat([
|
|
25
|
-
sagaMiddleware,
|
|
26
|
-
dynamicMiddleware
|
|
27
|
-
]),
|
|
25
|
+
middleware: (getDefaultMiddleware) => getDefaultMiddleware(middlewareConfig).prepend(listenerMiddleware).concat([sagaMiddleware, queryMiddleware]),
|
|
28
26
|
devTools: true,
|
|
29
27
|
preloadedState: initialState,
|
|
30
28
|
enhancers
|
package/dist/esm/index.js
CHANGED
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
getHTTPClient,
|
|
4
4
|
getAuthHTTPClient
|
|
5
5
|
} from "./communication/http-client/index.js";
|
|
6
|
+
import { sdkBaseQuery } from "./communication/http-client/baseQuery.js";
|
|
6
7
|
import { onAuthorizationFailure } from "./communication/http-client/response-interceptor.js";
|
|
7
8
|
import { auth } from "./data/auth/actions.js";
|
|
8
9
|
import { RequireAuth } from "./view/require-auth.js";
|
|
@@ -13,7 +14,9 @@ import {
|
|
|
13
14
|
useInjectReducer,
|
|
14
15
|
useInjectSaga,
|
|
15
16
|
createManager
|
|
16
|
-
} from "./data/
|
|
17
|
+
} from "./data/index.js";
|
|
18
|
+
import { useInjectQuery, useInjectListener } from "./data/redux-injectors.js";
|
|
19
|
+
import { errorMiddleware } from "./data/errorMiddleware.js";
|
|
17
20
|
import { getAuthorizationHeader } from "./utils/auth/helper.js";
|
|
18
21
|
import { getRedirectUrl, removeDoubleSlash } from "./utils/url.js";
|
|
19
22
|
import { createAppStore } from "./data/store.js";
|
|
@@ -150,6 +153,7 @@ export {
|
|
|
150
153
|
createManager,
|
|
151
154
|
enableReactAppForHostIntegration,
|
|
152
155
|
actions2 as error,
|
|
156
|
+
errorMiddleware,
|
|
153
157
|
fetchHostAppData,
|
|
154
158
|
getUser as fetchUserSettings,
|
|
155
159
|
getApiActionCreator,
|
|
@@ -187,6 +191,7 @@ export {
|
|
|
187
191
|
renderWithRouter,
|
|
188
192
|
renderWithRouterRedux,
|
|
189
193
|
resetUserIdleTime,
|
|
194
|
+
sdkBaseQuery,
|
|
190
195
|
sendBAEvent,
|
|
191
196
|
sendMessageToHost,
|
|
192
197
|
setAppConfig,
|
|
@@ -200,6 +205,8 @@ export {
|
|
|
200
205
|
updateBAEventParameters,
|
|
201
206
|
useAppDispatch,
|
|
202
207
|
useAppSelector,
|
|
208
|
+
useInjectListener,
|
|
209
|
+
useInjectQuery,
|
|
203
210
|
useInjectReducer,
|
|
204
211
|
useInjectSaga,
|
|
205
212
|
useMediaQueryList,
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseQueryFn } from '@reduxjs/toolkit/query';
|
|
2
|
+
import { AxiosRequestConfig } from 'axios';
|
|
3
|
+
import { RequestConfig } from './index.js';
|
|
4
|
+
type BaseQueryFunction = BaseQueryFn<{
|
|
5
|
+
url: string;
|
|
6
|
+
method: AxiosRequestConfig['method'];
|
|
7
|
+
data?: AxiosRequestConfig['data'];
|
|
8
|
+
params?: AxiosRequestConfig['params'];
|
|
9
|
+
headers?: RequestConfig;
|
|
10
|
+
}, unknown, unknown>;
|
|
11
|
+
export declare const sdkBaseQuery: ({ baseUrl }?: {
|
|
12
|
+
baseUrl?: string | undefined;
|
|
13
|
+
}) => BaseQueryFunction;
|
|
14
|
+
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AxiosInstance, RawAxiosRequestHeaders, HeadersDefaults } from 'axios';
|
|
2
2
|
type AxiosRequestHeaders = RawAxiosRequestHeaders | Partial<HeadersDefaults>;
|
|
3
|
-
type RequestConfig = {
|
|
3
|
+
export type RequestConfig = {
|
|
4
4
|
Authorization?: string;
|
|
5
5
|
} & AxiosRequestHeaders;
|
|
6
6
|
export declare const getHTTPClient: ({ baseURL, headers, }?: {
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Middleware, AnyAction } from 'redux';
|
|
2
|
+
declare const rtkListenerMiddleware: import("@reduxjs/toolkit").ListenerMiddlewareInstance<unknown, import("@reduxjs/toolkit").ThunkDispatch<unknown, unknown, AnyAction>, unknown>;
|
|
3
|
+
export type ListenerDispatchFn = Parameters<typeof rtkListenerMiddleware.startListening>[0];
|
|
4
|
+
export declare const listenerMiddleware: Middleware<any, any>;
|
|
5
|
+
export declare const addListener: ({ key, listener, }: {
|
|
6
|
+
key: string;
|
|
7
|
+
listener: Parameters<typeof rtkListenerMiddleware.startListening>[0];
|
|
8
|
+
}) => import("@reduxjs/toolkit").UnsubscribeListener | null;
|
|
9
|
+
export declare const removeListener: (key: string) => boolean;
|
|
10
|
+
export declare const resetListeners: () => void;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createApi } from '@reduxjs/toolkit/query/react';
|
|
2
|
+
export type RTKQueryMiddleware = ReturnType<typeof createApi>['middleware'];
|
|
3
|
+
export declare const queryMiddleware: RTKQueryMiddleware;
|
|
4
|
+
export declare const addMiddleware: ({ key, middleware, }: {
|
|
5
|
+
key: string;
|
|
6
|
+
middleware: RTKQueryMiddleware;
|
|
7
|
+
}) => void;
|
|
8
|
+
export declare const removeMiddleware: (key: string) => void;
|
|
9
|
+
export declare const resetMiddlewares: () => void;
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { Reducer } from 'redux';
|
|
2
|
+
import { RTKQueryMiddleware } from './queryMiddleware.js';
|
|
3
|
+
import { ListenerDispatchFn } from './listenerMiddleware.js';
|
|
4
|
+
export declare const useInjectQuery: ({ key, reducer, queryMiddleware, }: {
|
|
3
5
|
key: string;
|
|
4
6
|
reducer: Reducer;
|
|
5
|
-
|
|
7
|
+
queryMiddleware?: import("redux").Middleware<{}, import("@reduxjs/toolkit/dist/query/core/apiState.js").RootState<import("@reduxjs/toolkit/dist/query/endpointDefinitions.js").EndpointDefinitions, string, string>, import("redux-thunk").ThunkDispatch<any, any, import("redux").AnyAction>> | undefined;
|
|
8
|
+
}) => void;
|
|
9
|
+
export declare const useInjectListener: ({ key, listener, }: {
|
|
10
|
+
key: string;
|
|
11
|
+
listener: ListenerDispatchFn;
|
|
6
12
|
}) => void;
|
|
7
|
-
export { useInjectSaga, createManager } from 'redux-injectors';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Middleware } from 'redux';
|
|
1
2
|
import { History } from 'history';
|
|
2
3
|
declare const rootReducer: import("redux").Reducer<import("redux").CombinedState<{
|
|
3
4
|
waitMessage: import("./wait-message/reducer.js").WaitMessageState;
|
|
@@ -15,7 +16,7 @@ export type RootState = ReturnType<typeof rootReducer>;
|
|
|
15
16
|
export declare const setStore: <T>(store: T) => void;
|
|
16
17
|
export declare const getStore: () => unknown;
|
|
17
18
|
type MiddlewareConfig = {
|
|
18
|
-
thunk
|
|
19
|
+
thunk?: boolean;
|
|
19
20
|
};
|
|
20
21
|
export declare const createAppStore: (initialState: import("redux").CombinedState<{
|
|
21
22
|
waitMessage: import("./wait-message/reducer.js").WaitMessageState;
|
|
@@ -33,11 +34,11 @@ export declare const createAppStore: (initialState: import("redux").CombinedStat
|
|
|
33
34
|
} | import("redux").AnyAction | {
|
|
34
35
|
payload: import("./breakpoint/index.js").Breakpoints;
|
|
35
36
|
type: string;
|
|
36
|
-
}, import("@reduxjs/toolkit").MiddlewareArray<[import("@reduxjs/toolkit").ThunkMiddleware<import("redux").CombinedState<{
|
|
37
|
+
}, import("@reduxjs/toolkit").MiddlewareArray<[Middleware<any, any, import("redux").Dispatch<import("redux").AnyAction>>, import("@reduxjs/toolkit").ThunkMiddleware<import("redux").CombinedState<{
|
|
37
38
|
waitMessage: import("./wait-message/reducer.js").WaitMessageState;
|
|
38
39
|
error: import("./error/index.js").ErrorState;
|
|
39
40
|
breakpoint: import("./breakpoint/index.js").BreakpointState;
|
|
40
41
|
liveMessage: import("./live-message/index.js").LiveMessageState;
|
|
41
|
-
}>, import("redux").AnyAction, undefined>, ...
|
|
42
|
+
}>, import("redux").AnyAction, undefined>, ...Middleware<any, any, import("redux").Dispatch<import("redux").AnyAction>>[]]>>;
|
|
42
43
|
export type AppStore = ReturnType<typeof createAppStore>;
|
|
43
44
|
export {};
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
export { isUserAuthorized, login, authorize } from './utils/auth/index.js';
|
|
2
2
|
export { getHTTPClient, getAuthHTTPClient, } from './communication/http-client/index.js';
|
|
3
|
+
export { sdkBaseQuery } from './communication/http-client/baseQuery.js';
|
|
3
4
|
export { onAuthorizationFailure } from './communication/http-client/response-interceptor.js';
|
|
4
5
|
export { auth } from './data/auth/actions.js';
|
|
5
6
|
export { RequireAuth } from './view/require-auth.js';
|
|
6
7
|
export { Page } from './view/page.js';
|
|
7
8
|
export { default as globalConstants } from './utils/constants.js';
|
|
8
9
|
export { useAppDispatch, useAppSelector } from './data/react-redux.js';
|
|
9
|
-
export { useInjectReducer, useInjectSaga, createManager, } from './data/
|
|
10
|
+
export { useInjectReducer, useInjectSaga, createManager, } from './data/index.js';
|
|
11
|
+
export { useInjectQuery, useInjectListener } from './data/redux-injectors.js';
|
|
12
|
+
export { errorMiddleware } from './data/errorMiddleware.js';
|
|
10
13
|
export { getAuthorizationHeader } from './utils/auth/helper.js';
|
|
11
14
|
export { getRedirectUrl, removeDoubleSlash } from './utils/url.js';
|
|
12
15
|
export { createAppStore as configureStore } from './data/store.js';
|
|
@@ -16,12 +16,12 @@ export declare const renderWithRedux: (ui: React.ReactElement, { initialState, s
|
|
|
16
16
|
} | import("redux").AnyAction | {
|
|
17
17
|
payload: import("../../data/breakpoint/index.js").Breakpoints;
|
|
18
18
|
type: string;
|
|
19
|
-
}, import("@reduxjs/toolkit").MiddlewareArray<[import("redux-thunk").ThunkMiddleware<import("redux").CombinedState<{
|
|
19
|
+
}, import("@reduxjs/toolkit").MiddlewareArray<[import("redux").Middleware<any, any, import("redux").Dispatch<import("redux").AnyAction>>, import("redux-thunk").ThunkMiddleware<import("redux").CombinedState<{
|
|
20
20
|
waitMessage: import("../../data/wait-message/reducer.js").WaitMessageState;
|
|
21
21
|
error: import("../../data/error/index.js").ErrorState;
|
|
22
22
|
breakpoint: import("../../data/breakpoint/index.js").BreakpointState;
|
|
23
23
|
liveMessage: import("../../data/live-message/index.js").LiveMessageState;
|
|
24
|
-
}>, import("redux").AnyAction, undefined>, ...(
|
|
24
|
+
}>, import("redux").AnyAction, undefined>, ...import("redux").Middleware<any, any, import("redux").Dispatch<import("redux").AnyAction>>[]]>>;
|
|
25
25
|
container: HTMLElement;
|
|
26
26
|
baseElement: HTMLElement;
|
|
27
27
|
debug: (baseElement?: Element | DocumentFragment | (Element | DocumentFragment)[] | undefined, maxLength?: number | undefined, options?: import("pretty-format").PrettyFormatOptions | undefined) => void;
|
|
@@ -19,12 +19,12 @@ export declare const renderWithRouterRedux: (ui: React.ReactElement, { route, hi
|
|
|
19
19
|
} | import("redux").AnyAction | {
|
|
20
20
|
payload: import("../../data/breakpoint/index.js").Breakpoints;
|
|
21
21
|
type: string;
|
|
22
|
-
}, import("@reduxjs/toolkit").MiddlewareArray<[import("redux-thunk").ThunkMiddleware<import("redux").CombinedState<{
|
|
22
|
+
}, import("@reduxjs/toolkit").MiddlewareArray<[import("redux").Middleware<any, any, import("redux").Dispatch<import("redux").AnyAction>>, import("redux-thunk").ThunkMiddleware<import("redux").CombinedState<{
|
|
23
23
|
waitMessage: import("../../data/wait-message/reducer.js").WaitMessageState;
|
|
24
24
|
error: import("../../data/error/index.js").ErrorState;
|
|
25
25
|
breakpoint: import("../../data/breakpoint/index.js").BreakpointState;
|
|
26
26
|
liveMessage: import("../../data/live-message/index.js").LiveMessageState;
|
|
27
|
-
}>, import("redux").AnyAction, undefined>, ...(
|
|
27
|
+
}>, import("redux").AnyAction, undefined>, ...import("redux").Middleware<any, any, import("redux").Dispatch<import("redux").AnyAction>>[]]>>;
|
|
28
28
|
container: HTMLElement;
|
|
29
29
|
baseElement: HTMLElement;
|
|
30
30
|
debug: (baseElement?: Element | DocumentFragment | (Element | DocumentFragment)[] | undefined, maxLength?: number | undefined, options?: import("pretty-format").PrettyFormatOptions | undefined) => void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/pui-app-sdk",
|
|
3
|
-
"version": "4.10.0-beta.
|
|
3
|
+
"version": "4.10.0-beta.3",
|
|
4
4
|
"description": "ICE MT UI Platform Application SDK ",
|
|
5
5
|
"sideEffects": [
|
|
6
6
|
"*.css",
|
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
"indent": 4
|
|
112
112
|
},
|
|
113
113
|
"peerDependencies": {
|
|
114
|
-
"@elliemae/app-react-dependencies": "^4.
|
|
114
|
+
"@elliemae/app-react-dependencies": "^4.4.0",
|
|
115
115
|
"@elliemae/ds-basic": "^3.13.0",
|
|
116
116
|
"@elliemae/ds-button": "^3.13.0",
|
|
117
117
|
"@elliemae/ds-controlled-form": "^3.13.0",
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
"@elliemae/pui-user-monitoring": "^1.18.1"
|
|
134
134
|
},
|
|
135
135
|
"devDependencies": {
|
|
136
|
-
"@elliemae/app-react-dependencies": "~4.
|
|
136
|
+
"@elliemae/app-react-dependencies": "~4.4.0",
|
|
137
137
|
"@elliemae/browserslist-config-elliemae-latest-browsers": "~1.6.0",
|
|
138
138
|
"@elliemae/ds-basic": "~3.13.0",
|
|
139
139
|
"@elliemae/ds-button": "~3.13.0",
|
|
@@ -149,7 +149,7 @@
|
|
|
149
149
|
"@elliemae/ds-popperjs": "~3.13.0",
|
|
150
150
|
"@elliemae/ds-toast": "~3.13.0",
|
|
151
151
|
"@elliemae/em-ssf-guest": "~1.11.2",
|
|
152
|
-
"@elliemae/pui-cli": "~7.
|
|
152
|
+
"@elliemae/pui-cli": "~7.26.0",
|
|
153
153
|
"@elliemae/pui-diagnostics": "~2.7.5",
|
|
154
154
|
"@elliemae/pui-doc-gen": "~1.4.1",
|
|
155
155
|
"@elliemae/pui-e2e-test-sdk": "~7.7.1",
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var middleware_exports = {};
|
|
20
|
-
__export(middleware_exports, {
|
|
21
|
-
addMiddleware: () => addMiddleware,
|
|
22
|
-
createDynamicMiddlewares: () => createDynamicMiddlewares,
|
|
23
|
-
default: () => middleware_default,
|
|
24
|
-
removeMiddleware: () => removeMiddleware,
|
|
25
|
-
resetMiddlewares: () => resetMiddlewares
|
|
26
|
-
});
|
|
27
|
-
module.exports = __toCommonJS(middleware_exports);
|
|
28
|
-
var import_redux = require("redux");
|
|
29
|
-
const createDynamicMiddlewares = () => {
|
|
30
|
-
let allDynamicMiddlewares = [];
|
|
31
|
-
let allApplyedDynamicMiddlewares = [];
|
|
32
|
-
let store;
|
|
33
|
-
const enhancer = (_store) => {
|
|
34
|
-
store = _store;
|
|
35
|
-
return (next) => (action) => (0, import_redux.compose)(...allApplyedDynamicMiddlewares)(next)(action);
|
|
36
|
-
};
|
|
37
|
-
const addMiddleware2 = (...middlewares) => {
|
|
38
|
-
allApplyedDynamicMiddlewares.push(
|
|
39
|
-
...middlewares.map((middleware) => middleware(store))
|
|
40
|
-
);
|
|
41
|
-
allDynamicMiddlewares.push(...middlewares);
|
|
42
|
-
};
|
|
43
|
-
const removeMiddleware2 = (middleware) => {
|
|
44
|
-
const index = allDynamicMiddlewares.findIndex((d) => d === middleware);
|
|
45
|
-
if (index === -1) {
|
|
46
|
-
console.error("Middleware does not exist!", middleware);
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
allDynamicMiddlewares = allDynamicMiddlewares.filter(
|
|
50
|
-
(_, mdwIndex) => mdwIndex !== index
|
|
51
|
-
);
|
|
52
|
-
allApplyedDynamicMiddlewares = allApplyedDynamicMiddlewares.filter(
|
|
53
|
-
(_, mdwIndex) => mdwIndex !== index
|
|
54
|
-
);
|
|
55
|
-
};
|
|
56
|
-
const resetMiddlewares2 = () => {
|
|
57
|
-
allApplyedDynamicMiddlewares = [];
|
|
58
|
-
allDynamicMiddlewares = [];
|
|
59
|
-
};
|
|
60
|
-
return {
|
|
61
|
-
enhancer,
|
|
62
|
-
addMiddleware: addMiddleware2,
|
|
63
|
-
removeMiddleware: removeMiddleware2,
|
|
64
|
-
resetMiddlewares: resetMiddlewares2
|
|
65
|
-
};
|
|
66
|
-
};
|
|
67
|
-
const dynamicMiddlewaresInstance = createDynamicMiddlewares();
|
|
68
|
-
var middleware_default = dynamicMiddlewaresInstance.enhancer;
|
|
69
|
-
const { addMiddleware, removeMiddleware, resetMiddlewares } = dynamicMiddlewaresInstance;
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { compose } from "redux";
|
|
2
|
-
const createDynamicMiddlewares = () => {
|
|
3
|
-
let allDynamicMiddlewares = [];
|
|
4
|
-
let allApplyedDynamicMiddlewares = [];
|
|
5
|
-
let store;
|
|
6
|
-
const enhancer = (_store) => {
|
|
7
|
-
store = _store;
|
|
8
|
-
return (next) => (action) => compose(...allApplyedDynamicMiddlewares)(next)(action);
|
|
9
|
-
};
|
|
10
|
-
const addMiddleware2 = (...middlewares) => {
|
|
11
|
-
allApplyedDynamicMiddlewares.push(
|
|
12
|
-
...middlewares.map((middleware) => middleware(store))
|
|
13
|
-
);
|
|
14
|
-
allDynamicMiddlewares.push(...middlewares);
|
|
15
|
-
};
|
|
16
|
-
const removeMiddleware2 = (middleware) => {
|
|
17
|
-
const index = allDynamicMiddlewares.findIndex((d) => d === middleware);
|
|
18
|
-
if (index === -1) {
|
|
19
|
-
console.error("Middleware does not exist!", middleware);
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
allDynamicMiddlewares = allDynamicMiddlewares.filter(
|
|
23
|
-
(_, mdwIndex) => mdwIndex !== index
|
|
24
|
-
);
|
|
25
|
-
allApplyedDynamicMiddlewares = allApplyedDynamicMiddlewares.filter(
|
|
26
|
-
(_, mdwIndex) => mdwIndex !== index
|
|
27
|
-
);
|
|
28
|
-
};
|
|
29
|
-
const resetMiddlewares2 = () => {
|
|
30
|
-
allApplyedDynamicMiddlewares = [];
|
|
31
|
-
allDynamicMiddlewares = [];
|
|
32
|
-
};
|
|
33
|
-
return {
|
|
34
|
-
enhancer,
|
|
35
|
-
addMiddleware: addMiddleware2,
|
|
36
|
-
removeMiddleware: removeMiddleware2,
|
|
37
|
-
resetMiddlewares: resetMiddlewares2
|
|
38
|
-
};
|
|
39
|
-
};
|
|
40
|
-
const dynamicMiddlewaresInstance = createDynamicMiddlewares();
|
|
41
|
-
var middleware_default = dynamicMiddlewaresInstance.enhancer;
|
|
42
|
-
const { addMiddleware, removeMiddleware, resetMiddlewares } = dynamicMiddlewaresInstance;
|
|
43
|
-
export {
|
|
44
|
-
addMiddleware,
|
|
45
|
-
createDynamicMiddlewares,
|
|
46
|
-
middleware_default as default,
|
|
47
|
-
removeMiddleware,
|
|
48
|
-
resetMiddlewares
|
|
49
|
-
};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export default enhancer;
|
|
2
|
-
export function addMiddleware(...middlewares: any[]): void;
|
|
3
|
-
export function removeMiddleware(middleware: any): void;
|
|
4
|
-
export function resetMiddlewares(): void;
|
|
5
|
-
declare function enhancer(_store: any): (next: any) => (action: any) => any;
|
|
6
|
-
declare namespace dynamicMiddlewaresInstance {
|
|
7
|
-
export { addMiddleware };
|
|
8
|
-
export { removeMiddleware };
|
|
9
|
-
export { resetMiddlewares };
|
|
10
|
-
}
|
|
11
|
-
export function createDynamicMiddlewares(): {
|
|
12
|
-
enhancer: (_store: any) => (next: any) => (action: any) => any;
|
|
13
|
-
addMiddleware: (...middlewares: any[]) => void;
|
|
14
|
-
removeMiddleware: (middleware: any) => void;
|
|
15
|
-
resetMiddlewares: () => void;
|
|
16
|
-
};
|