@nlabs/arkhamjs-middleware-redux 3.28.6 → 3.29.0
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/README.md +322 -93
- package/lib/createArkhamStore.d.ts +3 -0
- package/lib/createArkhamStore.js +2 -0
- package/lib/index.d.ts +5 -0
- package/lib/index.js +2 -0
- package/lib/middleware/ReduxMiddleware.d.ts +8 -0
- package/lib/middleware/ReduxMiddleware.js +2 -0
- package/lib/middleware/arkhamMiddleware.d.ts +1 -0
- package/lib/middleware/arkhamMiddleware.js +2 -0
- package/lib/types/main.d.ts +10 -0
- package/lib/types/main.js +2 -0
- package/package.json +19 -15
package/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# @nlabs/arkhamjs-middleware-redux
|
2
2
|
|
3
|
-
|
3
|
+
> **Redux Compatibility Layer for ArkhamJS** - Seamlessly integrate ArkhamJS into existing Redux applications or migrate from Redux to ArkhamJS with zero downtime.
|
4
4
|
|
5
5
|
[](https://www.npmjs.com/package/@nlabs/arkhamjs-middleware-redux)
|
6
6
|
[](https://www.npmjs.com/package/@nlabs/arkhamjs-middleware-redux)
|
@@ -10,52 +10,43 @@ ArkhamJS Redux middleware integrates ArkhamJS into existing redux applications t
|
|
10
10
|
[](http://opensource.org/licenses/MIT)
|
11
11
|
[](https://discord.gg/Ttgev58)
|
12
12
|
|
13
|
-
##
|
13
|
+
## 🚀 Features
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
15
|
+
- **🔄 Two-Way Binding** - Bidirectional state synchronization between Redux and ArkhamJS
|
16
|
+
- **🚀 Zero-Downtime Migration** - Migrate from Redux to ArkhamJS gradually
|
17
|
+
- **🎯 Selective Integration** - Choose which parts of your Redux store to integrate
|
18
|
+
- **⚡ Performance Optimized** - Efficient state synchronization without performance impact
|
19
|
+
- **🔧 Flexible Configuration** - Multiple integration patterns for different use cases
|
20
|
+
- **📱 Existing Redux Support** - Keep your existing Redux setup while adding ArkhamJS features
|
21
|
+
- **🌲 Tree-shakable** - Only include what you need
|
20
22
|
|
21
|
-
|
23
|
+
## 📦 Installation
|
22
24
|
|
23
|
-
|
24
|
-
|
25
|
-
```javascript
|
26
|
-
// Create Redux store
|
27
|
-
const store = createArkhamStore({
|
28
|
-
arkhamMiddleware,
|
29
|
-
devTools,
|
30
|
-
flux,
|
31
|
-
reducers,
|
32
|
-
reduxMiddleware,
|
33
|
-
statePath
|
34
|
-
});
|
25
|
+
```bash
|
26
|
+
npm install @nlabs/arkhamjs-middleware-redux
|
35
27
|
```
|
36
28
|
|
37
|
-
|
29
|
+
## 🎯 Quick Start
|
30
|
+
|
31
|
+
### **Basic Integration**
|
38
32
|
|
39
|
-
```
|
40
|
-
import {createArkhamStore} from '@nlabs/arkhamjs-middleware-redux';
|
41
|
-
import {Flux} from '@nlabs/arkhamjs';
|
42
|
-
import
|
43
|
-
import {
|
44
|
-
import {Provider} from 'react-redux';
|
45
|
-
import {App} from './components/App';
|
46
|
-
import {reducers} from './reducers';
|
33
|
+
```js
|
34
|
+
import { createArkhamStore } from '@nlabs/arkhamjs-middleware-redux';
|
35
|
+
import { Flux } from '@nlabs/arkhamjs';
|
36
|
+
import { Provider } from 'react-redux';
|
37
|
+
import { reducers } from './reducers';
|
47
38
|
|
48
39
|
// Initialize ArkhamJS
|
49
|
-
Flux.init({name: '
|
40
|
+
Flux.init({ name: 'myApp' });
|
50
41
|
|
51
|
-
// Create Redux store
|
42
|
+
// Create Redux store with ArkhamJS integration
|
52
43
|
const store = createArkhamStore({
|
53
44
|
flux: Flux,
|
54
45
|
reducers,
|
55
|
-
statePath: '
|
46
|
+
statePath: 'app' // Sync Redux state to ArkhamJS at 'app' path
|
56
47
|
});
|
57
48
|
|
58
|
-
//
|
49
|
+
// Use with existing Redux Provider
|
59
50
|
render(
|
60
51
|
<Provider store={store}>
|
61
52
|
<App />
|
@@ -64,99 +55,112 @@ render(
|
|
64
55
|
);
|
65
56
|
```
|
66
57
|
|
67
|
-
|
58
|
+
### **Gradual Migration**
|
68
59
|
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
- **arkhamMiddleware** - *(any[])* (optional) ArkhamJS options. Use only if intending to initialize a new instance.
|
73
|
-
- **devTools** - *(boolean)* (optional) Enable/disable Redux dev tools. Default: false.
|
74
|
-
- **reduxMiddleware** - *(Middleware[])* (optional) Redux middleware. Any additional Redux middleware used in the app.
|
60
|
+
```js
|
61
|
+
import { arkhamMiddleware } from '@nlabs/arkhamjs-middleware-redux';
|
62
|
+
import { applyMiddleware, createStore } from 'redux';
|
75
63
|
|
76
|
-
|
64
|
+
// Add ArkhamJS middleware to existing Redux store
|
65
|
+
const store = createStore(
|
66
|
+
reducers,
|
67
|
+
applyMiddleware(arkhamMiddleware('app'))
|
68
|
+
);
|
77
69
|
|
78
|
-
|
70
|
+
// Now Redux actions are automatically relayed to ArkhamJS
|
71
|
+
// You can gradually migrate components to use ArkhamJS
|
72
|
+
```
|
73
|
+
|
74
|
+
## 🔧 API Reference
|
75
|
+
|
76
|
+
### **`createArkhamStore(options)`**
|
79
77
|
|
80
|
-
|
81
|
-
|
82
|
-
|
78
|
+
Create a Redux store with full ArkhamJS integration.
|
79
|
+
|
80
|
+
```js
|
81
|
+
const store = createArkhamStore({
|
82
|
+
flux: Flux, // ArkhamJS Flux instance
|
83
|
+
reducers, // Redux root reducer
|
84
|
+
statePath: 'app', // State tree path for ArkhamJS
|
85
|
+
arkhamMiddleware: [], // Additional ArkhamJS middleware
|
86
|
+
devTools: false, // Enable Redux DevTools
|
87
|
+
reduxMiddleware: [] // Additional Redux middleware
|
88
|
+
});
|
83
89
|
```
|
84
90
|
|
85
|
-
|
91
|
+
**Options:**
|
92
|
+
|
93
|
+
- **`flux`** - *(Flux)* The Flux object initialized in your app
|
94
|
+
- **`reducers`** - *(Reducer)* Redux root reducer (from `combineReducers()`)
|
95
|
+
- **`statePath`** - *(string|string[])* State tree path where to set this branch
|
96
|
+
- **`arkhamMiddleware`** - *(any[])* Optional ArkhamJS middleware
|
97
|
+
- **`devTools`** - *(boolean)* Enable/disable Redux DevTools (default: false)
|
98
|
+
- **`reduxMiddleware`** - *(Middleware[])* Additional Redux middleware
|
99
|
+
|
100
|
+
### **`ReduxMiddleware(store, name)`**
|
101
|
+
|
102
|
+
ArkhamJS middleware to relay dispatched actions to Redux.
|
86
103
|
|
87
|
-
```
|
88
|
-
import {ReduxMiddleware} from '@nlabs/arkhamjs-middleware-redux';
|
89
|
-
import {createStore} from 'redux';
|
90
|
-
import {reducers} from './reducers';
|
104
|
+
```js
|
105
|
+
import { ReduxMiddleware } from '@nlabs/arkhamjs-middleware-redux';
|
91
106
|
|
92
107
|
const store = createStore(reducers);
|
93
108
|
const middleware = [new ReduxMiddleware(store, 'myApp')];
|
94
109
|
|
95
|
-
Flux.init({middleware});
|
110
|
+
Flux.init({ middleware });
|
96
111
|
```
|
97
112
|
|
98
|
-
|
99
|
-
- **name** - *(string)* (optional) Middleware name. Should be unique if integrating with multiple Redux stores.
|
100
|
-
|
101
|
-
### `arkhamMiddleware`
|
113
|
+
**Parameters:**
|
102
114
|
|
103
|
-
|
115
|
+
- **`store`** - *(Store)* Redux root store
|
116
|
+
- **`name`** - *(string)* Optional middleware name (should be unique)
|
104
117
|
|
105
|
-
|
106
|
-
// Create Redux middleware
|
107
|
-
const middleware = arkhamMiddleware(statePath);
|
108
|
-
```
|
118
|
+
### **`arkhamMiddleware(statePath)`**
|
109
119
|
|
110
|
-
|
120
|
+
Redux middleware to relay Redux action dispatches to ArkhamJS.
|
111
121
|
|
112
|
-
```
|
113
|
-
import {arkhamMiddleware} from '@nlabs/arkhamjs-middleware-redux';
|
114
|
-
import {applyMiddleware, createStore} from 'redux';
|
115
|
-
import {reducers} from './reducers';
|
122
|
+
```js
|
123
|
+
import { arkhamMiddleware } from '@nlabs/arkhamjs-middleware-redux';
|
124
|
+
import { applyMiddleware, createStore } from 'redux';
|
116
125
|
|
117
|
-
const store = createStore(
|
126
|
+
const store = createStore(
|
127
|
+
reducers,
|
128
|
+
applyMiddleware(arkhamMiddleware('myApp'))
|
129
|
+
);
|
118
130
|
```
|
119
131
|
|
120
|
-
|
121
|
-
|
122
|
-
## Additional Documentation
|
132
|
+
**Parameters:**
|
123
133
|
|
124
|
-
|
134
|
+
- **`statePath`** - *(string|string[])* State tree path for ArkhamJS
|
125
135
|
|
126
|
-
##
|
136
|
+
## 🎨 Integration Patterns
|
127
137
|
|
128
|
-
|
138
|
+
### **Pattern 1: Full Integration**
|
129
139
|
|
130
|
-
|
131
|
-
import {Logger, LoggerDebugLevel} from '@nlabs/arkhamjs-middleware-logger';
|
132
|
-
import {createArkhamStore} from '@nlabs/arkhamjs-middleware-redux';
|
133
|
-
import {BrowserStorage} from '@nlabs/arkhamjs-storage-browser';
|
134
|
-
import {Flux} from '@nlabs/arkhamjs';
|
135
|
-
import * as React from 'react';
|
136
|
-
import {render} from 'react-dom';
|
137
|
-
import {Provider} from 'react-redux';
|
138
|
-
import App from './components/App';
|
139
|
-
import rootReducer from './reducers';
|
140
|
+
Replace your Redux store entirely with ArkhamJS integration:
|
140
141
|
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
}
|
142
|
+
```js
|
143
|
+
import { createArkhamStore } from '@nlabs/arkhamjs-middleware-redux';
|
144
|
+
import { Flux } from '@nlabs/arkhamjs';
|
145
|
+
import { Logger } from '@nlabs/arkhamjs-middleware-logger';
|
146
|
+
import { BrowserStorage } from '@nlabs/arkhamjs-storage-browser';
|
145
147
|
|
146
|
-
// Initialize ArkhamJS
|
147
|
-
|
148
|
-
name: '
|
149
|
-
storage:
|
150
|
-
middleware: [
|
148
|
+
// Initialize ArkhamJS with full features
|
149
|
+
Flux.init({
|
150
|
+
name: 'myApp',
|
151
|
+
storage: BrowserStorage,
|
152
|
+
middleware: [Logger()]
|
151
153
|
});
|
152
154
|
|
153
|
-
// Create
|
155
|
+
// Create integrated store
|
154
156
|
const store = createArkhamStore({
|
155
157
|
flux: Flux,
|
156
158
|
reducers: rootReducer,
|
157
|
-
statePath: '
|
159
|
+
statePath: 'app',
|
160
|
+
devTools: true
|
158
161
|
});
|
159
162
|
|
163
|
+
// Use with existing Redux components
|
160
164
|
render(
|
161
165
|
<Provider store={store}>
|
162
166
|
<App />
|
@@ -164,3 +168,228 @@ render(
|
|
164
168
|
document.getElementById('root')
|
165
169
|
);
|
166
170
|
```
|
171
|
+
|
172
|
+
### **Pattern 2: Gradual Migration**
|
173
|
+
|
174
|
+
Keep existing Redux setup and add ArkhamJS features:
|
175
|
+
|
176
|
+
```js
|
177
|
+
import { arkhamMiddleware } from '@nlabs/arkhamjs-middleware-redux';
|
178
|
+
import { applyMiddleware, createStore } from 'redux';
|
179
|
+
|
180
|
+
// Existing Redux setup
|
181
|
+
const store = createStore(
|
182
|
+
reducers,
|
183
|
+
applyMiddleware(
|
184
|
+
// Existing middleware
|
185
|
+
thunk,
|
186
|
+
logger,
|
187
|
+
// Add ArkhamJS integration
|
188
|
+
arkhamMiddleware('app')
|
189
|
+
)
|
190
|
+
);
|
191
|
+
|
192
|
+
// Now you can use both Redux and ArkhamJS
|
193
|
+
// Redux actions are automatically relayed to ArkhamJS
|
194
|
+
// You can gradually migrate components to use ArkhamJS hooks
|
195
|
+
```
|
196
|
+
|
197
|
+
### **Pattern 3: Selective Integration**
|
198
|
+
|
199
|
+
Integrate only specific parts of your Redux store:
|
200
|
+
|
201
|
+
```js
|
202
|
+
import { createArkhamStore } from '@nlabs/arkhamjs-middleware-redux';
|
203
|
+
|
204
|
+
// Create separate stores for different parts
|
205
|
+
const userStore = createArkhamStore({
|
206
|
+
flux: Flux,
|
207
|
+
reducers: userReducer,
|
208
|
+
statePath: 'user'
|
209
|
+
});
|
210
|
+
|
211
|
+
const cartStore = createArkhamStore({
|
212
|
+
flux: Flux,
|
213
|
+
reducers: cartReducer,
|
214
|
+
statePath: 'cart'
|
215
|
+
});
|
216
|
+
|
217
|
+
// Keep other parts as pure Redux
|
218
|
+
const mainStore = createStore(otherReducers);
|
219
|
+
```
|
220
|
+
|
221
|
+
## 🔄 Migration Strategies
|
222
|
+
|
223
|
+
### **Strategy 1: Side-by-Side Migration**
|
224
|
+
|
225
|
+
```js
|
226
|
+
// Keep existing Redux components
|
227
|
+
function OldReduxComponent() {
|
228
|
+
const users = useSelector(state => state.users);
|
229
|
+
const dispatch = useDispatch();
|
230
|
+
|
231
|
+
return (
|
232
|
+
<div>
|
233
|
+
{users.map(user => (
|
234
|
+
<div key={user.id}>{user.name}</div>
|
235
|
+
))}
|
236
|
+
</div>
|
237
|
+
);
|
238
|
+
}
|
239
|
+
|
240
|
+
// Create new ArkhamJS components
|
241
|
+
function NewArkhamComponent() {
|
242
|
+
const users = useFluxState('user.list', []);
|
243
|
+
const dispatch = useFluxDispatch();
|
244
|
+
|
245
|
+
return (
|
246
|
+
<div>
|
247
|
+
{users.map(user => (
|
248
|
+
<div key={user.id}>{user.name}</div>
|
249
|
+
))}
|
250
|
+
</div>
|
251
|
+
);
|
252
|
+
}
|
253
|
+
|
254
|
+
// Both work together seamlessly
|
255
|
+
function App() {
|
256
|
+
return (
|
257
|
+
<div>
|
258
|
+
<OldReduxComponent />
|
259
|
+
<NewArkhamComponent />
|
260
|
+
</div>
|
261
|
+
);
|
262
|
+
}
|
263
|
+
```
|
264
|
+
|
265
|
+
### **Strategy 2: Feature-by-Feature Migration**
|
266
|
+
|
267
|
+
```js
|
268
|
+
// Start with one feature
|
269
|
+
const userStore = createArkhamStore({
|
270
|
+
flux: Flux,
|
271
|
+
reducers: userReducer,
|
272
|
+
statePath: 'user'
|
273
|
+
});
|
274
|
+
|
275
|
+
// Migrate user-related components to ArkhamJS
|
276
|
+
function UserProfile() {
|
277
|
+
const user = useFluxState('user.current', null);
|
278
|
+
return <div>Welcome, {user?.name}!</div>;
|
279
|
+
}
|
280
|
+
|
281
|
+
// Keep other features in Redux
|
282
|
+
const mainStore = createStore(otherReducers);
|
283
|
+
```
|
284
|
+
|
285
|
+
### **Strategy 3: Complete Migration**
|
286
|
+
|
287
|
+
```js
|
288
|
+
// Migrate everything at once
|
289
|
+
const store = createArkhamStore({
|
290
|
+
flux: Flux,
|
291
|
+
reducers: rootReducer,
|
292
|
+
statePath: 'app',
|
293
|
+
devTools: true
|
294
|
+
});
|
295
|
+
|
296
|
+
// All components can now use ArkhamJS features
|
297
|
+
function App() {
|
298
|
+
return (
|
299
|
+
<Provider store={store}>
|
300
|
+
<AllComponents />
|
301
|
+
</Provider>
|
302
|
+
);
|
303
|
+
}
|
304
|
+
```
|
305
|
+
|
306
|
+
## 🎯 Use Cases
|
307
|
+
|
308
|
+
### **Adding ArkhamJS Features to Redux**
|
309
|
+
|
310
|
+
```js
|
311
|
+
import { arkhamMiddleware } from '@nlabs/arkhamjs-middleware-redux';
|
312
|
+
import { Logger } from '@nlabs/arkhamjs-middleware-logger';
|
313
|
+
import { BrowserStorage } from '@nlabs/arkhamjs-storage-browser';
|
314
|
+
|
315
|
+
// Initialize ArkhamJS with features
|
316
|
+
Flux.init({
|
317
|
+
name: 'myApp',
|
318
|
+
storage: BrowserStorage,
|
319
|
+
middleware: [Logger()]
|
320
|
+
});
|
321
|
+
|
322
|
+
// Add to existing Redux store
|
323
|
+
const store = createStore(
|
324
|
+
reducers,
|
325
|
+
applyMiddleware(arkhamMiddleware('app'))
|
326
|
+
);
|
327
|
+
|
328
|
+
// Now you have:
|
329
|
+
// ✅ Redux DevTools
|
330
|
+
// ✅ ArkhamJS logging
|
331
|
+
// ✅ State persistence
|
332
|
+
// ✅ Event-driven architecture
|
333
|
+
// ✅ All existing Redux functionality
|
334
|
+
```
|
335
|
+
|
336
|
+
### **Gradual Component Migration**
|
337
|
+
|
338
|
+
```js
|
339
|
+
// Phase 1: Add ArkhamJS integration
|
340
|
+
const store = createStore(reducers, applyMiddleware(arkhamMiddleware('app')));
|
341
|
+
|
342
|
+
// Phase 2: Migrate one component at a time
|
343
|
+
function UserList() {
|
344
|
+
// Old Redux way
|
345
|
+
const users = useSelector(state => state.users);
|
346
|
+
|
347
|
+
// New ArkhamJS way
|
348
|
+
const users = useFluxState('app.users', []);
|
349
|
+
|
350
|
+
return <div>{/* component content */}</div>;
|
351
|
+
}
|
352
|
+
|
353
|
+
// Phase 3: Remove Redux dependencies
|
354
|
+
// Eventually remove useSelector and useDispatch
|
355
|
+
```
|
356
|
+
|
357
|
+
### **Hybrid Architecture**
|
358
|
+
|
359
|
+
```js
|
360
|
+
// Use Redux for complex state logic
|
361
|
+
const complexReducer = (state, action) => {
|
362
|
+
// Complex Redux logic
|
363
|
+
return newState;
|
364
|
+
};
|
365
|
+
|
366
|
+
// Use ArkhamJS for simple state and events
|
367
|
+
Flux.dispatch({ type: 'USER_CLICKED', userId: 123 });
|
368
|
+
|
369
|
+
// Both work together seamlessly
|
370
|
+
const store = createArkhamStore({
|
371
|
+
flux: Flux,
|
372
|
+
reducers: { complex: complexReducer },
|
373
|
+
statePath: 'complex'
|
374
|
+
});
|
375
|
+
```
|
376
|
+
|
377
|
+
## 🔗 Related Packages
|
378
|
+
|
379
|
+
- **[@nlabs/arkhamjs](./arkhamjs/README.md)** - Core Flux framework
|
380
|
+
- **[@nlabs/arkhamjs-middleware-logger](./arkhamjs-middleware-logger/README.md)** - Logging middleware
|
381
|
+
- **[@nlabs/arkhamjs-storage-browser](./arkhamjs-storage-browser/README.md)** - Browser storage
|
382
|
+
|
383
|
+
## 📚 Documentation
|
384
|
+
|
385
|
+
For detailed documentation and examples, visit [arkhamjs.io](https://arkhamjs.io).
|
386
|
+
|
387
|
+
## 🤝 Community & Support
|
388
|
+
|
389
|
+
- **💬 [Discord Community](https://discord.gg/Ttgev58)** - Chat with other developers
|
390
|
+
- **🐛 [GitHub Issues](https://github.com/nitrogenlabs/arkhamjs/issues)** - Report bugs and request features
|
391
|
+
- **📖 [Documentation](https://arkhamjs.io)** - Complete API reference
|
392
|
+
|
393
|
+
## 📄 License
|
394
|
+
|
395
|
+
MIT License - see [LICENSE](../LICENSE) file for details.
|
@@ -0,0 +1,2 @@
|
|
1
|
+
var S=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var T=(t,e)=>{for(var r in e)S(t,r,{get:e[r],enumerable:!0})},A=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of M(e))!k.call(t,a)&&a!==r&&S(t,a,{get:()=>e[a],enumerable:!(s=y(e,a))||s.enumerable});return t};var R=t=>A(S({},"__esModule",{value:!0}),t);var O={};T(O,{createArkhamStore:()=>v});module.exports=R(O);var n=require("@nlabs/arkhamjs"),c=require("@nlabs/utils/checks/isPlainObject"),h=require("@nlabs/utils/objects/merge"),o=require("redux"),p=require("./middleware/arkhamMiddleware"),w=require("./middleware/ReduxMiddleware");const v=t=>{const{arkhamMiddleware:e=[],flux:r,reducers:s,sagas:a,statePath:d="",reduxMiddleware:l=[],devTools:u}=t,{storage:g}=n.Flux.getOptions();let i;if(g){const m=n.Flux.getState(d);if(u?i=(0,o.createStore)(u(s,m),(0,o.applyMiddleware)(...l,(0,p.arkhamMiddleware)(d,r))):i=(0,o.createStore)(s,m,(0,o.applyMiddleware)(...l,(0,p.arkhamMiddleware)(d,r))),m===void 0){const f=i.getState(),x=(0,c.isPlainObject)(f)?(0,h.merge)(f,m):f;n.Flux.setState(d,x)}}else i=(0,o.createStore)(s,u,(0,o.applyMiddleware)(...l,(0,p.arkhamMiddleware)(d,r))),n.Flux.setState(d,i.getState());return l.every(m=>a?(m.run(a),!1):!0),e.push(new w.ReduxMiddleware(i,d)),n.Flux.addMiddleware(e),i};0&&(module.exports={createArkhamStore});
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2NyZWF0ZUFya2hhbVN0b3JlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOC1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtGbHV4fSBmcm9tICdAbmxhYnMvYXJraGFtanMnO1xuaW1wb3J0IHtpc1BsYWluT2JqZWN0fSBmcm9tICdAbmxhYnMvdXRpbHMvY2hlY2tzL2lzUGxhaW5PYmplY3QnO1xuaW1wb3J0IHttZXJnZX0gZnJvbSAnQG5sYWJzL3V0aWxzL29iamVjdHMvbWVyZ2UnO1xuaW1wb3J0IHthcHBseU1pZGRsZXdhcmUsIGNyZWF0ZVN0b3JlLCBTdG9yZX0gZnJvbSAncmVkdXgnO1xuXG5pbXBvcnQge2Fya2hhbU1pZGRsZXdhcmV9IGZyb20gJy4vbWlkZGxld2FyZS9hcmtoYW1NaWRkbGV3YXJlJztcbmltcG9ydCB7UmVkdXhNaWRkbGV3YXJlfSBmcm9tICcuL21pZGRsZXdhcmUvUmVkdXhNaWRkbGV3YXJlJztcbmltcG9ydCB7QXJraGFtUmVkdXhTdG9yZVR5cGV9IGZyb20gJy4vdHlwZXMvbWFpbic7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVBcmtoYW1TdG9yZSA9IChjb25maWd1cmF0aW9uOiBBcmtoYW1SZWR1eFN0b3JlVHlwZSk6IFN0b3JlPGFueT4gPT4ge1xuICBjb25zdCB7XG4gICAgYXJraGFtTWlkZGxld2FyZTogbWlkZGxld2FyZSA9IFtdLFxuICAgIGZsdXgsXG4gICAgcmVkdWNlcnMsXG4gICAgc2FnYXMsXG4gICAgc3RhdGVQYXRoID0gJycsXG4gICAgcmVkdXhNaWRkbGV3YXJlID0gW10sXG4gICAgZGV2VG9vbHNcbiAgfSA9IGNvbmZpZ3VyYXRpb247XG5cbiAgLy8gU2F2ZSBpbml0aWFsIHN0YXRlIHRyZWVcbiAgY29uc3Qge3N0b3JhZ2V9ID0gRmx1eC5nZXRPcHRpb25zKCk7XG4gIGxldCBzdG9yZTogU3RvcmU7XG5cbiAgaWYoc3RvcmFnZSkge1xuICAgIGNvbnN0IGNhY2hlZFN0YXRlID0gRmx1eC5nZXRTdGF0ZShzdGF0ZVBhdGgpO1xuXG4gICAgaWYoZGV2VG9vbHMpIHtcbiAgICAgIHN0b3JlID0gY3JlYXRlU3RvcmUoXG4gICAgICAgIGRldlRvb2xzKHJlZHVjZXJzLCBjYWNoZWRTdGF0ZSksXG4gICAgICAgIGFwcGx5TWlkZGxld2FyZSguLi5yZWR1eE1pZGRsZXdhcmUsIGFya2hhbU1pZGRsZXdhcmUoc3RhdGVQYXRoLCBmbHV4KSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdG9yZSA9IGNyZWF0ZVN0b3JlKFxuICAgICAgICByZWR1Y2VycyxcbiAgICAgICAgY2FjaGVkU3RhdGUsXG4gICAgICAgIGFwcGx5TWlkZGxld2FyZSguLi5yZWR1eE1pZGRsZXdhcmUsIGFya2hhbU1pZGRsZXdhcmUoc3RhdGVQYXRoLCBmbHV4KSkpO1xuICAgIH1cblxuICAgIGlmKGNhY2hlZFN0YXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IHN0YXRlVHJlZSA9IHN0b3JlLmdldFN0YXRlKCk7XG4gICAgICBjb25zdCB1cGRhdGVkU3RhdGUgPSBpc1BsYWluT2JqZWN0KHN0YXRlVHJlZSkgPyBtZXJnZShzdGF0ZVRyZWUsIGNhY2hlZFN0YXRlKSA6IHN0YXRlVHJlZTtcbiAgICAgIEZsdXguc2V0U3RhdGUoc3RhdGVQYXRoLCB1cGRhdGVkU3RhdGUpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBzdG9yZSA9IGNyZWF0ZVN0b3JlKFxuICAgICAgcmVkdWNlcnMsXG4gICAgICBkZXZUb29scyxcbiAgICAgIGFwcGx5TWlkZGxld2FyZSguLi5yZWR1eE1pZGRsZXdhcmUsIGFya2hhbU1pZGRsZXdhcmUoc3RhdGVQYXRoLCBmbHV4KSlcbiAgICApO1xuXG4gICAgRmx1eC5zZXRTdGF0ZShzdGF0ZVBhdGgsIHN0b3JlLmdldFN0YXRlKCkpO1xuICB9XG5cbiAgLy8gSWYgc2FnYSBpcyBiZWluZyBhZGRlZCwgcnVuLlxuICByZWR1eE1pZGRsZXdhcmUuZXZlcnkoKGl0ZW06IGFueSkgPT4ge1xuICAgIGlmKHNhZ2FzKSB7XG4gICAgICBpdGVtLnJ1bihzYWdhcyk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH0pO1xuXG4gIC8vIEFkZCByZWR1eCBtaWRkbGV3YXJlIHRvIEFya2hhbSB0byByZWxheSBkaXNwYXRjaGVzIHRvIFJlZHV4XG4gIG1pZGRsZXdhcmUucHVzaChuZXcgUmVkdXhNaWRkbGV3YXJlKHN0b3JlLCBzdGF0ZVBhdGgpKTtcblxuICAvLyBJbml0aWFsaXplIEFya2hhbUpTXG4gIEZsdXguYWRkTWlkZGxld2FyZShtaWRkbGV3YXJlKTtcblxuICByZXR1cm4gc3RvcmU7XG59O1xuIl0sCiAgIm1hcHBpbmdzIjogIjRaQUFBLElBQUFBLEVBQUEsR0FBQUMsRUFBQUQsRUFBQSx1QkFBQUUsSUFBQSxlQUFBQyxFQUFBSCxHQUlBLElBQUFJLEVBQW1CLDJCQUNuQkMsRUFBNEIsNkNBQzVCQyxFQUFvQixzQ0FDcEJDLEVBQWtELGlCQUVsREMsRUFBK0IseUNBQy9CQyxFQUE4Qix3Q0FHdkIsTUFBTVAsRUFBcUJRLEdBQW9ELENBQ3BGLEtBQU0sQ0FDSixpQkFBa0JDLEVBQWEsQ0FBQyxFQUNoQyxLQUFBQyxFQUNBLFNBQUFDLEVBQ0EsTUFBQUMsRUFDQSxVQUFBQyxFQUFZLEdBQ1osZ0JBQUFDLEVBQWtCLENBQUMsRUFDbkIsU0FBQUMsQ0FDRixFQUFJUCxFQUdFLENBQUMsUUFBQVEsQ0FBTyxFQUFJLE9BQUssV0FBVyxFQUNsQyxJQUFJQyxFQUVKLEdBQUdELEVBQVMsQ0FDVixNQUFNRSxFQUFjLE9BQUssU0FBU0wsQ0FBUyxFQWEzQyxHQVhHRSxFQUNERSxLQUFRLGVBQ05GLEVBQVNKLEVBQVVPLENBQVcsS0FDOUIsbUJBQWdCLEdBQUdKLEtBQWlCLG9CQUFpQkQsRUFBV0gsQ0FBSSxDQUFDLENBQUMsRUFFeEVPLEtBQVEsZUFDTk4sRUFDQU8sS0FDQSxtQkFBZ0IsR0FBR0osS0FBaUIsb0JBQWlCRCxFQUFXSCxDQUFJLENBQUMsQ0FBQyxFQUd2RVEsSUFBZ0IsT0FBVyxDQUM1QixNQUFNQyxFQUFZRixFQUFNLFNBQVMsRUFDM0JHLEtBQWUsaUJBQWNELENBQVMsS0FBSSxTQUFNQSxFQUFXRCxDQUFXLEVBQUlDLEVBQ2hGLE9BQUssU0FBU04sRUFBV08sQ0FBWSxDQUN2QyxDQUNGLE1BQ0VILEtBQVEsZUFDTk4sRUFDQUksS0FDQSxtQkFBZ0IsR0FBR0QsS0FBaUIsb0JBQWlCRCxFQUFXSCxDQUFJLENBQUMsQ0FDdkUsRUFFQSxPQUFLLFNBQVNHLEVBQVdJLEVBQU0sU0FBUyxDQUFDLEVBSTNDLE9BQUFILEVBQWdCLE1BQU9PLEdBQ2xCVCxHQUNEUyxFQUFLLElBQUlULENBQUssRUFDUCxJQUdGLEVBQ1IsRUFHREgsRUFBVyxLQUFLLElBQUksa0JBQWdCUSxFQUFPSixDQUFTLENBQUMsRUFHckQsT0FBSyxjQUFjSixDQUFVLEVBRXRCUSxDQUNUIiwKICAibmFtZXMiOiBbImNyZWF0ZUFya2hhbVN0b3JlX2V4cG9ydHMiLCAiX19leHBvcnQiLCAiY3JlYXRlQXJraGFtU3RvcmUiLCAiX190b0NvbW1vbkpTIiwgImltcG9ydF9hcmtoYW1qcyIsICJpbXBvcnRfaXNQbGFpbk9iamVjdCIsICJpbXBvcnRfbWVyZ2UiLCAiaW1wb3J0X3JlZHV4IiwgImltcG9ydF9hcmtoYW1NaWRkbGV3YXJlIiwgImltcG9ydF9SZWR1eE1pZGRsZXdhcmUiLCAiY29uZmlndXJhdGlvbiIsICJtaWRkbGV3YXJlIiwgImZsdXgiLCAicmVkdWNlcnMiLCAic2FnYXMiLCAic3RhdGVQYXRoIiwgInJlZHV4TWlkZGxld2FyZSIsICJkZXZUb29scyIsICJzdG9yYWdlIiwgInN0b3JlIiwgImNhY2hlZFN0YXRlIiwgInN0YXRlVHJlZSIsICJ1cGRhdGVkU3RhdGUiLCAiaXRlbSJdCn0K
|
package/lib/index.d.ts
ADDED
@@ -0,0 +1,5 @@
|
|
1
|
+
import { createArkhamStore } from './createArkhamStore';
|
2
|
+
import { arkhamMiddleware } from './middleware/arkhamMiddleware';
|
3
|
+
import { ReduxMiddleware } from './middleware/ReduxMiddleware';
|
4
|
+
export * from './types/main';
|
5
|
+
export { ReduxMiddleware, arkhamMiddleware, createArkhamStore };
|
package/lib/index.js
ADDED
@@ -0,0 +1,2 @@
|
|
1
|
+
var i=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var w=Object.prototype.hasOwnProperty;var M=(e,r)=>{for(var o in r)i(e,o,{get:r[o],enumerable:!0})},d=(e,r,o,p)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of l(r))!w.call(e,a)&&a!==o&&i(e,a,{get:()=>r[a],enumerable:!(p=k(r,a))||p.enumerable});return e},t=(e,r,o)=>(d(e,r,"default"),o&&d(o,r,"default"));var c=e=>d(i({},"__esModule",{value:!0}),e);var m={};M(m,{ReduxMiddleware:()=>h.ReduxMiddleware,arkhamMiddleware:()=>x.arkhamMiddleware,createArkhamStore:()=>f.createArkhamStore});module.exports=c(m);var f=require("./createArkhamStore"),x=require("./middleware/arkhamMiddleware"),h=require("./middleware/ReduxMiddleware");t(m,require("./types/main"),module.exports);0&&(module.exports={ReduxMiddleware,arkhamMiddleware,createArkhamStore,...require("./types/main")});
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOC1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtjcmVhdGVBcmtoYW1TdG9yZX0gZnJvbSAnLi9jcmVhdGVBcmtoYW1TdG9yZSc7XG5pbXBvcnQge2Fya2hhbU1pZGRsZXdhcmV9IGZyb20gJy4vbWlkZGxld2FyZS9hcmtoYW1NaWRkbGV3YXJlJztcbmltcG9ydCB7UmVkdXhNaWRkbGV3YXJlfSBmcm9tICcuL21pZGRsZXdhcmUvUmVkdXhNaWRkbGV3YXJlJztcblxuZXhwb3J0ICogZnJvbSAnLi90eXBlcy9tYWluJztcbmV4cG9ydCB7UmVkdXhNaWRkbGV3YXJlLCBhcmtoYW1NaWRkbGV3YXJlLCBjcmVhdGVBcmtoYW1TdG9yZX07XG4iXSwKICAibWFwcGluZ3MiOiAiOGNBQUEsSUFBQUEsRUFBQSxHQUFBQyxFQUFBRCxFQUFBLDBJQUFBRSxFQUFBRixHQUlBLElBQUFHLEVBQWdDLCtCQUNoQ0MsRUFBK0IseUNBQy9CQyxFQUE4Qix3Q0FFOUJDLEVBQUFOLEVBQWMsd0JBUmQiLAogICJuYW1lcyI6IFsiaW5kZXhfZXhwb3J0cyIsICJfX2V4cG9ydCIsICJfX3RvQ29tbW9uSlMiLCAiaW1wb3J0X2NyZWF0ZUFya2hhbVN0b3JlIiwgImltcG9ydF9hcmtoYW1NaWRkbGV3YXJlIiwgImltcG9ydF9SZWR1eE1pZGRsZXdhcmUiLCAiX19yZUV4cG9ydCJdCn0K
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { FluxAction } from '@nlabs/arkhamjs';
|
2
|
+
import { Store } from 'redux';
|
3
|
+
export declare class ReduxMiddleware {
|
4
|
+
name: string;
|
5
|
+
reduxStore: Store<any>;
|
6
|
+
constructor(reduxStore: Store<any>, name: string);
|
7
|
+
postDispatch(action: any): Promise<FluxAction>;
|
8
|
+
}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
var i=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var p=(e,r)=>{for(var t in r)i(e,t,{get:r[t],enumerable:!0})},S=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of h(r))!u.call(e,s)&&s!==t&&i(e,s,{get:()=>r[s],enumerable:!(o=d(r,s))||o.enumerable});return e};var a=e=>S(i({},"__esModule",{value:!0}),e);var A={};p(A,{ReduxMiddleware:()=>x});module.exports=a(A);class x{constructor(r,t){this.name=t?`reduxMiddleware-${t}`:"reduxMiddleware",this.reduxStore=r,this.postDispatch=this.postDispatch.bind(this)}postDispatch(r){const{__ARKHAMJS_DISPATCH:t}=r;return t||(r.__ARKHAMJS_DISPATCH=!0,this.reduxStore.dispatch(r)),Promise.resolve(r)}}0&&(module.exports={ReduxMiddleware});
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL21pZGRsZXdhcmUvUmVkdXhNaWRkbGV3YXJlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOC1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtGbHV4QWN0aW9ufSBmcm9tICdAbmxhYnMvYXJraGFtanMnO1xuaW1wb3J0IHtTdG9yZX0gZnJvbSAncmVkdXgnO1xuXG5leHBvcnQgY2xhc3MgUmVkdXhNaWRkbGV3YXJlIHtcbiAgbmFtZTogc3RyaW5nO1xuICByZWR1eFN0b3JlOiBTdG9yZTxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHJlZHV4U3RvcmU6IFN0b3JlPGFueT4sIG5hbWU6IHN0cmluZykge1xuICAgIHRoaXMubmFtZSA9IG5hbWUgPyBgcmVkdXhNaWRkbGV3YXJlLSR7bmFtZX1gIDogJ3JlZHV4TWlkZGxld2FyZSc7XG4gICAgdGhpcy5yZWR1eFN0b3JlID0gcmVkdXhTdG9yZTtcblxuICAgIC8vIE1ldGhvZHNcbiAgICB0aGlzLnBvc3REaXNwYXRjaCA9IHRoaXMucG9zdERpc3BhdGNoLmJpbmQodGhpcyk7XG4gIH1cblxuICBwb3N0RGlzcGF0Y2goYWN0aW9uKTogUHJvbWlzZTxGbHV4QWN0aW9uPiB7XG4gICAgLy8gLi4uIEFsdGVyIGFjdGlvbiBpZiBuZWVkZWRcbiAgICBjb25zdCB7X19BUktIQU1KU19ESVNQQVRDSDogaXNBcmtoYW1Kc30gPSBhY3Rpb247XG5cbiAgICBpZighaXNBcmtoYW1Kcykge1xuICAgICAgYWN0aW9uLl9fQVJLSEFNSlNfRElTUEFUQ0ggPSB0cnVlO1xuICAgICAgdGhpcy5yZWR1eFN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShhY3Rpb24pO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiNFpBQUEsSUFBQUEsRUFBQSxHQUFBQyxFQUFBRCxFQUFBLHFCQUFBRSxJQUFBLGVBQUFDLEVBQUFILEdBT08sTUFBTUUsQ0FBZ0IsQ0FJM0IsWUFBWUUsRUFBd0JDLEVBQWMsQ0FDaEQsS0FBSyxLQUFPQSxFQUFPLG1CQUFtQkEsQ0FBSSxHQUFLLGtCQUMvQyxLQUFLLFdBQWFELEVBR2xCLEtBQUssYUFBZSxLQUFLLGFBQWEsS0FBSyxJQUFJLENBQ2pELENBRUEsYUFBYUUsRUFBNkIsQ0FFeEMsS0FBTSxDQUFDLG9CQUFxQkMsQ0FBVSxFQUFJRCxFQUUxQyxPQUFJQyxJQUNGRCxFQUFPLG9CQUFzQixHQUM3QixLQUFLLFdBQVcsU0FBU0EsQ0FBTSxHQUcxQixRQUFRLFFBQVFBLENBQU0sQ0FDL0IsQ0FDRiIsCiAgIm5hbWVzIjogWyJSZWR1eE1pZGRsZXdhcmVfZXhwb3J0cyIsICJfX2V4cG9ydCIsICJSZWR1eE1pZGRsZXdhcmUiLCAiX190b0NvbW1vbkpTIiwgInJlZHV4U3RvcmUiLCAibmFtZSIsICJhY3Rpb24iLCAiaXNBcmtoYW1KcyJdCn0K
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const arkhamMiddleware: (statePath: string, Flux: any) => (store: any) => (next: any) => (action: any) => any;
|
@@ -0,0 +1,2 @@
|
|
1
|
+
var S=Object.defineProperty;var H=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var J=Object.prototype.hasOwnProperty;var M=(A,e)=>{for(var _ in e)S(A,_,{get:e[_],enumerable:!0})},a=(A,e,_,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of d(e))!J.call(A,t)&&t!==_&&S(A,t,{get:()=>e[t],enumerable:!(r=H(e,t))||r.enumerable});return A};var h=A=>a(S({},"__esModule",{value:!0}),A);var C={};M(C,{arkhamMiddleware:()=>l});module.exports=h(C);const l=(A,e)=>_=>r=>t=>{const{__ARKHAMJS_DISPATCH:s}=t;return delete t.__ARKHAMJS_DISPATCH,r(t),e.setState(A,_.getState()),s||(t.__ARKHAMJS_DISPATCH=!0,e.dispatch(t)),null};0&&(module.exports={arkhamMiddleware});
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL21pZGRsZXdhcmUvYXJraGFtTWlkZGxld2FyZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmV4cG9ydCBjb25zdCBhcmtoYW1NaWRkbGV3YXJlID0gKHN0YXRlUGF0aDogc3RyaW5nLCBGbHV4KSA9PiAoc3RvcmUpID0+IChuZXh0KSA9PiAoYWN0aW9uKSA9PiB7XG4gIGNvbnN0IHtfX0FSS0hBTUpTX0RJU1BBVENIOiBpc0Fya2hhbUpzfSA9IGFjdGlvbjtcbiAgZGVsZXRlIGFjdGlvbi5fX0FSS0hBTUpTX0RJU1BBVENIO1xuXG4gIC8vIFJ1biB0aGUgYWN0aW9uIHRocm91Z2ggdGhlIHJlZHV4IHJlZHVjZXJzXG4gIG5leHQoYWN0aW9uKTtcblxuICAvLyBTYXZlIHRoZSBuZXcsIGFsdGVyZWQgc3RhdGUgd2l0aGluIEFya2hhbUpTXG4gIEZsdXguc2V0U3RhdGUoc3RhdGVQYXRoLCBzdG9yZS5nZXRTdGF0ZSgpKTtcblxuICAvLyBNYWtlIHN1cmUgd2UgZW1pdCB0aGUgZXZlbnQgdGhyb3VnaCBBcmtoYW1KUyBmb3IgYW55IGxpc3RlbmVycy5cbiAgaWYoIWlzQXJraGFtSnMpIHtcbiAgICBhY3Rpb24uX19BUktIQU1KU19ESVNQQVRDSCA9IHRydWU7XG4gICAgRmx1eC5kaXNwYXRjaChhY3Rpb24pO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59O1xuIl0sCiAgIm1hcHBpbmdzIjogIjRaQUFBLElBQUFBLEVBQUEsR0FBQUMsRUFBQUQsRUFBQSxzQkFBQUUsSUFBQSxlQUFBQyxFQUFBSCxHQUlPLE1BQU1FLEVBQW1CLENBQUNFLEVBQW1CQyxJQUFVQyxHQUFXQyxHQUFVQyxHQUFXLENBQzVGLEtBQU0sQ0FBQyxvQkFBcUJDLENBQVUsRUFBSUQsRUFDMUMsY0FBT0EsRUFBTyxvQkFHZEQsRUFBS0MsQ0FBTSxFQUdYSCxFQUFLLFNBQVNELEVBQVdFLEVBQU0sU0FBUyxDQUFDLEVBR3JDRyxJQUNGRCxFQUFPLG9CQUFzQixHQUM3QkgsRUFBSyxTQUFTRyxDQUFNLEdBR2YsSUFDVCIsCiAgIm5hbWVzIjogWyJhcmtoYW1NaWRkbGV3YXJlX2V4cG9ydHMiLCAiX19leHBvcnQiLCAiYXJraGFtTWlkZGxld2FyZSIsICJfX3RvQ29tbW9uSlMiLCAic3RhdGVQYXRoIiwgIkZsdXgiLCAic3RvcmUiLCAibmV4dCIsICJhY3Rpb24iLCAiaXNBcmtoYW1KcyJdCn0K
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { AnyAction, Dispatch, Middleware } from 'redux';
|
2
|
+
export interface ArkhamReduxStoreType {
|
3
|
+
arkhamMiddleware: any[];
|
4
|
+
devTools: any;
|
5
|
+
flux: any;
|
6
|
+
reducers: Dispatch<AnyAction>;
|
7
|
+
reduxMiddleware: Middleware[];
|
8
|
+
sagas: any;
|
9
|
+
statePath: string;
|
10
|
+
}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
var t=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var s=Object.prototype.hasOwnProperty;var y=(a,e,i,d)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of o(e))!s.call(a,r)&&r!==i&&t(a,r,{get:()=>e[r],enumerable:!(d=n(e,r))||d.enumerable});return a};var c=a=>y(t({},"__esModule",{value:!0}),a);var l={};module.exports=c(l);
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3R5cGVzL21haW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7QW55QWN0aW9uLCBEaXNwYXRjaCwgTWlkZGxld2FyZX0gZnJvbSAncmVkdXgnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFya2hhbVJlZHV4U3RvcmVUeXBlIHtcbiAgYXJraGFtTWlkZGxld2FyZTogYW55W107XG4gIGRldlRvb2xzOiBhbnk7XG4gIGZsdXg6IGFueTtcbiAgcmVkdWNlcnM6IERpc3BhdGNoPEFueUFjdGlvbj47XG4gIHJlZHV4TWlkZGxld2FyZTogTWlkZGxld2FyZVtdO1xuICBzYWdhczogYW55O1xuICBzdGF0ZVBhdGg6IHN0cmluZztcbn1cbiJdLAogICJtYXBwaW5ncyI6ICJrV0FBQSxJQUFBQSxFQUFBLGtCQUFBQyxFQUFBRCIsCiAgIm5hbWVzIjogWyJtYWluX2V4cG9ydHMiLCAiX190b0NvbW1vbkpTIl0KfQo=
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@nlabs/arkhamjs-middleware-redux",
|
3
|
-
"version": "3.
|
3
|
+
"version": "3.29.0",
|
4
4
|
"publishConfig": {
|
5
5
|
"access": "public"
|
6
6
|
},
|
@@ -32,34 +32,38 @@
|
|
32
32
|
"url": "https://github.com/nitrogenlabs/arkhamjs/issues"
|
33
33
|
},
|
34
34
|
"scripts": {
|
35
|
-
"build": "lex compile",
|
35
|
+
"build": "lex compile --remove",
|
36
36
|
"clean": "lex clean",
|
37
|
-
"lint": "
|
37
|
+
"lint": "lex lint --fix",
|
38
38
|
"prepublishOnly": "npm run build",
|
39
39
|
"publish:major": "npm version major && npm publish",
|
40
40
|
"publish:minor": "npm version minor && npm publish",
|
41
41
|
"publish:patch": "npm version patch && npm publish",
|
42
42
|
"pretest": "npm run lint",
|
43
43
|
"test": "lex test",
|
44
|
-
"update": "
|
44
|
+
"update": "lex update --interactive"
|
45
45
|
},
|
46
46
|
"peerDependencies": {
|
47
|
-
"@nlabs/arkhamjs": "^3.23",
|
48
|
-
"redux": "^3.0"
|
49
|
-
},
|
50
|
-
"dependencies": {
|
51
|
-
"lodash": "^4.17.21"
|
47
|
+
"@nlabs/arkhamjs": "^3.23.0",
|
48
|
+
"redux": "^3.0.0"
|
52
49
|
},
|
53
50
|
"devDependencies": {
|
54
51
|
"@nlabs/arkhamjs": "*",
|
55
|
-
"@types/jest": "^
|
56
|
-
"@types/node": "^
|
52
|
+
"@types/jest": "^30.0.0",
|
53
|
+
"@types/node": "^24.0.10",
|
57
54
|
"@types/redux": "^3.6.31",
|
58
55
|
"@types/webpack": "^5.28.5",
|
59
|
-
"eslint": "^9.19.0",
|
60
|
-
"eslint-config-styleguidejs": "^3.2.1",
|
61
56
|
"redux": "^5.0.1",
|
62
|
-
"typescript": "^5.
|
57
|
+
"typescript": "^5.8.3"
|
63
58
|
},
|
64
|
-
"
|
59
|
+
"files": [
|
60
|
+
"lib",
|
61
|
+
"index.js",
|
62
|
+
"index.d.ts",
|
63
|
+
"LICENSE",
|
64
|
+
"package.json",
|
65
|
+
"README.md"
|
66
|
+
],
|
67
|
+
"gitHead": "fc371e1e28fe0ae35d40d29a217d5f0e990ec32a",
|
68
|
+
"type": "module"
|
65
69
|
}
|