@elementor/store 0.8.3 → 0.8.4

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/CHANGELOG.md CHANGED
@@ -3,111 +3,66 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- ## [0.8.3](https://github.com/elementor/elementor-packages/compare/@elementor/store@0.8.2...@elementor/store@0.8.3) (2024-07-03)
6
+ ## [0.8.4](https://github.com/elementor/elementor-packages/compare/@elementor/store@0.8.3...@elementor/store@0.8.4) (2024-07-16)
7
7
 
8
8
  **Note:** Version bump only for package @elementor/store
9
9
 
10
+ ## [0.8.3](https://github.com/elementor/elementor-packages/compare/@elementor/store@0.8.2...@elementor/store@0.8.3) (2024-07-03)
10
11
 
11
-
12
-
12
+ **Note:** Version bump only for package @elementor/store
13
13
 
14
14
  ## [0.8.2](https://github.com/elementor/elementor-packages/compare/@elementor/store@0.8.1...@elementor/store@0.8.2) (2024-04-16)
15
15
 
16
16
  **Note:** Version bump only for package @elementor/store
17
17
 
18
-
19
-
20
-
21
-
22
18
  ## [0.8.1](https://github.com/elementor/elementor-packages/compare/@elementor/store@0.8.0...@elementor/store@0.8.1) (2024-02-28)
23
19
 
24
-
25
20
  ### Bug Fixes
26
21
 
