@elliemae/pui-app-sdk 5.2.4 → 5.2.6

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.
@@ -18,42 +18,16 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var listenerMiddleware_exports = {};
20
20
  __export(listenerMiddleware_exports, {
21
- addListener: () => addListener,
21
+ clearSideEffects: () => clearSideEffects,
22
+ createSideEffect: () => createSideEffect,
22
23
  listenerMiddleware: () => listenerMiddleware,
23
- removeListener: () => removeListener,
24
- resetListeners: () => resetListeners
24
+ removeSideEffect: () => removeSideEffect,
25
+ startSideEffect: () => startSideEffect
25
26
  });
26
27
  module.exports = __toCommonJS(listenerMiddleware_exports);
27
28
  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
- listenerAPI.dispatch((0, import_toolkit.addListener)(listener));
42
- }
43
- };
44
- const removeListener = (key) => {
45
- const listener = listenerDispatchFns.get(key);
46
- if (listener && listenerAPI) {
47
- listenerDispatchFns.delete(key);
48
- listenerAPI.dispatch((0, import_toolkit.removeListener)(listener));
49
- }
50
- return true;
51
- };
52
- const resetListeners = () => {
53
- if (listenerAPI) {
54
- listenerDispatchFns.forEach((listener) => {
55
- listenerAPI.dispatch((0, import_toolkit.removeListener)(listener));
56
- });
57
- listenerDispatchFns.clear();
58
- }
59
- };
29
+ const listenerMiddleware = (0, import_toolkit.createListenerMiddleware)();
30
+ const startSideEffect = listenerMiddleware.startListening;
31
+ const createSideEffect = import_toolkit.addListener;
32
+ const removeSideEffect = import_toolkit.removeListener;
33
+ const clearSideEffects = listenerMiddleware.clearListeners;
@@ -57,7 +57,7 @@ const createStore = (initialState, sagaMiddleware, history, middlewareConfig = {
57
57
  ];
58
58
  const baseStore = (0, import_toolkit.configureStore)({
59
59
  reducer: rootReducer,
60
- middleware: (getDefaultMiddleware) => getDefaultMiddleware(middlewareConfig).prepend(import_listenerMiddleware.listenerMiddleware).concat([sagaMiddleware, import_queryMiddleware.queryMiddleware]),
60
+ middleware: (getDefaultMiddleware) => getDefaultMiddleware(middlewareConfig).prepend(import_listenerMiddleware.listenerMiddleware.middleware).concat([sagaMiddleware, import_queryMiddleware.queryMiddleware]),
61
61
  devTools: true,
62
62
  preloadedState: initialState,
63
63
  enhancers
@@ -22,13 +22,13 @@ __export(useInjectSideEffect_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(useInjectSideEffect_exports);
24
24
  var import_react = require("react");
25
- var import_listenerMiddleware = require("./listenerMiddleware.js");
26
- const useInjectSideEffect = ({
27
- key,
28
- listener
29
- }) => (0, import_react.useEffect)(() => {
30
- (0, import_listenerMiddleware.addListener)({ key, listener });
31
- return () => {
32
- (0, import_listenerMiddleware.removeListener)(key);
33
- };
34
- }, [key, listener]);
25
+ var import_useAppDispatch = require("./useAppDispatch.js");
26
+ const useInjectSideEffect = (listener) => {
27
+ const dispatch = (0, import_useAppDispatch.useAppDispatch)();
28
+ (0, import_react.useEffect)(() => {
29
+ const unsubscribe = dispatch(listener);
30
+ return () => {
31
+ dispatch(unsubscribe);
32
+ };
33
+ }, [listener, dispatch]);
34
+ };
package/dist/cjs/index.js CHANGED
@@ -74,8 +74,10 @@ __export(lib_exports, {
74
74
  authReducer: () => import_reducer.authReducer,
75
75
  authSaga: () => import_auth2.authentication,
76
76
  authorize: () => import_auth.authorize,
77
+ clearSideEffects: () => import_listenerMiddleware.clearSideEffects,
77
78
  configureStore: () => import_store.createAppStore,
78
79
  createManager: () => import_redux_injectors.createManager,
80
+ createSideEffect: () => import_listenerMiddleware.createSideEffect,
79
81
  enableReactAppForHostIntegration: () => import_react2.enableReactAppForHostIntegration,
80
82
  error: () => import_error.actions,
81
83
  errorMiddleware: () => import_errorMiddleware.errorMiddleware,
@@ -110,6 +112,7 @@ __export(lib_exports, {
110
112
  onGuestUnloadStart: () => import_guest_unload_handlers.onGuestUnloadStart,
111
113
  redactPii: () => import_redact_pii.redactPii,
112
114
  removeDoubleSlash: () => import_url.removeDoubleSlash,
115
+ removeSideEffect: () => import_listenerMiddleware.removeSideEffect,
113
116
  removeStorageEvents: () => import_web_storage.removeStorageEvents,
114
117
  renderWithHostData: () => import_render_with_host_data.renderWithHostData,
115
118
  renderWithRedux: () => import_render_with_redux.renderWithRedux,
@@ -123,6 +126,7 @@ __export(lib_exports, {
123
126
  setAppConfigValue: () => import_config.setAppConfigValue,
124
127
  setAppDynamicsUserData: () => import_appdynamics.setAppDynamicsUserData,
125
128
  setHostAppData: () => import_store2.setHostAppData,
129
+ startSideEffect: () => import_listenerMiddleware.startSideEffect,
126
130
  subscribeToResetSession: () => import_session.subscribeToResetSession,
127
131
  subscribeToSessionExpiry: () => import_session.subscribeToSessionExpiry,
128
132
  subscribeToSessionExpiryWarning: () => import_session.subscribeToSessionExpiryWarning,
@@ -153,6 +157,7 @@ var import_constants = __toESM(require("./utils/constants.js"));
153
157
  var import_redux_injectors = require("redux-injectors");
154
158
  var import_react = require("./data/react.js");
155
159
  var import_errorMiddleware = require("./data/errorMiddleware.js");
160
+ var import_listenerMiddleware = require("./data/listenerMiddleware.js");
156
161
  var import_helper = require("./utils/auth/helper.js");
157
162
  var import_url = require("./utils/url.js");
158
163
  var import_store = require("./data/store.js");
@@ -1,43 +1,17 @@
1
1
  import {
2
2
  createListenerMiddleware,
3
- addListener as rtkAddListener,
4
- removeListener as rtkRemoveListener
3
+ addListener,
4
+ removeListener
5
5
  } from "@reduxjs/toolkit";
6
- let listenerAPI;
7
- const rtkListenerMiddleware = createListenerMiddleware();
8
- const listenerDispatchFns = /* @__PURE__ */ new Map();
9
- const listenerMiddleware = (_listenerAPI) => {
10
- listenerAPI = _listenerAPI;
11
- return rtkListenerMiddleware.middleware(listenerAPI);
12
- };
13
- const addListener = ({
14
- key,
15
- listener
16
- }) => {
17
- if (!listenerDispatchFns.has(key) && listenerAPI) {
18
- listenerDispatchFns.set(key, listener);
19
- listenerAPI.dispatch(rtkAddListener(listener));
20
- }
21
- };
22
- const removeListener = (key) => {
23
- const listener = listenerDispatchFns.get(key);
24
- if (listener && listenerAPI) {
25
- listenerDispatchFns.delete(key);
26
- listenerAPI.dispatch(rtkRemoveListener(listener));
27
- }
28
- return true;
29
- };
30
- const resetListeners = () => {
31
- if (listenerAPI) {
32
- listenerDispatchFns.forEach((listener) => {
33
- listenerAPI.dispatch(rtkRemoveListener(listener));
34
- });
35
- listenerDispatchFns.clear();
36
- }
37
- };
6
+ const listenerMiddleware = createListenerMiddleware();
7
+ const startSideEffect = listenerMiddleware.startListening;
8
+ const createSideEffect = addListener;
9
+ const removeSideEffect = removeListener;
10
+ const clearSideEffects = listenerMiddleware.clearListeners;
38
11
  export {
39
- addListener,
12
+ clearSideEffects,
13
+ createSideEffect,
40
14
  listenerMiddleware,
41
- removeListener,
42
- resetListeners
15
+ removeSideEffect,
16
+ startSideEffect
43
17
  };
@@ -22,7 +22,7 @@ const createStore = (initialState, sagaMiddleware, history, middlewareConfig = {
22
22
  ];
23
23
  const baseStore = configureStore({
24
24
  reducer: rootReducer,
25
- middleware: (getDefaultMiddleware) => getDefaultMiddleware(middlewareConfig).prepend(listenerMiddleware).concat([sagaMiddleware, queryMiddleware]),
25
+ middleware: (getDefaultMiddleware) => getDefaultMiddleware(middlewareConfig).prepend(listenerMiddleware.middleware).concat([sagaMiddleware, queryMiddleware]),
26
26
  devTools: true,
27
27
  preloadedState: initialState,
28
28
  enhancers
@@ -1,17 +1,14 @@
1
1
  import { useEffect } from "react";
2
- import {
3
- addListener,
4
- removeListener
5
- } from "./listenerMiddleware.js";
6
- const useInjectSideEffect = ({
7
- key,
8
- listener
9
- }) => useEffect(() => {
10
- addListener({ key, listener });
11
- return () => {
12
- removeListener(key);
13
- };
14
- }, [key, listener]);
2
+ import { useAppDispatch } from "./useAppDispatch.js";
3
+ const useInjectSideEffect = (listener) => {
4
+ const dispatch = useAppDispatch();
5
+ useEffect(() => {
6
+ const unsubscribe = dispatch(listener);
7
+ return () => {
8
+ dispatch(unsubscribe);
9
+ };
10
+ }, [listener, dispatch]);
11
+ };
15
12
  export {
16
13
  useInjectSideEffect
17
14
  };
package/dist/esm/index.js CHANGED
@@ -24,6 +24,12 @@ import {
24
24
  useAppMiddleware
25
25
  } from "./data/react.js";
26
26
  import { errorMiddleware } from "./data/errorMiddleware.js";
27
+ import {
28
+ startSideEffect,
29
+ createSideEffect,
30
+ removeSideEffect,
31
+ clearSideEffects
32
+ } from "./data/listenerMiddleware.js";
27
33
  import { getAuthorizationHeader } from "./utils/auth/helper.js";
28
34
  import { getRedirectUrl, removeDoubleSlash } from "./utils/url.js";
29
35
  import { createAppStore } from "./data/store.js";
@@ -168,8 +174,10 @@ export {
168
174
  authReducer,
169
175
  authentication as authSaga,
170
176
  authorize,
177
+ clearSideEffects,
171
178
  createAppStore as configureStore,
172
179
  createManager,
180
+ createSideEffect,
173
181
  enableReactAppForHostIntegration,
174
182
  actions2 as error,
175
183
  errorMiddleware,
@@ -204,6 +212,7 @@ export {
204
212
  onGuestUnloadStart,
205
213
  redactPii,
206
214
  removeDoubleSlash,
215
+ removeSideEffect,
207
216
  removeStorageEvents,
208
217
  renderWithHostData,
209
218
  renderWithRedux,
@@ -217,6 +226,7 @@ export {
217
226
  setAppConfigValue,
218
227
  setAppDynamicsUserData,
219
228
  setHostAppData,
229
+ startSideEffect,
220
230
  subscribeToResetSession,
221
231
  subscribeToSessionExpiry,
222
232
  subscribeToSessionExpiryWarning,
@@ -1,10 +1,18 @@
1
- import { Middleware } from 'redux';
2
- import { TypedAddListener } from '@reduxjs/toolkit';
3
- export type TypedAddListnerArgs<State> = Parameters<TypedAddListener<State>>[0];
4
- export declare const listenerMiddleware: Middleware<any, any>;
5
- export declare const addListener: ({ key, listener, }: {
6
- key: string;
7
- listener: TypedAddListnerArgs<any>;
8
- }) => void;
9
- export declare const removeListener: (key: string) => boolean;
10
- export declare const resetListeners: () => void;
1
+ import { TypedAddListener, TypedRemoveListener, TypedStartListening } from '@reduxjs/toolkit';
2
+ import type { RootState, AppDispatch } from './types.js';
3
+ export declare const listenerMiddleware: import("@reduxjs/toolkit").ListenerMiddlewareInstance<unknown, import("@reduxjs/toolkit").ThunkDispatch<unknown, unknown, import("redux").AnyAction>, unknown>;
4
+ export type AppStartListening = TypedStartListening<RootState, AppDispatch>;
5
+ export declare const startSideEffect: AppStartListening;
6
+ export declare const createSideEffect: TypedAddListener<import("redux").CombinedState<{
7
+ waitMessage: import("./wait-message/reducer.js").WaitMessageState;
8
+ error: import("./error/index.js").ErrorState;
9
+ breakpoint: import("./breakpoint/index.js").BreakpointState;
10
+ liveMessage: import("./live-message/index.js").LiveMessageState;
11
+ }>, AppDispatch>;
12
+ export declare const removeSideEffect: TypedRemoveListener<import("redux").CombinedState<{
13
+ waitMessage: import("./wait-message/reducer.js").WaitMessageState;
14
+ error: import("./error/index.js").ErrorState;
15
+ breakpoint: import("./breakpoint/index.js").BreakpointState;
16
+ liveMessage: import("./live-message/index.js").LiveMessageState;
17
+ }>, AppDispatch>;
18
+ export declare const clearSideEffects: () => void;
@@ -34,7 +34,7 @@ export declare const createAppStore: (initialState: import("redux").CombinedStat
34
34
  } | import("redux").AnyAction | {
35
35
  payload: import("./breakpoint/index.js").Breakpoints;
36
36
  type: string;
37
- }, import("@reduxjs/toolkit").MiddlewareArray<[Middleware<any, any, import("redux").Dispatch<import("redux").AnyAction>>, import("@reduxjs/toolkit").ThunkMiddleware<import("redux").CombinedState<{
37
+ }, import("@reduxjs/toolkit").MiddlewareArray<[import("@reduxjs/toolkit").ListenerMiddleware<unknown, import("@reduxjs/toolkit").ThunkDispatch<unknown, unknown, import("redux").AnyAction>, unknown>, import("@reduxjs/toolkit").ThunkMiddleware<import("redux").CombinedState<{
38
38
  waitMessage: import("./wait-message/reducer.js").WaitMessageState;
39
39
  error: import("./error/index.js").ErrorState;
40
40
  breakpoint: import("./breakpoint/index.js").BreakpointState;
@@ -3,4 +3,5 @@ import { WaitMessageState } from './wait-message/reducer.js';
3
3
  import { BreakpointState } from './breakpoint/index.js';
4
4
  import { ErrorState } from './error/index.js';
5
5
  import { LiveMessageState } from './live-message/index.js';
6
+ export type { RootState, AppStore } from './store.js';
6
7
  export type AppDispatch = Dispatch<PayloadAction<WaitMessageState> | PayloadAction<BreakpointState> | PayloadAction<ErrorState> | PayloadAction<LiveMessageState> | AnyAction>;
@@ -1,5 +1,2 @@
1
- import { TypedAddListnerArgs } from './listenerMiddleware.js';
2
- export declare const useInjectSideEffect: <State>({ key, listener, }: {
3
- key: string;
4
- listener: TypedAddListnerArgs<State>;
5
- }) => void;
1
+ import { PayloadAction } from '@reduxjs/toolkit';
2
+ export declare const useInjectSideEffect: (listener: PayloadAction<unknown, string>) => void;
@@ -10,8 +10,8 @@ export { Page } from './view/page.js';
10
10
  export { default as globalConstants } from './utils/constants.js';
11
11
  export { useInjectReducer, useInjectSaga, createManager, } from 'redux-injectors';
12
12
  export { useInjectQuery, useInjectSideEffect, useAppDispatch, useAppSelector, useAppMiddleware, } from './data/react.js';
13
- export type { AppDispatch } from './data/types.js';
14
13
  export { errorMiddleware } from './data/errorMiddleware.js';
14
+ export { startSideEffect, createSideEffect, removeSideEffect, clearSideEffects, } from './data/listenerMiddleware.js';
15
15
  export { getAuthorizationHeader } from './utils/auth/helper.js';
16
16
  export { getRedirectUrl, removeDoubleSlash } from './utils/url.js';
17
17
  export { createAppStore as configureStore } from './data/store.js';
@@ -86,7 +86,7 @@ export { updateBAEventParameters } from './analytics/web-analytics.js';
86
86
  export { redactPii } from './utils/redact-pii.js';
87
87
  export type { EMUI } from './utils/window.js';
88
88
  export type { Await } from './utils/await.js';
89
- export type { RootState, AppStore } from './data/store.js';
89
+ export type { RootState, AppStore, AppDispatch } from './data/types.js';
90
90
  export type { AppConfig } from './utils/app-config/config.js';
91
91
  export type { OnInitCallback, OnMountCallback, OnUnMountCallback, } from './utils/micro-frontend/guest.js';
92
92
  export type { OnInitCallback as OnHostInitCallback } from './utils/micro-frontend/host.js';
@@ -16,7 +16,7 @@ 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").Middleware<any, any, import("redux").Dispatch<import("redux").AnyAction>>, import("redux-thunk").ThunkMiddleware<import("redux").CombinedState<{
19
+ }, import("@reduxjs/toolkit").MiddlewareArray<[import("@reduxjs/toolkit").ListenerMiddleware<unknown, import("redux-thunk").ThunkDispatch<unknown, unknown, import("redux").AnyAction>, unknown>, 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;
@@ -19,7 +19,7 @@ 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").Middleware<any, any, import("redux").Dispatch<import("redux").AnyAction>>, import("redux-thunk").ThunkMiddleware<import("redux").CombinedState<{
22
+ }, import("@reduxjs/toolkit").MiddlewareArray<[import("@reduxjs/toolkit").ListenerMiddleware<unknown, import("redux-thunk").ThunkDispatch<unknown, unknown, import("redux").AnyAction>, unknown>, 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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/pui-app-sdk",
3
- "version": "5.2.4",
3
+ "version": "5.2.6",
4
4
  "description": "ICE MT UI Platform Application SDK ",
5
5
  "sideEffects": [
6
6
  "*.css",
@@ -151,7 +151,7 @@
151
151
  "@elliemae/ds-popperjs": "~3.14.13",
152
152
  "@elliemae/ds-toast": "~3.14.13",
153
153
  "@elliemae/em-ssf-guest": "~1.11.3",
154
- "@elliemae/pui-cli": "~8.4.0",
154
+ "@elliemae/pui-cli": "~8.5.0",
155
155
  "@elliemae/pui-diagnostics": "~3.1.0",
156
156
  "@elliemae/pui-doc-gen": "~1.6.4",
157
157
  "@elliemae/pui-e2e-test-sdk": "~8.0.0",