@common-stack/mobile-stack-react 6.0.6-alpha.14 → 6.0.6-alpha.17

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.
@@ -1,22 +1,24 @@
1
- import { Middleware, Action, ReducersMapObject, PreloadedState } from 'redux';
1
+ import { Middleware, StoreEnhancer } from 'redux';
2
2
  import { EpicMiddleware, Epic } from 'redux-observable';
3
3
  import { PersistConfig } from 'redux-persist';
4
4
  interface IReduxStore<S = any> {
5
5
  scope: 'browser' | 'server' | 'native' | 'ElectronMain';
6
6
  isDebug: boolean;
7
7
  isDev: boolean;
8
- reducers: ReducersMapObject<S>;
9
- rootEpic?: Epic<Action<S>, Action<any>, void, any>;
10
- epicMiddleware?: EpicMiddleware<Action<S>, Action<any>>;
8
+ reducers: any;
9
+ enhancers?: StoreEnhancer[];
10
+ rootEpic: Epic<any, any, any, any>;
11
+ epicMiddleware?: EpicMiddleware<any, any, S, any>;
11
12
  preMiddleware?: Middleware[];
12
13
  postMiddleware?: Middleware[];
13
14
  middleware?: Middleware[];
14
- initialState: PreloadedState<S>;
15
- persistConfig?: PersistConfig<S, any>;
15
+ initialState?: any;
16
+ persistConfig?: PersistConfig<any>;
17
+ reduxConfig?: any;
16
18
  }
17
19
  /**
18
20
  * Add any reducers required for this app dirctly in to
19
21
  * `combineReducers`
20
22
  */
21
- export declare const createReduxStore: ({ scope, isDebug, isDev, reducers, rootEpic, epicMiddleware, preMiddleware, postMiddleware, middleware, initialState, persistConfig, }: IReduxStore<any>) => import("redux").Store<any, import("redux").AnyAction>;
23
+ export declare const createReduxStore: ({ scope, isDebug, isDev, reducers, rootEpic, enhancers, epicMiddleware, preMiddleware, postMiddleware, middleware, initialState, persistConfig, reduxConfig, }: IReduxStore<any>) => import("redux").Store<any, import("redux").UnknownAction, unknown>;
22
24
  export {};
@@ -1,4 +1,4 @@
1
- import {combineReducers,createStore,applyMiddleware,compose}from'redux';import {persistReducer}from'redux-persist';import thunkMiddleware from'redux-thunk';// version 11/12/2021
1
+ import {combineReducers,configureStore}from'@reduxjs/toolkit';import {persistReducer,FLUSH,REHYDRATE,PAUSE,PERSIST,PURGE,REGISTER}from'redux-persist';// version 11/12/2021
2
2
  /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
3
3
  /* eslint-disable @typescript-eslint/no-explicit-any */
4
4
  /* eslint-disable @typescript-eslint/no-var-requires */
