@wirestate/react 0.7.0-experimental.1 → 0.7.0-experimental.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -2
- package/cjs/development/index.js +70 -80
- package/cjs/development/index.js.map +1 -1
- package/cjs/development/lib.js +24 -27
- package/cjs/development/lib.js.map +1 -1
- package/cjs/development/test-utils.js +3 -6
- package/cjs/development/test-utils.js.map +1 -1
- package/cjs/production/index.js +1 -1
- package/cjs/production/index.js.map +1 -1
- package/cjs/production/lib.js +1 -1
- package/cjs/production/lib.js.map +1 -1
- package/cjs/production/test-utils.js +1 -1
- package/cjs/production/test-utils.js.map +1 -1
- package/esm/development/commands/use-command-caller.js +2 -2
- package/esm/development/commands/use-command-caller.js.map +1 -1
- package/esm/development/commands/use-command-handler.js +5 -7
- package/esm/development/commands/use-command-handler.js.map +1 -1
- package/esm/development/commands/use-optional-command-caller.js +2 -2
- package/esm/development/commands/use-optional-command-caller.js.map +1 -1
- package/esm/development/context/container-context.js +1 -1
- package/esm/development/context/container-context.js.map +1 -1
- package/esm/development/context/use-container.js +1 -1
- package/esm/development/context/use-container.js.map +1 -1
- package/esm/development/context/use-root-container.js +3 -3
- package/esm/development/context/use-root-container.js.map +1 -1
- package/esm/development/context/use-scope.js +2 -2
- package/esm/development/context/use-scope.js.map +1 -1
- package/esm/development/error/error-code.js +1 -1
- package/esm/development/error/error-code.js.map +1 -1
- package/esm/development/events/use-event-emitter.js +5 -5
- package/esm/development/events/use-event-emitter.js.map +1 -1
- package/esm/development/events/use-event.js +7 -8
- package/esm/development/events/use-event.js.map +1 -1
- package/esm/development/events/use-events-handler.js +6 -7
- package/esm/development/events/use-events-handler.js.map +1 -1
- package/esm/development/events/use-events.js +7 -8
- package/esm/development/events/use-events.js.map +1 -1
- package/esm/development/injection/use-injection.js +2 -2
- package/esm/development/injection/use-injection.js.map +1 -1
- package/esm/development/injection/use-optional-injection.js +2 -2
- package/esm/development/injection/use-optional-injection.js.map +1 -1
- package/esm/development/provision/container-activator.js +4 -6
- package/esm/development/provision/container-activator.js.map +1 -1
- package/esm/development/provision/container-provider.js +7 -9
- package/esm/development/provision/container-provider.js.map +1 -1
- package/esm/development/provision/sub-container-provider.js +8 -9
- package/esm/development/provision/sub-container-provider.js.map +1 -1
- package/esm/development/provision/use-container-provision-state.js +15 -16
- package/esm/development/provision/use-container-provision-state.js.map +1 -1
- package/esm/development/queries/use-optional-query-caller.js +2 -2
- package/esm/development/queries/use-optional-query-caller.js.map +1 -1
- package/esm/development/queries/use-optional-sync-query-caller.js +2 -2
- package/esm/development/queries/use-optional-sync-query-caller.js.map +1 -1
- package/esm/development/queries/use-query-caller.js +2 -2
- package/esm/development/queries/use-query-caller.js.map +1 -1
- package/esm/development/queries/use-query-handler.js +5 -7
- package/esm/development/queries/use-query-handler.js.map +1 -1
- package/esm/development/queries/use-sync-query-caller.js +2 -2
- package/esm/development/queries/use-sync-query-caller.js.map +1 -1
- package/esm/development/test-utils/with-container-provider.js +3 -6
- package/esm/development/test-utils/with-container-provider.js.map +1 -1
- package/esm/development/utils/shallow-equal-arrays.js +1 -1
- package/esm/production/commands/use-command-caller.js +1 -1
- package/esm/production/commands/use-command-caller.js.map +1 -1
- package/esm/production/commands/use-command-handler.js +1 -1
- package/esm/production/commands/use-command-handler.js.map +1 -1
- package/esm/production/commands/use-optional-command-caller.js +1 -1
- package/esm/production/commands/use-optional-command-caller.js.map +1 -1
- package/esm/production/context/container-context.js +1 -1
- package/esm/production/context/container-context.js.map +1 -1
- package/esm/production/context/use-container.js +1 -1
- package/esm/production/context/use-container.js.map +1 -1
- package/esm/production/context/use-root-container.js +1 -1
- package/esm/production/context/use-root-container.js.map +1 -1
- package/esm/production/context/use-scope.js +1 -1
- package/esm/production/context/use-scope.js.map +1 -1
- package/esm/production/error/error-code.js +1 -1
- package/esm/production/error/error-code.js.map +1 -1
- package/esm/production/events/use-event-emitter.js +1 -1
- package/esm/production/events/use-event-emitter.js.map +1 -1
- package/esm/production/events/use-event.js +1 -1
- package/esm/production/events/use-event.js.map +1 -1
- package/esm/production/events/use-events-handler.js +1 -1
- package/esm/production/events/use-events-handler.js.map +1 -1
- package/esm/production/events/use-events.js +1 -1
- package/esm/production/events/use-events.js.map +1 -1
- package/esm/production/injection/use-injection.js +1 -1
- package/esm/production/injection/use-injection.js.map +1 -1
- package/esm/production/injection/use-optional-injection.js +1 -1
- package/esm/production/injection/use-optional-injection.js.map +1 -1
- package/esm/production/provision/container-activator.js +1 -1
- package/esm/production/provision/container-activator.js.map +1 -1
- package/esm/production/provision/container-provider.js +1 -1
- package/esm/production/provision/container-provider.js.map +1 -1
- package/esm/production/provision/sub-container-provider.js +1 -1
- package/esm/production/provision/sub-container-provider.js.map +1 -1
- package/esm/production/provision/use-container-provision-state.js +1 -1
- package/esm/production/provision/use-container-provision-state.js.map +1 -1
- package/esm/production/queries/use-optional-query-caller.js +1 -1
- package/esm/production/queries/use-optional-query-caller.js.map +1 -1
- package/esm/production/queries/use-optional-sync-query-caller.js +1 -1
- package/esm/production/queries/use-optional-sync-query-caller.js.map +1 -1
- package/esm/production/queries/use-query-caller.js +1 -1
- package/esm/production/queries/use-query-caller.js.map +1 -1
- package/esm/production/queries/use-query-handler.js +1 -1
- package/esm/production/queries/use-query-handler.js.map +1 -1
- package/esm/production/queries/use-sync-query-caller.js +1 -1
- package/esm/production/queries/use-sync-query-caller.js.map +1 -1
- package/esm/production/test-utils/with-container-provider.js +1 -1
- package/esm/production/test-utils/with-container-provider.js.map +1 -1
- package/esm/production/utils/shallow-equal-arrays.js +1 -1
- package/index.d.ts +1 -1
- package/package.json +2 -2
- package/test-utils.d.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
##
|
|
1
|
+
## Unreleased
|
|
2
2
|
|
|
3
3
|
- Add `useScope` in `@wirestate/react`
|
|
4
4
|
- New lit elements modules - `@wirestate/lit` and `@wirestate/lit-signals`
|
|
@@ -10,13 +10,19 @@
|
|
|
10
10
|
- Export more alias / methods from `@wirestate/react-mobx`
|
|
11
11
|
- Export missing methods typing for `@wirestate/core`
|
|
12
12
|
- Extensive JSDoc coverage for wirestate packages
|
|
13
|
-
- `createIocContainer`:
|
|
13
|
+
- `createIocContainer`: Removed in favor of `createContainer`
|
|
14
|
+
- `createContainer`: Added ability to instantly provide and activate entries, targeted seeds
|
|
14
15
|
- `createInjectablesProvider`: Removed.
|
|
15
16
|
- `IocProvider`: Removed
|
|
16
17
|
- `useRootContainer`: Added separate hook for store management in React tree
|
|
17
18
|
- `ContainerProvider`: Simpler provider for containers.
|
|
18
19
|
- `SubContainerProvider`: Added component solving problems of removed `createInjectablesProvider`
|
|
19
20
|
- `ContainerActivator`: Added separate activation component
|
|
21
|
+
- Replace IoC-context provision APIs with `ContainerContext`, `containerProvide`, `ContainerProvider`, and `useContainerProvision`
|
|
22
|
+
- Replace injectables-provider APIs with `subContainerProvide`, `SubContainerProvider`, and `useSubContainerProvider`
|
|
23
|
+
- Provide plain `Container` values through Lit context instead of wrapper objects
|
|
24
|
+
- Recreate managed child containers when the parent container context changes
|
|
25
|
+
- Add `useContainer` and `useScope` consumers in `@wirestate/lit`
|
|
20
26
|
|
|
21
27
|
## 0.6.3
|
|
22
28
|
|
package/cjs/development/index.js
CHANGED
|
@@ -4,7 +4,7 @@ var core = require('@wirestate/core');
|
|
|
4
4
|
var react = require('react');
|
|
5
5
|
var containerProvider = require('./lib.js');
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
const ERROR_CODE_INVALID_CONTEXT = 1052;
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Returns the active container from the context.
|
|
@@ -25,7 +25,7 @@ var ERROR_CODE_INVALID_CONTEXT = 1052;
|
|
|
25
25
|
* ```
|
|
26
26
|
*/
|
|
27
27
|
function useContainer() {
|
|
28
|
-
|
|
28
|
+
const value = react.useContext(containerProvider.ContainerReactContext);
|
|
29
29
|
if (!value) {
|
|
30
30
|
throw new core.WirestateError(ERROR_CODE_INVALID_CONTEXT, "Trying to access container context from React subtree not wrapped in <ContainerProvider>.");
|
|
31
31
|
}
|
|
@@ -51,8 +51,8 @@ function useContainer() {
|
|
|
51
51
|
* ```
|
|
52
52
|
*/
|
|
53
53
|
function useCommandCaller() {
|
|
54
|
-
|
|
55
|
-
return react.useCallback(
|
|
54
|
+
const container = useContainer();
|
|
55
|
+
return react.useCallback((type, data) => {
|
|
56
56
|
return container.get(core.CommandBus).command(type, data);
|
|
57
57
|
}, [container]);
|
|
58
58
|
}
|
|
@@ -80,8 +80,8 @@ function useCommandCaller() {
|
|
|
80
80
|
* ```
|
|
81
81
|
*/
|
|
82
82
|
function useOptionalCommandCaller() {
|
|
83
|
-
|
|
84
|
-
return react.useCallback(
|
|
83
|
+
const container = useContainer();
|
|
84
|
+
return react.useCallback((type, data) => {
|
|
85
85
|
return container.get(core.CommandBus).commandOptional(type, data);
|
|
86
86
|
}, [container]);
|
|
87
87
|
}
|
|
@@ -111,16 +111,14 @@ function useOptionalCommandCaller() {
|
|
|
111
111
|
* ```
|
|
112
112
|
*/
|
|
113
113
|
function useCommandHandler(type, handler) {
|
|
114
|
-
|
|
115
|
-
|
|
114
|
+
const container = useContainer();
|
|
115
|
+
const handlerRef = react.useRef(handler);
|
|
116
116
|
// Sync ref with the latest closure on every render.
|
|
117
|
-
react.useEffect(
|
|
117
|
+
react.useEffect(() => {
|
|
118
118
|
handlerRef.current = handler;
|
|
119
119
|
});
|
|
120
|
-
react.useEffect(
|
|
121
|
-
return container.get(core.CommandBus).register(type,
|
|
122
|
-
return handlerRef.current(data);
|
|
123
|
-
});
|
|
120
|
+
react.useEffect(() => {
|
|
121
|
+
return container.get(core.CommandBus).register(type, data => handlerRef.current(data));
|
|
124
122
|
}, [container, type]);
|
|
125
123
|
}
|
|
126
124
|
|
|
@@ -141,7 +139,7 @@ function useCommandHandler(type, handler) {
|
|
|
141
139
|
* ```tsx
|
|
142
140
|
* const container: Container = useRootContainer(
|
|
143
141
|
* () =>
|
|
144
|
-
*
|
|
142
|
+
* createContainer({
|
|
145
143
|
* entries: [CounterService, LoggerService],
|
|
146
144
|
* }),
|
|
147
145
|
* []
|
|
@@ -149,8 +147,8 @@ function useCommandHandler(type, handler) {
|
|
|
149
147
|
* ```
|
|
150
148
|
*/
|
|
151
149
|
function useRootContainer(factory, deps) {
|
|
152
|
-
return react.useMemo(
|
|
153
|
-
|
|
150
|
+
return react.useMemo(() => {
|
|
151
|
+
const container = factory();
|
|
154
152
|
return container;
|
|
155
153
|
}, deps);
|
|
156
154
|
}
|
|
@@ -174,8 +172,8 @@ function useRootContainer(factory, deps) {
|
|
|
174
172
|
* ```
|
|
175
173
|
*/
|
|
176
174
|
function useScope() {
|
|
177
|
-
|
|
178
|
-
return react.useMemo(
|
|
175
|
+
const container = useContainer();
|
|
176
|
+
return react.useMemo(() => {
|
|
179
177
|
return container.get(core.WireScope);
|
|
180
178
|
}, [container]);
|
|
181
179
|
}
|
|
@@ -201,18 +199,17 @@ function useScope() {
|
|
|
201
199
|
* ```
|
|
202
200
|
*/
|
|
203
201
|
function useEvent(type, handler) {
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
react.useEffect(
|
|
202
|
+
const typeRef = react.useRef(type);
|
|
203
|
+
const handlerRef = react.useRef(handler);
|
|
204
|
+
const container = useContainer();
|
|
205
|
+
react.useEffect(() => {
|
|
208
206
|
typeRef.current = type;
|
|
209
207
|
handlerRef.current = handler;
|
|
210
208
|
});
|
|
211
|
-
react.useEffect(
|
|
212
|
-
return container.get(core.EventBus).subscribe(
|
|
213
|
-
var _a;
|
|
209
|
+
react.useEffect(() => {
|
|
210
|
+
return container.get(core.EventBus).subscribe(event => {
|
|
214
211
|
if (event.type === typeRef.current) {
|
|
215
|
-
|
|
212
|
+
handlerRef.current?.(event);
|
|
216
213
|
}
|
|
217
214
|
});
|
|
218
215
|
}, [container, type]);
|
|
@@ -239,18 +236,17 @@ function useEvent(type, handler) {
|
|
|
239
236
|
* ```
|
|
240
237
|
*/
|
|
241
238
|
function useEvents(types, handler) {
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
react.useEffect(
|
|
239
|
+
const typesRef = react.useRef(types);
|
|
240
|
+
const handlerRef = react.useRef(handler);
|
|
241
|
+
const container = useContainer();
|
|
242
|
+
react.useEffect(() => {
|
|
246
243
|
typesRef.current = types;
|
|
247
244
|
handlerRef.current = handler;
|
|
248
245
|
});
|
|
249
|
-
react.useEffect(
|
|
250
|
-
return container.get(core.EventBus).subscribe(
|
|
251
|
-
var _a;
|
|
246
|
+
react.useEffect(() => {
|
|
247
|
+
return container.get(core.EventBus).subscribe(event => {
|
|
252
248
|
if (typesRef.current.includes(event.type)) {
|
|
253
|
-
|
|
249
|
+
handlerRef.current?.(event);
|
|
254
250
|
}
|
|
255
251
|
});
|
|
256
252
|
}, [container]);
|
|
@@ -277,15 +273,14 @@ function useEvents(types, handler) {
|
|
|
277
273
|
* ```
|
|
278
274
|
*/
|
|
279
275
|
function useEventsHandler(handler) {
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
react.useEffect(
|
|
276
|
+
const handlerRef = react.useRef(handler);
|
|
277
|
+
const container = useContainer();
|
|
278
|
+
react.useEffect(() => {
|
|
283
279
|
handlerRef.current = handler;
|
|
284
280
|
});
|
|
285
|
-
react.useEffect(
|
|
286
|
-
return container.get(core.EventBus).subscribe(
|
|
287
|
-
|
|
288
|
-
(_a = handlerRef.current) === null || _a === void 0 ? void 0 : _a.call(handlerRef, event);
|
|
281
|
+
react.useEffect(() => {
|
|
282
|
+
return container.get(core.EventBus).subscribe(event => {
|
|
283
|
+
handlerRef.current?.(event);
|
|
289
284
|
});
|
|
290
285
|
}, [container]);
|
|
291
286
|
}
|
|
@@ -312,12 +307,12 @@ function useEventsHandler(handler) {
|
|
|
312
307
|
* ```
|
|
313
308
|
*/
|
|
314
309
|
function useEventEmitter() {
|
|
315
|
-
|
|
316
|
-
return react.useCallback(
|
|
310
|
+
const container = useContainer();
|
|
311
|
+
return react.useCallback((type, payload, from) => {
|
|
317
312
|
container.get(core.EventBus).emit({
|
|
318
|
-
type
|
|
319
|
-
payload
|
|
320
|
-
from
|
|
313
|
+
type,
|
|
314
|
+
payload,
|
|
315
|
+
from
|
|
321
316
|
});
|
|
322
317
|
}, [container]);
|
|
323
318
|
}
|
|
@@ -346,9 +341,9 @@ function useEventEmitter() {
|
|
|
346
341
|
* ```
|
|
347
342
|
*/
|
|
348
343
|
function useInjection(injectionId) {
|
|
349
|
-
|
|
344
|
+
const container = useContainer();
|
|
350
345
|
// Revision bump causes a container reset; force re-resolution to drop stale instances.
|
|
351
|
-
return react.useMemo(
|
|
346
|
+
return react.useMemo(() => {
|
|
352
347
|
return container.get(injectionId);
|
|
353
348
|
}, [container, injectionId]);
|
|
354
349
|
}
|
|
@@ -375,9 +370,9 @@ function useInjection(injectionId) {
|
|
|
375
370
|
* ```
|
|
376
371
|
*/
|
|
377
372
|
function useOptionalInjection(injectionId, onFallback) {
|
|
378
|
-
|
|
373
|
+
const container = useContainer();
|
|
379
374
|
// Revision bump forces a container reset; force re-resolution to drop stale instances.
|
|
380
|
-
return react.useMemo(
|
|
375
|
+
return react.useMemo(() => {
|
|
381
376
|
if (container.isBound(injectionId)) {
|
|
382
377
|
return container.get(injectionId);
|
|
383
378
|
} else if (onFallback) {
|
|
@@ -402,21 +397,20 @@ function useOptionalInjection(injectionId, onFallback) {
|
|
|
402
397
|
* @returns A React context provider for the child container.
|
|
403
398
|
*/
|
|
404
399
|
function SubContainerProvider(props) {
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
var source = {
|
|
400
|
+
const parent = useContainer();
|
|
401
|
+
const source = {
|
|
408
402
|
entries: props.entries,
|
|
409
|
-
parent
|
|
403
|
+
parent,
|
|
410
404
|
seeds: props.seeds
|
|
411
405
|
};
|
|
412
|
-
|
|
406
|
+
const state = containerProvider.useContainerProvisionState(source, {
|
|
413
407
|
create: createSubContainerState,
|
|
414
408
|
label: "SubContainerProvider",
|
|
415
409
|
reuse: canReuseSubContainerState
|
|
416
410
|
});
|
|
417
411
|
return react.createElement(containerProvider.ContainerReactContext.Provider, {
|
|
418
412
|
value: state.container
|
|
419
|
-
},
|
|
413
|
+
}, props.children ?? null);
|
|
420
414
|
}
|
|
421
415
|
/**
|
|
422
416
|
* Selects the child-container state that should be exposed for this render.
|
|
@@ -436,14 +430,14 @@ function canReuseSubContainerState(current, source, disposed) {
|
|
|
436
430
|
* @returns Child-container state ready for context.
|
|
437
431
|
*/
|
|
438
432
|
function createSubContainerState(source) {
|
|
439
|
-
|
|
433
|
+
const container = core.createContainer({
|
|
440
434
|
entries: source.entries,
|
|
441
435
|
parent: source.parent,
|
|
442
436
|
seeds: source.seeds
|
|
443
437
|
});
|
|
444
438
|
return {
|
|
445
|
-
source
|
|
446
|
-
container
|
|
439
|
+
source,
|
|
440
|
+
container,
|
|
447
441
|
owned: true
|
|
448
442
|
};
|
|
449
443
|
}
|
|
@@ -463,17 +457,15 @@ function createSubContainerState(source) {
|
|
|
463
457
|
* @returns React children after activation side effect is applied.
|
|
464
458
|
*/
|
|
465
459
|
function ContainerActivator(props) {
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
var activatedContainerRef = react.useRef(null);
|
|
460
|
+
const container = useContainer();
|
|
461
|
+
const activatedContainerRef = react.useRef(null);
|
|
469
462
|
if (activatedContainerRef.current !== container) {
|
|
470
463
|
activatedContainerRef.current = container;
|
|
471
|
-
for (
|
|
472
|
-
var entry = _b[_i];
|
|
464
|
+
for (const entry of props.activate) {
|
|
473
465
|
container.get(entry);
|
|
474
466
|
}
|
|
475
467
|
}
|
|
476
|
-
return
|
|
468
|
+
return props.children ?? null;
|
|
477
469
|
}
|
|
478
470
|
|
|
479
471
|
/**
|
|
@@ -494,8 +486,8 @@ function ContainerActivator(props) {
|
|
|
494
486
|
* ```
|
|
495
487
|
*/
|
|
496
488
|
function useQueryCaller() {
|
|
497
|
-
|
|
498
|
-
return react.useCallback(
|
|
489
|
+
const container = useContainer();
|
|
490
|
+
return react.useCallback((type, data) => {
|
|
499
491
|
return container.get(core.QueryBus).query(type, data);
|
|
500
492
|
}, [container]);
|
|
501
493
|
}
|
|
@@ -519,8 +511,8 @@ function useQueryCaller() {
|
|
|
519
511
|
* ```
|
|
520
512
|
*/
|
|
521
513
|
function useOptionalQueryCaller() {
|
|
522
|
-
|
|
523
|
-
return react.useCallback(
|
|
514
|
+
const container = useContainer();
|
|
515
|
+
return react.useCallback((type, data) => {
|
|
524
516
|
return container.get(core.QueryBus).queryOptional(type, data);
|
|
525
517
|
}, [container]);
|
|
526
518
|
}
|
|
@@ -550,15 +542,13 @@ function useOptionalQueryCaller() {
|
|
|
550
542
|
* ```
|
|
551
543
|
*/
|
|
552
544
|
function useQueryHandler(type, handler) {
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
react.useEffect(
|
|
545
|
+
const container = useContainer();
|
|
546
|
+
const handlerRef = react.useRef(handler);
|
|
547
|
+
react.useEffect(() => {
|
|
556
548
|
handlerRef.current = handler;
|
|
557
549
|
});
|
|
558
|
-
react.useEffect(
|
|
559
|
-
return container.get(core.QueryBus).register(type,
|
|
560
|
-
return handlerRef.current(data);
|
|
561
|
-
});
|
|
550
|
+
react.useEffect(() => {
|
|
551
|
+
return container.get(core.QueryBus).register(type, data => handlerRef.current(data));
|
|
562
552
|
}, [container, type]);
|
|
563
553
|
}
|
|
564
554
|
|
|
@@ -581,8 +571,8 @@ function useQueryHandler(type, handler) {
|
|
|
581
571
|
* ```
|
|
582
572
|
*/
|
|
583
573
|
function useSyncQueryCaller() {
|
|
584
|
-
|
|
585
|
-
return react.useCallback(
|
|
574
|
+
const container = useContainer();
|
|
575
|
+
return react.useCallback((type, data) => {
|
|
586
576
|
// Access the container-scoped QueryBus and execute the query.
|
|
587
577
|
return container.get(core.QueryBus).query(type, data);
|
|
588
578
|
}, [container]);
|
|
@@ -606,8 +596,8 @@ function useSyncQueryCaller() {
|
|
|
606
596
|
* ```
|
|
607
597
|
*/
|
|
608
598
|
function useOptionalSyncQueryCaller() {
|
|
609
|
-
|
|
610
|
-
return react.useCallback(
|
|
599
|
+
const container = useContainer();
|
|
600
|
+
return react.useCallback((type, data) => {
|
|
611
601
|
return container.get(core.QueryBus).queryOptional(type, data);
|
|
612
602
|
}, [container]);
|
|
613
603
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../../src/wirestate-react/error/error-code.ts","../../../../../../../src/wirestate-react/context/use-container.ts","../../../../../../../src/wirestate-react/commands/use-command-caller.ts","../../../../../../../src/wirestate-react/commands/use-optional-command-caller.ts","../../../../../../../src/wirestate-react/commands/use-command-handler.ts","../../../../../../../src/wirestate-react/context/use-root-container.ts","../../../../../../../src/wirestate-react/context/use-scope.ts","../../../../../../../src/wirestate-react/events/use-event.ts","../../../../../../../src/wirestate-react/events/use-events.ts","../../../../../../../src/wirestate-react/events/use-events-handler.ts","../../../../../../../src/wirestate-react/events/use-event-emitter.ts","../../../../../../../src/wirestate-react/injection/use-injection.ts","../../../../../../../src/wirestate-react/injection/use-optional-injection.ts","../../../../../../../src/wirestate-react/provision/sub-container-provider.ts","../../../../../../../src/wirestate-react/provision/container-activator.ts","../../../../../../../src/wirestate-react/queries/use-query-caller.ts","../../../../../../../src/wirestate-react/queries/use-optional-query-caller.ts","../../../../../../../src/wirestate-react/queries/use-query-handler.ts","../../../../../../../src/wirestate-react/queries/use-sync-query-caller.ts","../../../../../../../src/wirestate-react/queries/use-optional-sync-query-caller.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["ERROR_CODE_INVALID_CONTEXT","useContainer","value","useContext","ContainerReactContext","WirestateError","useCommandCaller","container","useCallback","type","data","get","CommandBus","command","useOptionalCommandCaller","commandOptional","useCommandHandler","handler","handlerRef","useRef","useEffect","current","register","useRootContainer","factory","deps","useMemo","useScope","WireScope","useEvent","typeRef","EventBus","subscribe","event","_a","call","useEvents","types","typesRef","includes","useEventsHandler","useEventEmitter","payload","from","emit","useInjection","injectionId","useOptionalInjection","onFallback","isBound","SubContainerProvider","props","parent","source","entries","seeds","state","useContainerProvisionState","create","createSubContainerState","label","reuse","canReuseSubContainerState","createElement","Provider","children","disposed","has","shallowEqualArrays","createContainer","owned","ContainerActivator","activatedContainerRef","_i","_b","activate","length","entry","useQueryCaller","QueryBus","query","useOptionalQueryCaller","queryOptional","useQueryHandler","useSyncQueryCaller","useOptionalSyncQueryCaller"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../../src/wirestate-react/error/error-code.ts","../../../../../../../src/wirestate-react/context/use-container.ts","../../../../../../../src/wirestate-react/commands/use-command-caller.ts","../../../../../../../src/wirestate-react/commands/use-optional-command-caller.ts","../../../../../../../src/wirestate-react/commands/use-command-handler.ts","../../../../../../../src/wirestate-react/context/use-root-container.ts","../../../../../../../src/wirestate-react/context/use-scope.ts","../../../../../../../src/wirestate-react/events/use-event.ts","../../../../../../../src/wirestate-react/events/use-events.ts","../../../../../../../src/wirestate-react/events/use-events-handler.ts","../../../../../../../src/wirestate-react/events/use-event-emitter.ts","../../../../../../../src/wirestate-react/injection/use-injection.ts","../../../../../../../src/wirestate-react/injection/use-optional-injection.ts","../../../../../../../src/wirestate-react/provision/sub-container-provider.ts","../../../../../../../src/wirestate-react/provision/container-activator.ts","../../../../../../../src/wirestate-react/queries/use-query-caller.ts","../../../../../../../src/wirestate-react/queries/use-optional-query-caller.ts","../../../../../../../src/wirestate-react/queries/use-query-handler.ts","../../../../../../../src/wirestate-react/queries/use-sync-query-caller.ts","../../../../../../../src/wirestate-react/queries/use-optional-sync-query-caller.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["ERROR_CODE_INVALID_CONTEXT","useContainer","value","useContext","ContainerReactContext","WirestateError","useCommandCaller","container","useCallback","type","data","get","CommandBus","command","useOptionalCommandCaller","commandOptional","useCommandHandler","handler","handlerRef","useRef","useEffect","current","register","useRootContainer","factory","deps","useMemo","useScope","WireScope","useEvent","typeRef","EventBus","subscribe","event","useEvents","types","typesRef","includes","useEventsHandler","useEventEmitter","payload","from","emit","useInjection","injectionId","useOptionalInjection","onFallback","isBound","SubContainerProvider","props","parent","source","entries","seeds","state","useContainerProvisionState","create","createSubContainerState","label","reuse","canReuseSubContainerState","createElement","Provider","children","disposed","has","shallowEqualArrays","createContainer","owned","ContainerActivator","activatedContainerRef","entry","activate","useQueryCaller","QueryBus","query","useOptionalQueryCaller","queryOptional","useQueryHandler","useSyncQueryCaller","useOptionalSyncQueryCaller"],"mappings":"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"}
|
package/cjs/development/lib.js
CHANGED
|
@@ -12,7 +12,7 @@ var react = require('react');
|
|
|
12
12
|
*
|
|
13
13
|
* @group Context
|
|
14
14
|
*/
|
|
15
|
-
|
|
15
|
+
const ContainerReactContext = react.createContext(null);
|
|
16
16
|
ContainerReactContext.displayName = "ContainerContext";
|
|
17
17
|
|
|
18
18
|
/**
|
|
@@ -33,7 +33,7 @@ function shallowEqualArrays(left, right) {
|
|
|
33
33
|
if (left.length !== right.length) {
|
|
34
34
|
return false;
|
|
35
35
|
}
|
|
36
|
-
for (
|
|
36
|
+
for (let i = 0; i < right.length; i++) {
|
|
37
37
|
if (left[i] !== right[i]) {
|
|
38
38
|
return false;
|
|
39
39
|
}
|
|
@@ -51,26 +51,25 @@ function shallowEqualArrays(left, right) {
|
|
|
51
51
|
* @returns Current provider state.
|
|
52
52
|
*/
|
|
53
53
|
function useContainerProvisionState(source, options) {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
54
|
+
const {
|
|
55
|
+
create,
|
|
56
|
+
label,
|
|
57
|
+
reuse
|
|
58
|
+
} = options;
|
|
59
|
+
const stateRef = react.useRef(null);
|
|
60
|
+
const disposedRef = react.useRef(new WeakSet());
|
|
61
|
+
const [, forceUpdate] = react.useState(0);
|
|
62
|
+
const current = stateRef.current;
|
|
63
|
+
const state = current && reuse(current, source, disposedRef.current) ? current : replaceContainerState(current, source, create, disposedRef.current);
|
|
63
64
|
stateRef.current = state;
|
|
64
|
-
react.useEffect(
|
|
65
|
-
|
|
65
|
+
react.useEffect(() => {
|
|
66
|
+
let active = state;
|
|
66
67
|
if (active.owned && disposedRef.current.has(active.container)) {
|
|
67
68
|
active = create(active.source);
|
|
68
69
|
stateRef.current = active;
|
|
69
|
-
forceUpdate(
|
|
70
|
-
return version + 1;
|
|
71
|
-
});
|
|
70
|
+
forceUpdate(version => version + 1);
|
|
72
71
|
}
|
|
73
|
-
return
|
|
72
|
+
return () => {
|
|
74
73
|
if (active.owned) {
|
|
75
74
|
disposeContainerOnce(active.container, disposedRef.current);
|
|
76
75
|
}
|
|
@@ -91,7 +90,7 @@ function useContainerProvisionState(source, options) {
|
|
|
91
90
|
* @returns Newly created provider state.
|
|
92
91
|
*/
|
|
93
92
|
function replaceContainerState(current, source, create, disposed, label) {
|
|
94
|
-
if (current
|
|
93
|
+
if (current?.owned) {
|
|
95
94
|
disposeContainerOnce(current.container, disposed);
|
|
96
95
|
}
|
|
97
96
|
return create(source);
|
|
@@ -131,15 +130,14 @@ function disposeContainerOnce(container, disposed, label) {
|
|
|
131
130
|
* @returns A React context provider for the active container.
|
|
132
131
|
*/
|
|
133
132
|
function ContainerProvider(props) {
|
|
134
|
-
|
|
135
|
-
var state = useContainerProvisionState(props.container, {
|
|
133
|
+
const state = useContainerProvisionState(props.container, {
|
|
136
134
|
create: createContainerState,
|
|
137
135
|
label: "ContainerProvider",
|
|
138
136
|
reuse: canReuseContainerState
|
|
139
137
|
});
|
|
140
138
|
return react.createElement(ContainerReactContext.Provider, {
|
|
141
139
|
value: state.container
|
|
142
|
-
},
|
|
140
|
+
}, props.children ?? null);
|
|
143
141
|
}
|
|
144
142
|
/**
|
|
145
143
|
* Selects the provider state that should be exposed for the current source.
|
|
@@ -150,11 +148,10 @@ function ContainerProvider(props) {
|
|
|
150
148
|
* @returns `true` when current state can be reused.
|
|
151
149
|
*/
|
|
152
150
|
function canReuseContainerState(current, source, disposed) {
|
|
153
|
-
var _a, _b;
|
|
154
151
|
if (source instanceof core.Container) {
|
|
155
152
|
return !current.owned && current.container === source;
|
|
156
153
|
}
|
|
157
|
-
return current.owned && !disposed.has(current.container) && shallowEqualArrays(
|
|
154
|
+
return current.owned && !disposed.has(current.container) && shallowEqualArrays(source.entries ?? [], current.source instanceof core.Container ? [] : current.source.entries ?? []);
|
|
158
155
|
}
|
|
159
156
|
/**
|
|
160
157
|
* Creates provider state for an external or managed container source.
|
|
@@ -165,15 +162,15 @@ function canReuseContainerState(current, source, disposed) {
|
|
|
165
162
|
function createContainerState(source) {
|
|
166
163
|
if (source instanceof core.Container) {
|
|
167
164
|
return {
|
|
168
|
-
source
|
|
165
|
+
source,
|
|
169
166
|
container: source,
|
|
170
167
|
owned: false
|
|
171
168
|
};
|
|
172
169
|
} else {
|
|
173
|
-
|
|
170
|
+
const container = core.createContainer(source);
|
|
174
171
|
return {
|
|
175
|
-
source
|
|
176
|
-
container
|
|
172
|
+
source,
|
|
173
|
+
container,
|
|
177
174
|
owned: true
|
|
178
175
|
};
|
|
179
176
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sources":["../../../../../../../src/wirestate-react/context/container-context.ts","../../../../../../../src/wirestate-react/utils/shallow-equal-arrays.ts","../../../../../../../src/wirestate-react/provision/use-container-provision-state.ts","../../../../../../../src/wirestate-react/provision/container-provider.ts"],"sourcesContent":[null,null,null,null],"names":["ContainerReactContext","createContext","displayName","shallowEqualArrays","left","right","length","i","useContainerProvisionState","source","options","create","label","reuse","stateRef","useRef","disposedRef","WeakSet","
|
|
1
|
+
{"version":3,"file":"lib.js","sources":["../../../../../../../src/wirestate-react/context/container-context.ts","../../../../../../../src/wirestate-react/utils/shallow-equal-arrays.ts","../../../../../../../src/wirestate-react/provision/use-container-provision-state.ts","../../../../../../../src/wirestate-react/provision/container-provider.ts"],"sourcesContent":[null,null,null,null],"names":["ContainerReactContext","createContext","displayName","shallowEqualArrays","left","right","length","i","useContainerProvisionState","source","options","create","label","reuse","stateRef","useRef","disposedRef","WeakSet","forceUpdate","useState","current","state","replaceContainerState","useEffect","active","owned","has","container","version","disposeContainerOnce","disposed","unbindAll","add","ContainerProvider","props","createContainerState","canReuseContainerState","createElement","Provider","value","children","Container","entries","createContainer"],"mappings":";;;;;AAKA;;;;;;;;AAQG;MACUA,qBAAqB,GAAiCC,mBAAa,CAAsB,IAAI;AAE1GD,qBAAqB,CAACE,WAAW,GAAG,kBAAkB;;AChBtD;;;;;;;;;;;;;AAaG;AACG,SAAUC,kBAAkBA,CAACC,IAA4B,EAAEC,KAA6B,EAAA;AAC5F,EAAA,IAAID,IAAI,CAACE,MAAM,KAAKD,KAAK,CAACC,MAAM,EAAE;AAChC,IAAA,OAAO,KAAK;AACd,EAAA;AAEA,EAAA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,KAAK,CAACC,MAAM,EAAEC,CAAC,EAAE,EAAE;IACrC,IAAIH,IAAI,CAACG,CAAC,CAAC,KAAKF,KAAK,CAACE,CAAC,CAAC,EAAE;AACxB,MAAA,OAAO,KAAK;AACd,IAAA;AACF,EAAA;AAEA,EAAA,OAAO,IAAI;AACb;;ACeA;;;;;;;;AAQG;AACG,SAAUC,0BAA0BA,CACxCC,MAAe,EACfC,OAA2D,EAAA;EAE3D,MAAM;IAAEC,MAAM;IAAEC,KAAK;AAAEC,IAAAA;AAAK,GAAE,GAAGH,OAAO;AACxC,EAAA,MAAMI,QAAQ,GAAGC,YAAM,CAAmB,IAAI,CAAC;EAC/C,MAAMC,WAAW,GAAGD,YAAM,CAAqB,IAAIE,OAAO,EAAa,CAAC;AACxE,EAAA,MAAM,GAAGC,WAAW,CAAC,GAAGC,cAAQ,CAAS,CAAC,CAAC;AAE3C,EAAA,MAAMC,OAAO,GAAqBN,QAAQ,CAACM,OAAO;AAElD,EAAA,MAAMC,KAAK,GACTD,OAAO,IAAIP,KAAK,CAACO,OAAO,EAAEX,MAAM,EAAEO,WAAW,CAACI,OAAO,CAAC,GAClDA,OAAO,GACPE,qBAAqB,CAACF,OAAO,EAAEX,MAAM,EAAEE,MAAM,EAAEK,WAAW,CAACI,OAAc,CAAC;EAEhFN,QAAQ,CAACM,OAAO,GAAGC,KAAK;AAExBE,EAAAA,eAAS,CAAC,MAAK;IACb,IAAIC,MAAM,GAAWH,KAAK;AAO1B,IAAA,IAAIG,MAAM,CAACC,KAAK,IAAIT,WAAW,CAACI,OAAO,CAACM,GAAG,CAACF,MAAM,CAACG,SAAS,CAAC,EAAE;AAM7DH,MAAAA,MAAM,GAAGb,MAAM,CAACa,MAAM,CAACf,MAAM,CAAC;MAC9BK,QAAQ,CAACM,OAAO,GAAGI,MAAM;AAEzBN,MAAAA,WAAW,CAAEU,OAAe,IAAKA,OAAO,GAAG,CAAC,CAAC;AAC/C,IAAA;AAEA,IAAA,OAAO,MAAK;MAMV,IAAIJ,MAAM,CAACC,KAAK,EAAE;QAChBI,oBAAoB,CAACL,MAAM,CAACG,SAAS,EAAEX,WAAW,CAACI,OAAc,CAAC;AACpE,MAAA;IACF,CAAC;EACH,CAAC,EAAE,CAACT,MAAM,EAAEC,KAAK,EAAES,KAAK,CAAC,CAAC;AAE1B,EAAA,OAAOA,KAAK;AACd;AAEA;;;;;;;;;;;AAWG;AACH,SAASC,qBAAqBA,CAC5BF,OAAyB,EACzBX,MAAe,EACfE,MAAmC,EACnCmB,QAA4B,EAC5BlB,KAAa,EAAA;EAEb,IAAIQ,OAAO,EAAEK,KAAK,EAAE;IAClBI,oBAAoB,CAACT,OAAO,CAACO,SAAS,EAAEG,QAAe,CAAC;AAC1D,EAAA;EAEA,OAAOnB,MAAM,CAACF,MAAM,CAAC;AACvB;AAEA;;;;;;;;AAQG;AACH,SAASoB,oBAAoBA,CAACF,SAAoB,EAAEG,QAA4B,EAAElB,KAAa,EAAA;AAC7F,EAAA,IAAIkB,QAAQ,CAACJ,GAAG,CAACC,SAAS,CAAC,EAAE;AAC3B,IAAA;AACF,EAAA;EAMAA,SAAS,CAACI,SAAS,EAAE;AAErBD,EAAAA,QAAQ,CAACE,GAAG,CAACL,SAAS,CAAC;AACzB;;ACpGA;;;;;;;;;;;;;;;;AAgBG;AACG,SAAUM,iBAAiBA,CAACC,KAA6B,EAAA;AAC7D,EAAA,MAAMb,KAAK,GAA2Bb,0BAA0B,CAAC0B,KAAK,CAACP,SAAS,EAAE;AAChFhB,IAAAA,MAAM,EAAEwB,oBAAoB;AAC5BvB,IAAAA,KAAK,EAAE,mBAAmB;AAC1BC,IAAAA,KAAK,EAAEuB;AACR,GAAA,CAAC;AAEF,EAAA,OAAOC,mBAAa,CAACrC,qBAAqB,CAACsC,QAAQ,EAAE;IAAEC,KAAK,EAAElB,KAAK,CAACM;AAAS,GAAE,EAAEO,KAAK,CAACM,QAAQ,IAAI,IAAI,CAAC;AAC1G;AAEA;;;;;;;AAOG;AACH,SAASJ,sBAAsBA,CAC7BhB,OAA+B,EAC/BX,MAA+B,EAC/BqB,QAA4B,EAAA;EAE5B,IAAIrB,MAAM,YAAYgC,cAAS,EAAE;IAC/B,OAAO,CAACrB,OAAO,CAACK,KAAK,IAAIL,OAAO,CAACO,SAAS,KAAKlB,MAAM;AACvD,EAAA;AAEA,EAAA,OACEW,OAAO,CAACK,KAAK,IACb,CAACK,QAAQ,CAACJ,GAAG,CAACN,OAAO,CAACO,SAAS,CAAC,IAChCxB,kBAAkB,CAACM,MAAM,CAACiC,OAAO,IAAI,EAAE,EAAEtB,OAAO,CAACX,MAAM,YAAYgC,cAAS,GAAG,EAAE,GAAIrB,OAAO,CAACX,MAAM,CAACiC,OAAO,IAAI,EAAG,CAAC;AAEvH;AAEA;;;;;AAKG;AACH,SAASP,oBAAoBA,CAAC1B,MAA+B,EAAA;EAC3D,IAAIA,MAAM,YAAYgC,cAAS,EAAE;IAK/B,OAAO;MACLhC,MAAM;AACNkB,MAAAA,SAAS,EAAElB,MAAM;AACjBgB,MAAAA,KAAK,EAAE;KACR;AACH,EAAA,CAAC,MAAM;AAKL,IAAA,MAAME,SAAS,GAAcgB,oBAAe,CAAClC,MAAM,CAAC;IAEpD,OAAO;MACLA,MAAM;MACNkB,SAAS;AACTF,MAAAA,KAAK,EAAE;KACR;AACH,EAAA;AACF;;;;;;;"}
|
|
@@ -20,17 +20,14 @@ require('@wirestate/core');
|
|
|
20
20
|
*
|
|
21
21
|
* @example
|
|
22
22
|
* ```tsx
|
|
23
|
-
* const container: Container =
|
|
23
|
+
* const container: Container = mockContainer();
|
|
24
24
|
*
|
|
25
25
|
* render(withIocProvider(<MyComponent />, container));
|
|
26
26
|
* ```
|
|
27
27
|
*/
|
|
28
|
-
function withContainerProvider(children, container) {
|
|
29
|
-
if (container === void 0) {
|
|
30
|
-
container = testUtils.mockContainer();
|
|
31
|
-
}
|
|
28
|
+
function withContainerProvider(children, container = testUtils.mockContainer()) {
|
|
32
29
|
return react.createElement(containerProvider.ContainerProvider, {
|
|
33
|
-
container
|
|
30
|
+
container
|
|
34
31
|
}, children);
|
|
35
32
|
}
|
|
36
33
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-utils.js","sources":["../../../../../../../src/wirestate-react/test-utils/with-container-provider.ts"],"sourcesContent":[null],"names":["withContainerProvider","children","container","mockContainer","createElement","ContainerProvider"],"mappings":";;;;;;;AAMA;;;;;;;;;;;;;;;;;;;AAmBG;
|
|
1
|
+
{"version":3,"file":"test-utils.js","sources":["../../../../../../../src/wirestate-react/test-utils/with-container-provider.ts"],"sourcesContent":[null],"names":["withContainerProvider","children","container","mockContainer","createElement","ContainerProvider"],"mappings":";;;;;;;AAMA;;;;;;;;;;;;;;;;;;;AAmBG;SACaA,qBAAqBA,CAACC,QAAmB,EAAEC,SAAA,GAAuBC,uBAAa,EAAE,EAAA;EAC/F,OAAOC,mBAAa,CAACC,mCAAiB,EAAE;AAAEH,IAAAA;GAAW,EAAED,QAAQ,CAAC;AAClE;;;;"}
|
package/cjs/production/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("@wirestate/core"),
|
|
1
|
+
"use strict";var e=require("@wirestate/core"),t=require("react"),r=require("./lib.js");const n=1052;function u(){const u=t.useContext(r.C);if(!u)throw new e.WirestateError(n,"Trying to access container context from React subtree not wrapped in <ContainerProvider>.");return u}function s(e,t,n){return!n.has(e.container)&&e.source.parent===t.parent&&r.s(t.entries,e.source.entries)}function o(t){return{source:t,container:e.createContainer({entries:t.entries,parent:t.parent,seeds:t.seeds}),owned:!0}}exports.ContainerProvider=r.a,exports.ContainerActivator=function(e){const r=u(),n=t.useRef(null);if(n.current!==r){n.current=r;for(const t of e.activate)r.get(t)}return e.children??null},exports.SubContainerProvider=function(e){const n=u(),c={entries:e.entries,parent:n,seeds:e.seeds},i=r.u(c,{create:o,label:"SubContainerProvider",reuse:s});return t.createElement(r.C.Provider,{value:i.container},e.children??null)},exports.useCommandCaller=function(){const r=u();return t.useCallback(((t,n)=>r.get(e.CommandBus).command(t,n)),[r])},exports.useCommandHandler=function(r,n){const s=u(),o=t.useRef(n);t.useEffect((()=>{o.current=n})),t.useEffect((()=>s.get(e.CommandBus).register(r,(e=>o.current(e)))),[s,r])},exports.useContainer=u,exports.useEvent=function(r,n){const s=t.useRef(r),o=t.useRef(n),c=u();t.useEffect((()=>{s.current=r,o.current=n})),t.useEffect((()=>c.get(e.EventBus).subscribe((e=>{e.type===s.current&&o.current?.(e)}))),[c,r])},exports.useEventEmitter=function(){const r=u();return t.useCallback(((t,n,u)=>{r.get(e.EventBus).emit({type:t,payload:n,from:u})}),[r])},exports.useEvents=function(r,n){const s=t.useRef(r),o=t.useRef(n),c=u();t.useEffect((()=>{s.current=r,o.current=n})),t.useEffect((()=>c.get(e.EventBus).subscribe((e=>{s.current.includes(e.type)&&o.current?.(e)}))),[c])},exports.useEventsHandler=function(r){const n=t.useRef(r),s=u();t.useEffect((()=>{n.current=r})),t.useEffect((()=>s.get(e.EventBus).subscribe((e=>{n.current?.(e)}))),[s])},exports.useInjection=function(e){const r=u();return t.useMemo((()=>r.get(e)),[r,e])},exports.useOptionalCommandCaller=function(){const r=u();return t.useCallback(((t,n)=>r.get(e.CommandBus).commandOptional(t,n)),[r])},exports.useOptionalInjection=function(e,r){const n=u();return t.useMemo((()=>n.isBound(e)?n.get(e):r?r(n):null),[n,e])},exports.useOptionalQueryCaller=function(){const r=u();return t.useCallback(((t,n)=>r.get(e.QueryBus).queryOptional(t,n)),[r])},exports.useOptionalSyncQueryCaller=function(){const r=u();return t.useCallback(((t,n)=>r.get(e.QueryBus).queryOptional(t,n)),[r])},exports.useQueryCaller=function(){const r=u();return t.useCallback(((t,n)=>r.get(e.QueryBus).query(t,n)),[r])},exports.useQueryHandler=function(r,n){const s=u(),o=t.useRef(n);t.useEffect((()=>{o.current=n})),t.useEffect((()=>s.get(e.QueryBus).register(r,(e=>o.current(e)))),[s,r])},exports.useRootContainer=function(e,r){return t.useMemo((()=>e()),r)},exports.useScope=function(){const r=u();return t.useMemo((()=>r.get(e.WireScope)),[r])},exports.useSyncQueryCaller=function(){const r=u();return t.useCallback(((t,n)=>r.get(e.QueryBus).query(t,n)),[r])};//# sourceMappingURL=index.js.map
|