27
- * **store:** dispatch & instance type [ED-13867] ([#165](https://github.com/elementor/elementor-packages/issues/165)) ([52ce6d9](https://github.com/elementor/elementor-packages/commit/52ce6d9c9941fdb0591e3d990b69a39b4a81690e))
28
-
29
-
30
-
31
-
22
+ - **store:** dispatch & instance type [ED-13867] ([#165](https://github.com/elementor/elementor-packages/issues/165)) ([52ce6d9](https://github.com/elementor/elementor-packages/commit/52ce6d9c9941fdb0591e3d990b69a39b4a81690e))
32
23
 
33
24
  # [0.8.0](https://github.com/elementor/elementor-packages/compare/@elementor/store@0.7.1...@elementor/store@0.8.0) (2024-02-22)
34
25
 
35
-
36
26
  ### Features
37
27
 
38
- * **store:** support createAsyncThunk [ED-13842] ([#164](https://github.com/elementor/elementor-packages/issues/164)) ([bd0ed1d](https://github.com/elementor/elementor-packages/commit/bd0ed1d11a8c6d284897f2d0e68beef07f5b5849))
39
-
40
-
41
-
42
-
28
+ - **store:** support createAsyncThunk [ED-13842] ([#164](https://github.com/elementor/elementor-packages/issues/164)) ([bd0ed1d](https://github.com/elementor/elementor-packages/commit/bd0ed1d11a8c6d284897f2d0e68beef07f5b5849))
43
29
 
44
30
  ## [0.7.1](https://github.com/elementor/elementor-packages/compare/@elementor/store@0.7.0...@elementor/store@0.7.1) (2023-10-19)
45
31
 
46
32
  **Note:** Version bump only for package @elementor/store
47
33
 
48
-
49
-
50
-
51
-
52
34
  # [0.7.0](https://github.com/elementor/elementor-packages/compare/@elementor/store@0.6.1...@elementor/store@0.7.0) (2023-09-11)
53
35
 
54
-
55
36
  ### Features
56
37
 
57
- * **store:** mark experimental functions [ED-12070] ([#114](https://github.com/elementor/elementor-packages/issues/114)) ([d790829](https://github.com/elementor/elementor-packages/commit/d79082911195c75f6d3a89a5619b234e2f5ce158))
58
-
59
-
60
-
61
-
38
+ - **store:** mark experimental functions [ED-12070] ([#114](https://github.com/elementor/elementor-packages/issues/114)) ([d790829](https://github.com/elementor/elementor-packages/commit/d79082911195c75f6d3a89a5619b234e2f5ce158))
62
39
 
63
40
  ## [0.6.1](https://github.com/elementor/elementor-packages/compare/@elementor/store@0.6.0...@elementor/store@0.6.1) (2023-06-29)
64
41
 
65
42
  **Note:** Version bump only for package @elementor/store
66
43
 
67
-
68
-
69
-
70
-
71
44
  # [0.6.0](https://github.com/elementor/elementor-packages/compare/@elementor/store@0.5.0...@elementor/store@0.6.0) (2023-06-11)
72
45
 
73
-
74
46
  ### Features
75
47
 
76
- * **editor-panels:** init [ED-10804] ([#44](https://github.com/elementor/elementor-packages/issues/44)) ([1ed4113](https://github.com/elementor/elementor-packages/commit/1ed41131db8fb9151163175bfa614f784159e04b))
77
-
78
-
79
-
80
-
48
+ - **editor-panels:** init [ED-10804] ([#44](https://github.com/elementor/elementor-packages/issues/44)) ([1ed4113](https://github.com/elementor/elementor-packages/commit/1ed41131db8fb9151163175bfa614f784159e04b))
81
49
 
82
50
  # [0.5.0](https://github.com/elementor/elementor-packages/compare/@elementor/store@0.4.0...@elementor/store@0.5.0) (2023-06-06)
83
51
 
84
-
85
52
  ### Features
86
53
 
87
- * drop support for React 17 [ED-10982] ([#50](https://github.com/elementor/elementor-packages/issues/50)) ([59c576c](https://github.com/elementor/elementor-packages/commit/59c576ca218947dc0992616311d4d399a20e91a6))
88
-
89
-
90
-
91
-
54
+ - drop support for React 17 [ED-10982] ([#50](https://github.com/elementor/elementor-packages/issues/50)) ([59c576c](https://github.com/elementor/elementor-packages/commit/59c576ca218947dc0992616311d4d399a20e91a6))
92
55
 
93
56
  # [0.4.0](https://github.com/elementor/elementor-packages/compare/@elementor/store@0.3.0...@elementor/store@0.4.0) (2023-06-05)
94
57
 
95
-
96
58
  ### Features
97
59
 
98
- * **store:** support creating & registering a slice independently [ED-10914] ([#47](https://github.com/elementor/elementor-packages/issues/47)) ([3cac551](https://github.com/elementor/elementor-packages/commit/3cac551d72cc2df6e11c017323559e3e5c4ab12f))
99
-
100
-
101
-
102
-
60
+ - **store:** support creating & registering a slice independently [ED-10914] ([#47](https://github.com/elementor/elementor-packages/issues/47)) ([3cac551](https://github.com/elementor/elementor-packages/commit/3cac551d72cc2df6e11c017323559e3e5c4ab12f))
103
61
 
104
62
  # 0.3.0 (2023-06-01)
105
63
 
106
-
107
64
  ### Features
108
65
 
109
- * add support for React 18 [ED-10905] ([#46](https://github.com/elementor/elementor-packages/issues/46)) ([c8915c6](https://github.com/elementor/elementor-packages/commit/c8915c6ea62550bcdeb5c8a576f311bedc35bcad))
110
-
111
-
66
+ - add support for React 18 [ED-10905] ([#46](https://github.com/elementor/elementor-packages/issues/46)) ([c8915c6](https://github.com/elementor/elementor-packages/commit/c8915c6ea62550bcdeb5c8a576f311bedc35bcad))
112
67
 
113
68
  # 0.2.0 (2023-05-09)
package/dist/index.js CHANGED
@@ -86,10 +86,7 @@ var createStore = () => {
86
86
  instance = (0, import_toolkit.configureStore)({
87
87
  reducer: getReducers(),
88
88
  middleware: (getDefaultMiddleware) => {
89
- return [
90
- ...getDefaultMiddleware(),
91
- ...Array.from(middlewares)
92
- ];
89
+ return [...getDefaultMiddleware(), ...Array.from(middlewares)];
93
90
  }
94
91
  });
95
92
  if (pendingActions.length) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import {\n\tReducersMapObject,\n\tconfigureStore,\n\tcombineReducers,\n\tMiddleware,\n\tSlice,\n\tAnyAction,\n\tEnhancedStore,\n\tStoreEnhancer,\n\tThunkMiddleware,\n} from '@reduxjs/toolkit';\n\nexport type {\n\tSlice,\n\tCreateSliceOptions,\n\tPayloadAction,\n\tStore,\n\tDispatch,\n\tAnyAction,\n\tAction,\n\tMiddlewareAPI,\n\tMiddleware,\n} from '@reduxjs/toolkit';\n\nexport {\n\tcreateSelector as __createSelector,\n\tcreateSlice as __createSlice,\n\tcreateAsyncThunk as __createAsyncThunk,\n\tcreateAction as __createAction,\n} from '@reduxjs/toolkit';\n\nexport {\n\tuseSelector as __useSelector,\n\tuseDispatch as __useDispatch,\n\tProvider as __StoreProvider,\n} from 'react-redux';\n\n/**\n * Usage:\n *\n * const mySlice = addSlice( ... );\n *\n * type MySliceState = SliceState<typeof mySlice>;\n *\n * const value = useSelector( ( state: MySliceState ) => state.mySlice.value );\n */\nexport type SliceState<S extends Slice> = {\n\t[ key in S['name'] ]: ReturnType<S['getInitialState']>;\n}\n\n// The `configureStore` function from Redux Toolkit infers its actions from the `reducers`\n// key of the initialization object. This is fine when creating the store statically, but\n// breaks in our case since we create the store dynamically, which means that TypeScript\n// can't infer the types. Therefore, we force the store to accept any actions using a\n// generic store type.\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype AnyStore<State = any> = EnhancedStore<\n\tState,\n\tAnyAction,\n\t[ThunkMiddleware<State, AnyAction>],\n\t[StoreEnhancer]\n>\n\ninterface SlicesMap {\n\t[key: Slice['name']]: Slice;\n}\n\nlet instance: AnyStore | null = null;\nlet slices: SlicesMap = {};\nconst pendingActions: AnyAction[] = [];\nconst middlewares = new Set<Middleware>();\n\nconst getReducers = () => {\n\tconst reducers = Object.entries( slices ).reduce( ( reducersData: ReducersMapObject, [ name, slice ] ) => {\n\t\treducersData[ name ] = slice.reducer;\n\n\t\treturn reducersData;\n\t}, {} );\n\n\treturn combineReducers( reducers );\n};\n\nfunction registerSlice( slice: Slice ) {\n\tif ( slices[ slice.name ] ) {\n\t\tthrow new Error( `Slice with name \"${ slice.name }\" already exists.` );\n\t}\n\n\tslices[ slice.name ] = slice;\n}\n\nconst addMiddleware = ( middleware: Middleware ) => {\n\tmiddlewares.add( middleware );\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any -- See the comment above about `AnyStore`\nconst dispatch = ( action: any ) => {\n\tif ( ! instance ) {\n\t\tpendingActions.push( action );\n\n\t\treturn;\n\t}\n\n\treturn instance.dispatch( action );\n};\n\nconst getState = () => {\n\tif ( ! instance ) {\n\t\tthrow new Error( 'The store instance does not exist.' );\n\t}\n\n\treturn instance.getState();\n};\n\nconst subscribe = ( listener: () => void ) => {\n\tif ( ! instance ) {\n\t\tthrow new Error( 'The store instance does not exist.' );\n\t}\n\n\treturn instance.subscribe( listener );\n};\n\nconst createStore = () => {\n\tif ( instance ) {\n\t\tthrow new Error( 'The store instance already exists.' );\n\t}\n\n\tinstance = configureStore( {\n\t\treducer: getReducers(),\n\t\tmiddleware: ( getDefaultMiddleware ) => {\n\t\t\treturn [\n\t\t\t\t...getDefaultMiddleware(),\n\t\t\t\t...Array.from( middlewares ),\n\t\t\t];\n\t\t},\n\t} );\n\n\tif ( pendingActions.length ) {\n\t\tpendingActions.forEach( ( action ) => dispatch( action ) );\n\t\tpendingActions.length = 0;\n\t}\n\n\treturn instance as AnyStore;\n};\n\nconst getStore = () => {\n\treturn instance;\n};\n\nconst deleteStore = () => {\n\tinstance = null;\n\tslices = {};\n\tpendingActions.length = 0;\n\tmiddlewares.clear();\n};\n\nexport {\n\tregisterSlice as __registerSlice,\n\taddMiddleware as __addMiddleware,\n\tdispatch as __dispatch,\n\tgetState as __getState,\n\tsubscribe as __subscribe,\n\tcreateStore as __createStore,\n\tgetStore as __getStore,\n\tdeleteStore as __deleteStore,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAUO;AAcP,IAAAA,kBAKO;AAEP,yBAIO;AAiCP,IAAI,WAA4B;AAChC,IAAI,SAAoB,CAAC;AACzB,IAAM,iBAA8B,CAAC;AACrC,IAAM,cAAc,oBAAI,IAAgB;AAExC,IAAM,cAAc,MAAM;AACzB,QAAM,WAAW,OAAO,QAAS,MAAO,EAAE,OAAQ,CAAE,cAAiC,CAAE,MAAM,KAAM,MAAO;AACzG,iBAAc,IAAK,IAAI,MAAM;AAE7B,WAAO;AAAA,EACR,GAAG,CAAC,CAAE;AAEN,aAAO,gCAAiB,QAAS;AAClC;AAEA,SAAS,cAAe,OAAe;AACtC,MAAK,OAAQ,MAAM,IAAK,GAAI;AAC3B,UAAM,IAAI,MAAO,oBAAqB,MAAM,IAAK,mBAAoB;AAAA,EACtE;AAEA,SAAQ,MAAM,IAAK,IAAI;AACxB;AAEA,IAAM,gBAAgB,CAAE,eAA4B;AACnD,cAAY,IAAK,UAAW;AAC7B;AAGA,IAAM,WAAW,CAAE,WAAiB;AACnC,MAAK,CAAE,UAAW;AACjB,mBAAe,KAAM,MAAO;AAE5B;AAAA,EACD;AAEA,SAAO,SAAS,SAAU,MAAO;AAClC;AAEA,IAAM,WAAW,MAAM;AACtB,MAAK,CAAE,UAAW;AACjB,UAAM,IAAI,MAAO,oCAAqC;AAAA,EACvD;AAEA,SAAO,SAAS,SAAS;AAC1B;AAEA,IAAM,YAAY,CAAE,aAA0B;AAC7C,MAAK,CAAE,UAAW;AACjB,UAAM,IAAI,MAAO,oCAAqC;AAAA,EACvD;AAEA,SAAO,SAAS,UAAW,QAAS;AACrC;AAEA,IAAM,cAAc,MAAM;AACzB,MAAK,UAAW;AACf,UAAM,IAAI,MAAO,oCAAqC;AAAA,EACvD;AAEA,iBAAW,+BAAgB;AAAA,IAC1B,SAAS,YAAY;AAAA,IACrB,YAAY,CAAE,yBAA0B;AACvC,aAAO;AAAA,QACN,GAAG,qBAAqB;AAAA,QACxB,GAAG,MAAM,KAAM,WAAY;AAAA,MAC5B;AAAA,IACD;AAAA,EACD,CAAE;AAEF,MAAK,eAAe,QAAS;AAC5B,mBAAe,QAAS,CAAE,WAAY,SAAU,MAAO,CAAE;AACzD,mBAAe,SAAS;AAAA,EACzB;AAEA,SAAO;AACR;AAEA,IAAM,WAAW,MAAM;AACtB,SAAO;AACR;AAEA,IAAM,cAAc,MAAM;AACzB,aAAW;AACX,WAAS,CAAC;AACV,iBAAe,SAAS;AACxB,cAAY,MAAM;AACnB;","names":["import_toolkit"]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import {\n\tReducersMapObject,\n\tconfigureStore,\n\tcombineReducers,\n\tMiddleware,\n\tSlice,\n\tAnyAction,\n\tEnhancedStore,\n\tStoreEnhancer,\n\tThunkMiddleware,\n} from '@reduxjs/toolkit';\n\nexport type {\n\tSlice,\n\tCreateSliceOptions,\n\tPayloadAction,\n\tStore,\n\tDispatch,\n\tAnyAction,\n\tAction,\n\tMiddlewareAPI,\n\tMiddleware,\n} from '@reduxjs/toolkit';\n\nexport {\n\tcreateSelector as __createSelector,\n\tcreateSlice as __createSlice,\n\tcreateAsyncThunk as __createAsyncThunk,\n\tcreateAction as __createAction,\n} from '@reduxjs/toolkit';\n\nexport { useSelector as __useSelector, useDispatch as __useDispatch, Provider as __StoreProvider } from 'react-redux';\n\n/**\n * Usage:\n *\n * const mySlice = addSlice( ... );\n *\n * type MySliceState = SliceState<typeof mySlice>;\n *\n * const value = useSelector( ( state: MySliceState ) => state.mySlice.value );\n */\nexport type SliceState< S extends Slice > = {\n\t[ key in S[ 'name' ] ]: ReturnType< S[ 'getInitialState' ] >;\n};\n\n// The `configureStore` function from Redux Toolkit infers its actions from the `reducers`\n// key of the initialization object. This is fine when creating the store statically, but\n// breaks in our case since we create the store dynamically, which means that TypeScript\n// can't infer the types. Therefore, we force the store to accept any actions using a\n// generic store type.\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype AnyStore< State = any > = EnhancedStore<\n\tState,\n\tAnyAction,\n\t[ ThunkMiddleware< State, AnyAction > ],\n\t[ StoreEnhancer ]\n>;\n\ninterface SlicesMap {\n\t[ key: Slice[ 'name' ] ]: Slice;\n}\n\nlet instance: AnyStore | null = null;\nlet slices: SlicesMap = {};\nconst pendingActions: AnyAction[] = [];\nconst middlewares = new Set< Middleware >();\n\nconst getReducers = () => {\n\tconst reducers = Object.entries( slices ).reduce( ( reducersData: ReducersMapObject, [ name, slice ] ) => {\n\t\treducersData[ name ] = slice.reducer;\n\n\t\treturn reducersData;\n\t}, {} );\n\n\treturn combineReducers( reducers );\n};\n\nfunction registerSlice( slice: Slice ) {\n\tif ( slices[ slice.name ] ) {\n\t\tthrow new Error( `Slice with name \"${ slice.name }\" already exists.` );\n\t}\n\n\tslices[ slice.name ] = slice;\n}\n\nconst addMiddleware = ( middleware: Middleware ) => {\n\tmiddlewares.add( middleware );\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any -- See the comment above about `AnyStore`\nconst dispatch = ( action: any ) => {\n\tif ( ! instance ) {\n\t\tpendingActions.push( action );\n\n\t\treturn;\n\t}\n\n\treturn instance.dispatch( action );\n};\n\nconst getState = () => {\n\tif ( ! instance ) {\n\t\tthrow new Error( 'The store instance does not exist.' );\n\t}\n\n\treturn instance.getState();\n};\n\nconst subscribe = ( listener: () => void ) => {\n\tif ( ! instance ) {\n\t\tthrow new Error( 'The store instance does not exist.' );\n\t}\n\n\treturn instance.subscribe( listener );\n};\n\nconst createStore = () => {\n\tif ( instance ) {\n\t\tthrow new Error( 'The store instance already exists.' );\n\t}\n\n\tinstance = configureStore( {\n\t\treducer: getReducers(),\n\t\tmiddleware: ( getDefaultMiddleware ) => {\n\t\t\treturn [ ...getDefaultMiddleware(), ...Array.from( middlewares ) ];\n\t\t},\n\t} );\n\n\tif ( pendingActions.length ) {\n\t\tpendingActions.forEach( ( action ) => dispatch( action ) );\n\t\tpendingActions.length = 0;\n\t}\n\n\treturn instance as AnyStore;\n};\n\nconst getStore = () => {\n\treturn instance;\n};\n\nconst deleteStore = () => {\n\tinstance = null;\n\tslices = {};\n\tpendingActions.length = 0;\n\tmiddlewares.clear();\n};\n\nexport {\n\tregisterSlice as __registerSlice,\n\taddMiddleware as __addMiddleware,\n\tdispatch as __dispatch,\n\tgetState as __getState,\n\tsubscribe as __subscribe,\n\tcreateStore as __createStore,\n\tgetStore as __getStore,\n\tdeleteStore as __deleteStore,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAUO;AAcP,IAAAA,kBAKO;AAEP,yBAAwG;AAiCxG,IAAI,WAA4B;AAChC,IAAI,SAAoB,CAAC;AACzB,IAAM,iBAA8B,CAAC;AACrC,IAAM,cAAc,oBAAI,IAAkB;AAE1C,IAAM,cAAc,MAAM;AACzB,QAAM,WAAW,OAAO,QAAS,MAAO,EAAE,OAAQ,CAAE,cAAiC,CAAE,MAAM,KAAM,MAAO;AACzG,iBAAc,IAAK,IAAI,MAAM;AAE7B,WAAO;AAAA,EACR,GAAG,CAAC,CAAE;AAEN,aAAO,gCAAiB,QAAS;AAClC;AAEA,SAAS,cAAe,OAAe;AACtC,MAAK,OAAQ,MAAM,IAAK,GAAI;AAC3B,UAAM,IAAI,MAAO,oBAAqB,MAAM,IAAK,mBAAoB;AAAA,EACtE;AAEA,SAAQ,MAAM,IAAK,IAAI;AACxB;AAEA,IAAM,gBAAgB,CAAE,eAA4B;AACnD,cAAY,IAAK,UAAW;AAC7B;AAGA,IAAM,WAAW,CAAE,WAAiB;AACnC,MAAK,CAAE,UAAW;AACjB,mBAAe,KAAM,MAAO;AAE5B;AAAA,EACD;AAEA,SAAO,SAAS,SAAU,MAAO;AAClC;AAEA,IAAM,WAAW,MAAM;AACtB,MAAK,CAAE,UAAW;AACjB,UAAM,IAAI,MAAO,oCAAqC;AAAA,EACvD;AAEA,SAAO,SAAS,SAAS;AAC1B;AAEA,IAAM,YAAY,CAAE,aAA0B;AAC7C,MAAK,CAAE,UAAW;AACjB,UAAM,IAAI,MAAO,oCAAqC;AAAA,EACvD;AAEA,SAAO,SAAS,UAAW,QAAS;AACrC;AAEA,IAAM,cAAc,MAAM;AACzB,MAAK,UAAW;AACf,UAAM,IAAI,MAAO,oCAAqC;AAAA,EACvD;AAEA,iBAAW,+BAAgB;AAAA,IAC1B,SAAS,YAAY;AAAA,IACrB,YAAY,CAAE,yBAA0B;AACvC,aAAO,CAAE,GAAG,qBAAqB,GAAG,GAAG,MAAM,KAAM,WAAY,CAAE;AAAA,IAClE;AAAA,EACD,CAAE;AAEF,MAAK,eAAe,QAAS;AAC5B,mBAAe,QAAS,CAAE,WAAY,SAAU,MAAO,CAAE;AACzD,mBAAe,SAAS;AAAA,EACzB;AAEA,SAAO;AACR;AAEA,IAAM,WAAW,MAAM;AACtB,SAAO;AACR;AAEA,IAAM,cAAc,MAAM;AACzB,aAAW;AACX,WAAS,CAAC;AACV,iBAAe,SAAS;AACxB,cAAY,MAAM;AACnB;","names":["import_toolkit"]}
package/dist/index.mjs CHANGED
@@ -9,11 +9,7 @@ import {
9
9
  createAsyncThunk,
10
10
  createAction
11
11
  } from "@reduxjs/toolkit";
12
- import {
13
- useSelector,
14
- useDispatch,
15
- Provider
16
- } from "react-redux";
12
+ import { useSelector, useDispatch, Provider } from "react-redux";
17
13
  var instance = null;
18
14
  var slices = {};
19
15
  var pendingActions = [];
@@ -60,10 +56,7 @@ var createStore = () => {
60
56
  instance = configureStore({
61
57
  reducer: getReducers(),
62
58
  middleware: (getDefaultMiddleware) => {
63
- return [
64
- ...getDefaultMiddleware(),
65
- ...Array.from(middlewares)
66
- ];
59
+ return [...getDefaultMiddleware(), ...Array.from(middlewares)];
67
60
  }
68
61
  });
69
62
  if (pendingActions.length) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import {\n\tReducersMapObject,\n\tconfigureStore,\n\tcombineReducers,\n\tMiddleware,\n\tSlice,\n\tAnyAction,\n\tEnhancedStore,\n\tStoreEnhancer,\n\tThunkMiddleware,\n} from '@reduxjs/toolkit';\n\nexport type {\n\tSlice,\n\tCreateSliceOptions,\n\tPayloadAction,\n\tStore,\n\tDispatch,\n\tAnyAction,\n\tAction,\n\tMiddlewareAPI,\n\tMiddleware,\n} from '@reduxjs/toolkit';\n\nexport {\n\tcreateSelector as __createSelector,\n\tcreateSlice as __createSlice,\n\tcreateAsyncThunk as __createAsyncThunk,\n\tcreateAction as __createAction,\n} from '@reduxjs/toolkit';\n\nexport {\n\tuseSelector as __useSelector,\n\tuseDispatch as __useDispatch,\n\tProvider as __StoreProvider,\n} from 'react-redux';\n\n/**\n * Usage:\n *\n * const mySlice = addSlice( ... );\n *\n * type MySliceState = SliceState<typeof mySlice>;\n *\n * const value = useSelector( ( state: MySliceState ) => state.mySlice.value );\n */\nexport type SliceState<S extends Slice> = {\n\t[ key in S['name'] ]: ReturnType<S['getInitialState']>;\n}\n\n// The `configureStore` function from Redux Toolkit infers its actions from the `reducers`\n// key of the initialization object. This is fine when creating the store statically, but\n// breaks in our case since we create the store dynamically, which means that TypeScript\n// can't infer the types. Therefore, we force the store to accept any actions using a\n// generic store type.\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype AnyStore<State = any> = EnhancedStore<\n\tState,\n\tAnyAction,\n\t[ThunkMiddleware<State, AnyAction>],\n\t[StoreEnhancer]\n>\n\ninterface SlicesMap {\n\t[key: Slice['name']]: Slice;\n}\n\nlet instance: AnyStore | null = null;\nlet slices: SlicesMap = {};\nconst pendingActions: AnyAction[] = [];\nconst middlewares = new Set<Middleware>();\n\nconst getReducers = () => {\n\tconst reducers = Object.entries( slices ).reduce( ( reducersData: ReducersMapObject, [ name, slice ] ) => {\n\t\treducersData[ name ] = slice.reducer;\n\n\t\treturn reducersData;\n\t}, {} );\n\n\treturn combineReducers( reducers );\n};\n\nfunction registerSlice( slice: Slice ) {\n\tif ( slices[ slice.name ] ) {\n\t\tthrow new Error( `Slice with name \"${ slice.name }\" already exists.` );\n\t}\n\n\tslices[ slice.name ] = slice;\n}\n\nconst addMiddleware = ( middleware: Middleware ) => {\n\tmiddlewares.add( middleware );\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any -- See the comment above about `AnyStore`\nconst dispatch = ( action: any ) => {\n\tif ( ! instance ) {\n\t\tpendingActions.push( action );\n\n\t\treturn;\n\t}\n\n\treturn instance.dispatch( action );\n};\n\nconst getState = () => {\n\tif ( ! instance ) {\n\t\tthrow new Error( 'The store instance does not exist.' );\n\t}\n\n\treturn instance.getState();\n};\n\nconst subscribe = ( listener: () => void ) => {\n\tif ( ! instance ) {\n\t\tthrow new Error( 'The store instance does not exist.' );\n\t}\n\n\treturn instance.subscribe( listener );\n};\n\nconst createStore = () => {\n\tif ( instance ) {\n\t\tthrow new Error( 'The store instance already exists.' );\n\t}\n\n\tinstance = configureStore( {\n\t\treducer: getReducers(),\n\t\tmiddleware: ( getDefaultMiddleware ) => {\n\t\t\treturn [\n\t\t\t\t...getDefaultMiddleware(),\n\t\t\t\t...Array.from( middlewares ),\n\t\t\t];\n\t\t},\n\t} );\n\n\tif ( pendingActions.length ) {\n\t\tpendingActions.forEach( ( action ) => dispatch( action ) );\n\t\tpendingActions.length = 0;\n\t}\n\n\treturn instance as AnyStore;\n};\n\nconst getStore = () => {\n\treturn instance;\n};\n\nconst deleteStore = () => {\n\tinstance = null;\n\tslices = {};\n\tpendingActions.length = 0;\n\tmiddlewares.clear();\n};\n\nexport {\n\tregisterSlice as __registerSlice,\n\taddMiddleware as __addMiddleware,\n\tdispatch as __dispatch,\n\tgetState as __getState,\n\tsubscribe as __subscribe,\n\tcreateStore as __createStore,\n\tgetStore as __getStore,\n\tdeleteStore as __deleteStore,\n};\n"],"mappings":";AAAA;AAAA,EAEC;AAAA,EACA;AAAA,OAOM;AAcP;AAAA,EACmB;AAAA,EACH;AAAA,EACK;AAAA,EACJ;AAAA,OACV;AAEP;AAAA,EACgB;AAAA,EACA;AAAA,EACH;AAAA,OACN;AAiCP,IAAI,WAA4B;AAChC,IAAI,SAAoB,CAAC;AACzB,IAAM,iBAA8B,CAAC;AACrC,IAAM,cAAc,oBAAI,IAAgB;AAExC,IAAM,cAAc,MAAM;AACzB,QAAM,WAAW,OAAO,QAAS,MAAO,EAAE,OAAQ,CAAE,cAAiC,CAAE,MAAM,KAAM,MAAO;AACzG,iBAAc,IAAK,IAAI,MAAM;AAE7B,WAAO;AAAA,EACR,GAAG,CAAC,CAAE;AAEN,SAAO,gBAAiB,QAAS;AAClC;AAEA,SAAS,cAAe,OAAe;AACtC,MAAK,OAAQ,MAAM,IAAK,GAAI;AAC3B,UAAM,IAAI,MAAO,oBAAqB,MAAM,IAAK,mBAAoB;AAAA,EACtE;AAEA,SAAQ,MAAM,IAAK,IAAI;AACxB;AAEA,IAAM,gBAAgB,CAAE,eAA4B;AACnD,cAAY,IAAK,UAAW;AAC7B;AAGA,IAAM,WAAW,CAAE,WAAiB;AACnC,MAAK,CAAE,UAAW;AACjB,mBAAe,KAAM,MAAO;AAE5B;AAAA,EACD;AAEA,SAAO,SAAS,SAAU,MAAO;AAClC;AAEA,IAAM,WAAW,MAAM;AACtB,MAAK,CAAE,UAAW;AACjB,UAAM,IAAI,MAAO,oCAAqC;AAAA,EACvD;AAEA,SAAO,SAAS,SAAS;AAC1B;AAEA,IAAM,YAAY,CAAE,aAA0B;AAC7C,MAAK,CAAE,UAAW;AACjB,UAAM,IAAI,MAAO,oCAAqC;AAAA,EACvD;AAEA,SAAO,SAAS,UAAW,QAAS;AACrC;AAEA,IAAM,cAAc,MAAM;AACzB,MAAK,UAAW;AACf,UAAM,IAAI,MAAO,oCAAqC;AAAA,EACvD;AAEA,aAAW,eAAgB;AAAA,IAC1B,SAAS,YAAY;AAAA,IACrB,YAAY,CAAE,yBAA0B;AACvC,aAAO;AAAA,QACN,GAAG,qBAAqB;AAAA,QACxB,GAAG,MAAM,KAAM,WAAY;AAAA,MAC5B;AAAA,IACD;AAAA,EACD,CAAE;AAEF,MAAK,eAAe,QAAS;AAC5B,mBAAe,QAAS,CAAE,WAAY,SAAU,MAAO,CAAE;AACzD,mBAAe,SAAS;AAAA,EACzB;AAEA,SAAO;AACR;AAEA,IAAM,WAAW,MAAM;AACtB,SAAO;AACR;AAEA,IAAM,cAAc,MAAM;AACzB,aAAW;AACX,WAAS,CAAC;AACV,iBAAe,SAAS;AACxB,cAAY,MAAM;AACnB;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import {\n\tReducersMapObject,\n\tconfigureStore,\n\tcombineReducers,\n\tMiddleware,\n\tSlice,\n\tAnyAction,\n\tEnhancedStore,\n\tStoreEnhancer,\n\tThunkMiddleware,\n} from '@reduxjs/toolkit';\n\nexport type {\n\tSlice,\n\tCreateSliceOptions,\n\tPayloadAction,\n\tStore,\n\tDispatch,\n\tAnyAction,\n\tAction,\n\tMiddlewareAPI,\n\tMiddleware,\n} from '@reduxjs/toolkit';\n\nexport {\n\tcreateSelector as __createSelector,\n\tcreateSlice as __createSlice,\n\tcreateAsyncThunk as __createAsyncThunk,\n\tcreateAction as __createAction,\n} from '@reduxjs/toolkit';\n\nexport { useSelector as __useSelector, useDispatch as __useDispatch, Provider as __StoreProvider } from 'react-redux';\n\n/**\n * Usage:\n *\n * const mySlice = addSlice( ... );\n *\n * type MySliceState = SliceState<typeof mySlice>;\n *\n * const value = useSelector( ( state: MySliceState ) => state.mySlice.value );\n */\nexport type SliceState< S extends Slice > = {\n\t[ key in S[ 'name' ] ]: ReturnType< S[ 'getInitialState' ] >;\n};\n\n// The `configureStore` function from Redux Toolkit infers its actions from the `reducers`\n// key of the initialization object. This is fine when creating the store statically, but\n// breaks in our case since we create the store dynamically, which means that TypeScript\n// can't infer the types. Therefore, we force the store to accept any actions using a\n// generic store type.\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype AnyStore< State = any > = EnhancedStore<\n\tState,\n\tAnyAction,\n\t[ ThunkMiddleware< State, AnyAction > ],\n\t[ StoreEnhancer ]\n>;\n\ninterface SlicesMap {\n\t[ key: Slice[ 'name' ] ]: Slice;\n}\n\nlet instance: AnyStore | null = null;\nlet slices: SlicesMap = {};\nconst pendingActions: AnyAction[] = [];\nconst middlewares = new Set< Middleware >();\n\nconst getReducers = () => {\n\tconst reducers = Object.entries( slices ).reduce( ( reducersData: ReducersMapObject, [ name, slice ] ) => {\n\t\treducersData[ name ] = slice.reducer;\n\n\t\treturn reducersData;\n\t}, {} );\n\n\treturn combineReducers( reducers );\n};\n\nfunction registerSlice( slice: Slice ) {\n\tif ( slices[ slice.name ] ) {\n\t\tthrow new Error( `Slice with name \"${ slice.name }\" already exists.` );\n\t}\n\n\tslices[ slice.name ] = slice;\n}\n\nconst addMiddleware = ( middleware: Middleware ) => {\n\tmiddlewares.add( middleware );\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any -- See the comment above about `AnyStore`\nconst dispatch = ( action: any ) => {\n\tif ( ! instance ) {\n\t\tpendingActions.push( action );\n\n\t\treturn;\n\t}\n\n\treturn instance.dispatch( action );\n};\n\nconst getState = () => {\n\tif ( ! instance ) {\n\t\tthrow new Error( 'The store instance does not exist.' );\n\t}\n\n\treturn instance.getState();\n};\n\nconst subscribe = ( listener: () => void ) => {\n\tif ( ! instance ) {\n\t\tthrow new Error( 'The store instance does not exist.' );\n\t}\n\n\treturn instance.subscribe( listener );\n};\n\nconst createStore = () => {\n\tif ( instance ) {\n\t\tthrow new Error( 'The store instance already exists.' );\n\t}\n\n\tinstance = configureStore( {\n\t\treducer: getReducers(),\n\t\tmiddleware: ( getDefaultMiddleware ) => {\n\t\t\treturn [ ...getDefaultMiddleware(), ...Array.from( middlewares ) ];\n\t\t},\n\t} );\n\n\tif ( pendingActions.length ) {\n\t\tpendingActions.forEach( ( action ) => dispatch( action ) );\n\t\tpendingActions.length = 0;\n\t}\n\n\treturn instance as AnyStore;\n};\n\nconst getStore = () => {\n\treturn instance;\n};\n\nconst deleteStore = () => {\n\tinstance = null;\n\tslices = {};\n\tpendingActions.length = 0;\n\tmiddlewares.clear();\n};\n\nexport {\n\tregisterSlice as __registerSlice,\n\taddMiddleware as __addMiddleware,\n\tdispatch as __dispatch,\n\tgetState as __getState,\n\tsubscribe as __subscribe,\n\tcreateStore as __createStore,\n\tgetStore as __getStore,\n\tdeleteStore as __deleteStore,\n};\n"],"mappings":";AAAA;AAAA,EAEC;AAAA,EACA;AAAA,OAOM;AAcP;AAAA,EACmB;AAAA,EACH;AAAA,EACK;AAAA,EACJ;AAAA,OACV;AAEP,SAAwB,aAA8B,aAA2B,gBAAuB;AAiCxG,IAAI,WAA4B;AAChC,IAAI,SAAoB,CAAC;AACzB,IAAM,iBAA8B,CAAC;AACrC,IAAM,cAAc,oBAAI,IAAkB;AAE1C,IAAM,cAAc,MAAM;AACzB,QAAM,WAAW,OAAO,QAAS,MAAO,EAAE,OAAQ,CAAE,cAAiC,CAAE,MAAM,KAAM,MAAO;AACzG,iBAAc,IAAK,IAAI,MAAM;AAE7B,WAAO;AAAA,EACR,GAAG,CAAC,CAAE;AAEN,SAAO,gBAAiB,QAAS;AAClC;AAEA,SAAS,cAAe,OAAe;AACtC,MAAK,OAAQ,MAAM,IAAK,GAAI;AAC3B,UAAM,IAAI,MAAO,oBAAqB,MAAM,IAAK,mBAAoB;AAAA,EACtE;AAEA,SAAQ,MAAM,IAAK,IAAI;AACxB;AAEA,IAAM,gBAAgB,CAAE,eAA4B;AACnD,cAAY,IAAK,UAAW;AAC7B;AAGA,IAAM,WAAW,CAAE,WAAiB;AACnC,MAAK,CAAE,UAAW;AACjB,mBAAe,KAAM,MAAO;AAE5B;AAAA,EACD;AAEA,SAAO,SAAS,SAAU,MAAO;AAClC;AAEA,IAAM,WAAW,MAAM;AACtB,MAAK,CAAE,UAAW;AACjB,UAAM,IAAI,MAAO,oCAAqC;AAAA,EACvD;AAEA,SAAO,SAAS,SAAS;AAC1B;AAEA,IAAM,YAAY,CAAE,aAA0B;AAC7C,MAAK,CAAE,UAAW;AACjB,UAAM,IAAI,MAAO,oCAAqC;AAAA,EACvD;AAEA,SAAO,SAAS,UAAW,QAAS;AACrC;AAEA,IAAM,cAAc,MAAM;AACzB,MAAK,UAAW;AACf,UAAM,IAAI,MAAO,oCAAqC;AAAA,EACvD;AAEA,aAAW,eAAgB;AAAA,IAC1B,SAAS,YAAY;AAAA,IACrB,YAAY,CAAE,yBAA0B;AACvC,aAAO,CAAE,GAAG,qBAAqB,GAAG,GAAG,MAAM,KAAM,WAAY,CAAE;AAAA,IAClE;AAAA,EACD,CAAE;AAEF,MAAK,eAAe,QAAS;AAC5B,mBAAe,QAAS,CAAE,WAAY,SAAU,MAAO,CAAE;AACzD,mBAAe,SAAS;AAAA,EACzB;AAEA,SAAO;AACR;AAEA,IAAM,WAAW,MAAM;AACtB,SAAO;AACR;AAEA,IAAM,cAAc,MAAM;AACzB,aAAW;AACX,WAAS,CAAC;AACV,iBAAe,SAAS;AACxB,cAAY,MAAM;AACnB;","names":[]}
package/package.json CHANGED
@@ -1,42 +1,42 @@
1
1
  {
2
- "name": "@elementor/store",
3
- "version": "0.8.3",
4
- "private": false,
5
- "author": "Elementor Team",
6
- "homepage": "https://elementor.com/",
7
- "license": "GPL-3.0-or-later",
8
- "main": "dist/index.js",
9
- "module": "dist/index.mjs",
10
- "types": "dist/index.d.ts",
11
- "exports": {
12
- ".": {
13
- "import": "./dist/index.mjs",
14
- "require": "./dist/index.js",
15
- "types": "./dist/index.d.ts"
16
- },
17
- "./package.json": "./package.json"
18
- },
19
- "repository": {
20
- "type": "git",
21
- "url": "https://github.com/elementor/elementor-packages.git",
22
- "directory": "packages/libs/store"
23
- },
24
- "bugs": {
25
- "url": "https://github.com/elementor/elementor-packages/issues"
26
- },
27
- "publishConfig": {
28
- "access": "public"
29
- },
30
- "scripts": {
31
- "build": "tsup --config=../../tsup.build.ts",
32
- "dev": "tsup --config=../../tsup.dev.ts"
33
- },
34
- "peerDependencies": {
35
- "react": "^18.3.1"
36
- },
37
- "dependencies": {
38
- "@reduxjs/toolkit": "^1.9.7",
39
- "react-redux": "^8.1.3"
40
- },
41
- "gitHead": "8fee803f32268363169a260a99c2eb7c2d548b39"
2
+ "name": "@elementor/store",
3
+ "version": "0.8.4",
4
+ "private": false,
5
+ "author": "Elementor Team",
6
+ "homepage": "https://elementor.com/",
7
+ "license": "GPL-3.0-or-later",
8
+ "main": "dist/index.js",
9
+ "module": "dist/index.mjs",
10
+ "types": "dist/index.d.ts",
11
+ "exports": {
12
+ ".": {
13
+ "import": "./dist/index.mjs",
14
+ "require": "./dist/index.js",
15
+ "types": "./dist/index.d.ts"
16
+ },
17
+ "./package.json": "./package.json"
18
+ },
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "https://github.com/elementor/elementor-packages.git",
22
+ "directory": "packages/libs/store"
23
+ },
24
+ "bugs": {
25
+ "url": "https://github.com/elementor/elementor-packages/issues"
26
+ },
27
+ "publishConfig": {
28
+ "access": "public"
29
+ },
30
+ "scripts": {
31
+ "build": "tsup --config=../../tsup.build.ts",
32
+ "dev": "tsup --config=../../tsup.dev.ts"
33
+ },
34
+ "peerDependencies": {
35
+ "react": "^18.3.1"
36
+ },
37
+ "dependencies": {
38
+ "@reduxjs/toolkit": "^1.9.7",
39
+ "react-redux": "^8.1.3"
40
+ },
41
+ "gitHead": "10fd8663495a9ced2521f27a74879684ed0cf322"
42
42
  }
@@ -20,11 +20,11 @@ import {
20
20
  interface SliceStateRoot {
21
21
  slice: {
22
22
  value?: number;
23
- }
23
+ };
24
24
  }
25
25
 
26
26
  interface Config {
27
- initialValue?: SliceStateRoot['slice']['value'];
27
+ initialValue?: SliceStateRoot[ 'slice' ][ 'value' ];
28
28
  }
29
29
 
30
30
  const createStoreEntities = ( { initialValue = 1 }: Config = {} ) => {
@@ -44,11 +44,7 @@ const createStoreEntities = ( { initialValue = 1 }: Config = {} ) => {
44
44
 
45
45
  const store = __createStore();
46
46
 
47
- const wrapper = ( { children }: PropsWithChildren ) => (
48
- <StoreProvider store={ store }>
49
- { children }
50
- </StoreProvider>
51
- );
47
+ const wrapper = ( { children }: PropsWithChildren ) => <StoreProvider store={ store }>{ children }</StoreProvider>;
52
48
 
53
49
  return {
54
50
  slice,
@@ -62,7 +58,9 @@ describe( '@elementor/store', () => {
62
58
  // Arrange.
63
59
  const { wrapper } = createStoreEntities();
64
60
 
65
- const { result } = renderHook( () => useSelector( ( state: SliceStateRoot ) => state.slice.value ), { wrapper } );
61
+ const { result } = renderHook( () => useSelector( ( state: SliceStateRoot ) => state.slice.value ), {
62
+ wrapper,
63
+ } );
66
64
 
67
65
  // Assert.
68
66
  expect( result.current ).toBe( 1 );
@@ -73,13 +71,16 @@ describe( '@elementor/store', () => {
73
71
  const { slice, wrapper } = createStoreEntities();
74
72
 
75
73
  // Act.
76
- const { result } = renderHook( () => {
77
- const dispatchAction = useDispatch();
74
+ const { result } = renderHook(
75
+ () => {
76
+ const dispatchAction = useDispatch();
78
77
 
79
- dispatchAction( slice.actions.setValue( 3 ) );
78
+ dispatchAction( slice.actions.setValue( 3 ) );
80
79
 
81
- return useSelector( ( state: SliceStateRoot ) => state.slice.value );
82
- }, { wrapper } );
80
+ return useSelector( ( state: SliceStateRoot ) => state.slice.value );
81
+ },
82
+ { wrapper }
83
+ );
83
84
 
84
85
  // Assert.
85
86
  expect( result.current ).toBe( 3 );
@@ -130,13 +131,16 @@ describe( '@elementor/store', () => {
130
131
  const { slice, wrapper } = createStoreEntities();
131
132
 
132
133
  // Act.
133
- const { result } = renderHook( () => {
134
- const dispatchAction = useDispatch();
134
+ const { result } = renderHook(
135
+ () => {
136
+ const dispatchAction = useDispatch();
135
137
 
136
- dispatchAction( slice.actions.setValue( 4 ) );
138
+ dispatchAction( slice.actions.setValue( 4 ) );
137
139
 
138
- return useSelector( ( state: SliceStateRoot ) => state.slice.value );
139
- }, { wrapper } );
140
+ return useSelector( ( state: SliceStateRoot ) => state.slice.value );
141
+ },
142
+ { wrapper }
143
+ );
140
144
 
141
145
  // Assert.
142
146
  expect( result.current ).toBe( 1 );
@@ -146,7 +150,7 @@ describe( '@elementor/store', () => {
146
150
  // Arrange.
147
151
  const middlewareNextAction = jest.fn();
148
152
 
149
- __addMiddleware( () => ( next: Dispatch<AnyAction> ) => ( action: AnyAction ) => {
153
+ __addMiddleware( () => ( next: Dispatch< AnyAction > ) => ( action: AnyAction ) => {
150
154
  middlewareNextAction( action );
151
155
 
152
156
  next( action );
@@ -155,13 +159,16 @@ describe( '@elementor/store', () => {
155
159
  const { slice, wrapper } = createStoreEntities();
156
160
 
157
161
  // Act.
158
- const { result } = renderHook( () => {
159
- const dispatchAction = useDispatch();
162
+ const { result } = renderHook(
163
+ () => {
164
+ const dispatchAction = useDispatch();
160
165
 
161
- dispatchAction( slice.actions.setValue( 4 ) );
166
+ dispatchAction( slice.actions.setValue( 4 ) );
162
167
 
163
- return useSelector( ( state: SliceStateRoot ) => state.slice.value );
164
- }, { wrapper } );
168
+ return useSelector( ( state: SliceStateRoot ) => state.slice.value );
169
+ },
170
+ { wrapper }
171
+ );
165
172
 
166
173
  // Assert.
167
174
  expect( result.current ).toBe( 4 );
@@ -202,7 +209,9 @@ describe( '@elementor/store', () => {
202
209
 
203
210
  const { wrapper } = createStoreEntities();
204
211
 
205
- const { result } = renderHook( () => useSelector( ( state: SliceStateRoot ) => state.slice.value ), { wrapper } );
212
+ const { result } = renderHook( () => useSelector( ( state: SliceStateRoot ) => state.slice.value ), {
213
+ wrapper,
214
+ } );
206
215
 
207
216
  // Assert.
208
217
  expect( result.current ).toBe( 7 );
@@ -237,9 +246,7 @@ describe( '@elementor/store', () => {
237
246
  const store = __createStore();
238
247
 
239
248
  const wrapper = ( { children }: PropsWithChildren ) => (
240
- <StoreProvider store={ store }>
241
- { children }
242
- </StoreProvider>
249
+ <StoreProvider store={ store }>{ children }</StoreProvider>
243
250
  );
244
251
 
245
252
  const { result } = renderHook( () => useSelector( ( state: SliceStateRoot ) => state.slice ), { wrapper } );
@@ -263,13 +270,16 @@ describe( '@elementor/store', () => {
263
270
 
264
271
  const { slice, wrapper } = createStoreEntities();
265
272
 
266
- const { result } = renderHook( () => {
267
- const dispatchAction = useDispatch();
273
+ const { result } = renderHook(
274
+ () => {
275
+ const dispatchAction = useDispatch();
268
276
 
269
- dispatchAction( slice.actions.setValue( 8 ) );
277
+ dispatchAction( slice.actions.setValue( 8 ) );
270
278
 
271
- return useSelector( ( state: SliceStateRoot ) => state.slice.value );
272
- }, { wrapper } );
279
+ return useSelector( ( state: SliceStateRoot ) => state.slice.value );
280
+ },
281
+ { wrapper }
282
+ );
273
283
 
274
284
  // Assert.
275
285
  expect( result.current ).toBe( 8 );
@@ -277,12 +287,9 @@ describe( '@elementor/store', () => {
277
287
 
278
288
  it( 'should support dispatching async actions', async () => {
279
289
  // Arrange.
280
- const incrementBy = __createAsyncThunk(
281
- 'value/incrementBy',
282
- async ( value: number ) => {
283
- return value;
284
- },
285
- );
290
+ const incrementBy = __createAsyncThunk( 'value/incrementBy', async ( value: number ) => {
291
+ return value;
292
+ } );
286
293
 
287
294
  const slice = __createSlice( {
288
295
  name: 'slice',
package/src/index.ts CHANGED
@@ -29,11 +29,7 @@ export {
29
29
  createAction as __createAction,
30
30
  } from '@reduxjs/toolkit';
31
31
 
32
- export {
33
- useSelector as __useSelector,
34
- useDispatch as __useDispatch,
35
- Provider as __StoreProvider,
36
- } from 'react-redux';
32
+ export { useSelector as __useSelector, useDispatch as __useDispatch, Provider as __StoreProvider } from 'react-redux';
37
33
 
38
34
  /**
39
35
  * Usage:
@@ -44,9 +40,9 @@ export {
44
40
  *
45
41
  * const value = useSelector( ( state: MySliceState ) => state.mySlice.value );
46
42
  */
47
- export type SliceState<S extends Slice> = {
48
- [ key in S['name'] ]: ReturnType<S['getInitialState']>;
49
- }
43
+ export type SliceState< S extends Slice > = {
44
+ [ key in S[ 'name' ] ]: ReturnType< S[ 'getInitialState' ] >;
45
+ };
50
46
 
51
47
  // The `configureStore` function from Redux Toolkit infers its actions from the `reducers`
52
48
  // key of the initialization object. This is fine when creating the store statically, but
@@ -55,21 +51,21 @@ export type SliceState<S extends Slice> = {
55
51
  // generic store type.
56
52
 
57
53
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
58
- type AnyStore<State = any> = EnhancedStore<
54
+ type AnyStore< State = any > = EnhancedStore<
59
55
  State,
60
56
  AnyAction,
61
- [ThunkMiddleware<State, AnyAction>],
62
- [StoreEnhancer]
63
- >
57
+ [ ThunkMiddleware< State, AnyAction > ],
58
+ [ StoreEnhancer ]
59
+ >;
64
60
 
65
61
  interface SlicesMap {
66
- [key: Slice['name']]: Slice;
62
+ [ key: Slice[ 'name' ] ]: Slice;
67
63
  }
68
64
 
69
65
  let instance: AnyStore | null = null;
70
66
  let slices: SlicesMap = {};
71
67
  const pendingActions: AnyAction[] = [];
72
- const middlewares = new Set<Middleware>();
68
+ const middlewares = new Set< Middleware >();
73
69
 
74
70
  const getReducers = () => {
75
71
  const reducers = Object.entries( slices ).reduce( ( reducersData: ReducersMapObject, [ name, slice ] ) => {
@@ -128,10 +124,7 @@ const createStore = () => {
128
124
  instance = configureStore( {
129
125
  reducer: getReducers(),
130
126
  middleware: ( getDefaultMiddleware ) => {
131
- return [
132
- ...getDefaultMiddleware(),
133
- ...Array.from( middlewares ),
134
- ];
127
+ return [ ...getDefaultMiddleware(), ...Array.from( middlewares ) ];
135
128
  },
136
129
  } );
137
130