@@ -8,44 +8,42 @@ import {combineReducers,createStore,applyMiddleware,compose}from'redux';import {
8
8
  * Add any reducers required for this app dirctly in to
9
9
  * `combineReducers`
10
10
  */
11
- const createReduxStore = ({ scope, isDebug, isDev, reducers, rootEpic, epicMiddleware, preMiddleware, postMiddleware, middleware, initialState = {}, persistConfig, }) => {
11
+ const createReduxStore = ({ scope, isDebug, isDev, reducers, rootEpic, enhancers = [], epicMiddleware, preMiddleware = [], postMiddleware = [], middleware = [], initialState, persistConfig, reduxConfig, }) => {
12
12
  const isBrowser = scope === 'browser';
13
13
  const isElectronMain = scope === 'ElectronMain';
14
+ const rootReducer = combineReducers(reducers);
15
+ const persistedReducer = persistConfig && isBrowser ? persistReducer(persistConfig, rootReducer) : rootReducer;
14
16
  /**
15
17
  * Add middleware that required for this app.
16
18
  */
17
- const middlewares = [thunkMiddleware];
18
- // add epicMiddleware
19
- if (epicMiddleware) {
20
- middlewares.push(epicMiddleware);
21
- }
22
- if (preMiddleware) {
23
- middlewares.unshift(...preMiddleware);
24
- }
25
19
  // Add redux logger during development only
26
- if ((isDev || isDebug) && isBrowser) {
27
- const { createLogger } = require('redux-logger');
28
- middlewares.push(createLogger({
29
- level: 'info',
30
- collapsed: true,
31
- }));
32
- }
33
- if (middleware) {
34
- middlewares.push(...middleware);
35
- }
36
- if (postMiddleware) {
37
- middlewares.push(...postMiddleware);
38
- }
39
- const enhancers = () => [applyMiddleware(...middlewares)];
40
- const composeEnhancers = ((isDev || isDebug) && isBrowser && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__) || compose;
41
- const rootReducer = combineReducers(reducers);
42
- const persistedReducer = persistConfig ? persistReducer(persistConfig, rootReducer) : rootReducer;
43
- const store = createStore(persistedReducer, initialState, composeEnhancers(...enhancers()));
44
- if (isBrowser || isElectronMain) {
45
- // no SSR for now
46
- if (epicMiddleware) {
47
- epicMiddleware.run(rootEpic);
48
- }
20
+ const middlewares = [
21
+ ...preMiddleware,
22
+ ...(epicMiddleware ? [epicMiddleware] : []),
23
+ ...middleware,
24
+ ...postMiddleware,
25
+ ];
26
+ const store = configureStore({
27
+ reducer: persistedReducer,
28
+ middleware: (getDefaultMiddleware) => getDefaultMiddleware({
29
+ serializableCheck: {
30
+ ignoredActions: [
31
+ FLUSH,
32
+ REHYDRATE,
33
+ PAUSE,
34
+ PERSIST,
35
+ PURGE,
36
+ REGISTER,
37
+ ...(reduxConfig?.ignoredActions || []),
38
+ ],
39
+ },
40
+ }).concat(...middlewares),
41
+ devTools: isDev || isDebug,
42
+ preloadedState: initialState,
43
+ enhancers: (getDefaultEnhancers) => getDefaultEnhancers().concat(...enhancers),
44
+ });
45
+ if ((isBrowser || isElectronMain) && epicMiddleware && rootEpic) {
46
+ epicMiddleware.run(rootEpic);
49
47
  }
50
48
  return store;
51
49
  };export{createReduxStore};
@@ -1,7 +1,7 @@
1
1
  import autoMergeLevel2 from 'redux-persist/lib/stateReconciler/autoMergeLevel2';
2
2
  import history from './router-history';
3
3
  export { history };
4
- export declare const epicMiddlewareFunc: (apolloClient: any, services: any, container: any) => import("redux-observable").EpicMiddleware<import("redux").Action<any>, import("redux").Action<any>, void, {
4
+ export declare const epicMiddlewareFunc: (apolloClient: any, services: any, container: any) => import("redux-observable").EpicMiddleware<import("redux").Action, import("redux").Action, void, {
5
5
  apolloClient: any;
6
6
  routes: any;
7
7
  services: any;
@@ -22,5 +22,5 @@ export declare const persistConfig: {
22
22
  * `combineReducers`
23
23
  */
24
24
  export declare const createReduxStore: (history: any, apolloClient: any, services: any, container: any) => {
25
- store: import("redux").Store<any, import("redux").AnyAction>;
25
+ store: import("redux").Store<any, import("redux").UnknownAction, unknown>;
26
26
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@common-stack/mobile-stack-react",
3
- "version": "6.0.6-alpha.14",
3
+ "version": "6.0.6-alpha.17",
4
4
  "description": "Client Module for mobile app",
5
5
  "homepage": "https://github.com/cdmbase/fullstack-pro#readme",
6
6
  "bugs": {
@@ -32,7 +32,7 @@
32
32
  "@apollo/client": "^3.9.0",
33
33
  "@cdm-logger/client": "^9.0.3",
34
34
  "@common-stack/client-core": "6.0.6-alpha.5",
35
- "@common-stack/client-react": "6.0.6-alpha.5",
35
+ "@common-stack/client-react": "6.0.6-alpha.17",
36
36
  "@common-stack/components-pro": "6.0.6-alpha.5",
37
37
  "@common-stack/core": "6.0.6-alpha.5",
38
38
  "@expo/vector-icons": "~13.0.0",
@@ -131,5 +131,5 @@
131
131
  "typescript": {
132
132
  "definition": "lib/index.d.ts"
133
133
  },
134
- "gitHead": "b7a8d208e75dd7032e00cbdcc669c10699c4d629"
134
+ "gitHead": "1b4f4ebc9bf60f1d86ed9510e97f4cde1efab181"
135
135
  }