@wirestate/react 0.6.3 → 0.7.0-experimental.1
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 +21 -1
- package/README.md +109 -25
- package/cjs/development/index.js +462 -222
- package/cjs/development/index.js.map +1 -1
- package/cjs/development/lib.js +167 -45
- package/cjs/development/lib.js.map +1 -1
- package/cjs/development/test-utils.js +22 -11
- 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 +16 -3
- package/esm/development/commands/use-command-caller.js.map +1 -1
- package/esm/development/commands/use-command-handler.js +20 -4
- package/esm/development/commands/use-command-handler.js.map +1 -1
- package/esm/development/commands/use-optional-command-caller.js +20 -4
- package/esm/development/commands/use-optional-command-caller.js.map +1 -1
- package/esm/development/context/container-context.js +16 -0
- package/esm/development/context/container-context.js.map +1 -0
- package/esm/development/context/use-container.js +33 -0
- package/esm/development/context/use-container.js.map +1 -0
- package/esm/development/context/use-root-container.js +35 -0
- package/esm/development/context/use-root-container.js.map +1 -0
- package/esm/development/context/use-scope.js +31 -0
- package/esm/development/context/use-scope.js.map +1 -0
- package/esm/development/error/error-code.js +1 -3
- package/esm/development/error/error-code.js.map +1 -1
- package/esm/development/events/use-event-emitter.js +20 -4
- package/esm/development/events/use-event-emitter.js.map +1 -1
- package/esm/development/events/use-event.js +18 -4
- package/esm/development/events/use-event.js.map +1 -1
- package/esm/development/events/use-events-handler.js +18 -3
- package/esm/development/events/use-events-handler.js.map +1 -1
- package/esm/development/events/use-events.js +18 -4
- package/esm/development/events/use-events.js.map +1 -1
- package/esm/development/index.js +12 -10
- package/esm/development/index.js.map +1 -1
- package/esm/development/injection/use-injection.js +36 -0
- package/esm/development/injection/use-injection.js.map +1 -0
- package/esm/development/injection/use-optional-injection.js +40 -0
- package/esm/development/injection/use-optional-injection.js.map +1 -0
- package/esm/development/provision/container-activator.js +33 -0
- package/esm/development/provision/container-activator.js.map +1 -0
- package/esm/development/provision/container-provider.js +74 -0
- package/esm/development/provision/container-provider.js.map +1 -0
- package/esm/development/provision/sub-container-provider.js +69 -0
- package/esm/development/provision/sub-container-provider.js.map +1 -0
- package/esm/development/provision/use-container-provision-state.js +76 -0
- package/esm/development/provision/use-container-provision-state.js.map +1 -0
- package/esm/development/queries/use-optional-query-caller.js +16 -4
- package/esm/development/queries/use-optional-query-caller.js.map +1 -1
- package/esm/development/queries/use-optional-sync-query-caller.js +14 -3
- package/esm/development/queries/use-optional-sync-query-caller.js.map +1 -1
- package/esm/development/queries/use-query-caller.js +15 -3
- package/esm/development/queries/use-query-caller.js.map +1 -1
- package/esm/development/queries/use-query-handler.js +21 -5
- package/esm/development/queries/use-query-handler.js.map +1 -1
- package/esm/development/queries/use-sync-query-caller.js +15 -3
- package/esm/development/queries/use-sync-query-caller.js.map +1 -1
- package/esm/development/test-utils/with-container-provider.js +35 -0
- package/esm/development/test-utils/with-container-provider.js.map +1 -0
- package/esm/development/test-utils.js +1 -1
- package/esm/development/utils/shallow-equal-arrays.js +28 -0
- package/esm/development/utils/shallow-equal-arrays.js.map +1 -0
- 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 -0
- package/esm/production/context/container-context.js.map +1 -0
- package/esm/production/context/use-container.js +1 -0
- package/esm/production/context/use-container.js.map +1 -0
- package/esm/production/context/use-root-container.js +1 -0
- package/esm/production/context/use-root-container.js.map +1 -0
- package/esm/production/context/use-scope.js +1 -0
- package/esm/production/context/use-scope.js.map +1 -0
- 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/index.js +1 -1
- package/esm/production/injection/use-injection.js +1 -0
- package/esm/production/injection/use-injection.js.map +1 -0
- package/esm/production/injection/use-optional-injection.js +1 -0
- package/esm/production/injection/use-optional-injection.js.map +1 -0
- package/esm/production/provision/container-activator.js +1 -0
- package/esm/production/provision/container-activator.js.map +1 -0
- package/esm/production/provision/container-provider.js +1 -0
- package/esm/production/provision/container-provider.js.map +1 -0
- package/esm/production/provision/sub-container-provider.js +1 -0
- package/esm/production/provision/sub-container-provider.js.map +1 -0
- package/esm/production/provision/use-container-provision-state.js +1 -0
- package/esm/production/provision/use-container-provision-state.js.map +1 -0
- 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 -0
- package/esm/production/test-utils/with-container-provider.js.map +1 -0
- package/esm/production/test-utils.js +1 -1
- package/esm/production/utils/shallow-equal-arrays.js +1 -0
- package/esm/production/utils/shallow-equal-arrays.js.map +1 -0
- package/index.d.ts +554 -137
- package/package.json +1 -1
- package/test-utils.d.ts +19 -8
- package/esm/development/provision/create-injectables-provider.js +0 -101
- package/esm/development/provision/create-injectables-provider.js.map +0 -1
- package/esm/development/provision/ioc-context.js +0 -11
- package/esm/development/provision/ioc-context.js.map +0 -1
- package/esm/development/provision/ioc-provider.js +0 -50
- package/esm/development/provision/ioc-provider.js.map +0 -1
- package/esm/development/provision/use-container-revision.js +0 -13
- package/esm/development/provision/use-container-revision.js.map +0 -1
- package/esm/development/provision/use-container.js +0 -13
- package/esm/development/provision/use-container.js.map +0 -1
- package/esm/development/provision/use-injection.js +0 -22
- package/esm/development/provision/use-injection.js.map +0 -1
- package/esm/development/provision/use-ioc-context.js +0 -21
- package/esm/development/provision/use-ioc-context.js.map +0 -1
- package/esm/development/provision/use-optional-injection.js +0 -29
- package/esm/development/provision/use-optional-injection.js.map +0 -1
- package/esm/development/test-utils/with-ioc-provider.js +0 -24
- package/esm/development/test-utils/with-ioc-provider.js.map +0 -1
- package/esm/production/provision/create-injectables-provider.js +0 -1
- package/esm/production/provision/create-injectables-provider.js.map +0 -1
- package/esm/production/provision/ioc-context.js +0 -1
- package/esm/production/provision/ioc-context.js.map +0 -1
- package/esm/production/provision/ioc-provider.js +0 -1
- package/esm/production/provision/ioc-provider.js.map +0 -1
- package/esm/production/provision/use-container-revision.js +0 -1
- package/esm/production/provision/use-container-revision.js.map +0 -1
- package/esm/production/provision/use-container.js +0 -1
- package/esm/production/provision/use-container.js.map +0 -1
- package/esm/production/provision/use-injection.js +0 -1
- package/esm/production/provision/use-injection.js.map +0 -1
- package/esm/production/provision/use-ioc-context.js +0 -1
- package/esm/production/provision/use-ioc-context.js.map +0 -1
- package/esm/production/provision/use-optional-injection.js +0 -1
- package/esm/production/provision/use-optional-injection.js.map +0 -1
- package/esm/production/test-utils/with-ioc-provider.js +0 -1
- package/esm/production/test-utils/with-ioc-provider.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../../src/wirestate-react/provision/use-ioc-context.ts","../../../../../../../src/wirestate-react/provision/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/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","../../../../../../../src/wirestate-react/provision/use-injection.ts","../../../../../../../src/wirestate-react/provision/use-optional-injection.ts","../../../../../../../src/wirestate-react/provision/create-injectables-provider.ts","../../../../../../../src/wirestate-react/provision/use-container-revision.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"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["useIocContext","value","useContext","IocReactContext","WirestateError","ERROR_CODE_INVALID_CONTEXT","useContainer","container","useCommandCaller","useCallback","type","data","get","CommandBus","command","useOptionalCommandCaller","commandOptional","useCommandHandler","handler","handlerRef","useRef","useEffect","current","register","useQueryCaller","QueryBus","query","useOptionalQueryCaller","queryOptional","useQueryHandler","useSyncQueryCaller","useOptionalSyncQueryCaller","useInjection","injectionId","_a","revision","useMemo","useOptionalInjection","onFallback","isBound","createInjectablesProvider","entries","options","activate","length","entryTokens","map","getEntryToken","_i","activate_1","eager","includes","ERROR_CODE_VALIDATION_ERROR","concat","String","InjectablesProviderComponent","props","iocContext","initialPropsSnapshot","useState","seeds","applySeeds","entries_1","entry","bindEntry","activate_2","didRebind","entries_2","activate_3","setRevision","r","entries_3","token","unbind","unapplySeeds","children","displayName","useContainerRevision","useEvent","typeRef","EventBus","subscribe","event","call","useEvents","types","typesRef","useEventsHandler","useEventEmitter","payload","from","emit"],"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","_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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"}
|
package/cjs/development/lib.js
CHANGED
|
@@ -3,62 +3,184 @@
|
|
|
3
3
|
var core = require('@wirestate/core');
|
|
4
4
|
var react = require('react');
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
/**
|
|
7
|
+
* React context carrying the container.
|
|
8
|
+
*
|
|
9
|
+
* @remarks
|
|
10
|
+
* This context is internal to Wirestate. Consumers should use provided hooks
|
|
11
|
+
* like {@link useContainer}, {@link useInjection} or {@link useScope} to access the container and resolved services.
|
|
12
|
+
*
|
|
13
|
+
* @group Context
|
|
14
|
+
*/
|
|
15
|
+
var ContainerReactContext = react.createContext(null);
|
|
16
|
+
ContainerReactContext.displayName = "ContainerContext";
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Checks whether two arrays are shallowly equal.
|
|
20
|
+
*
|
|
21
|
+
* @remarks
|
|
22
|
+
* Arrays are considered equal when they have the same length and each item
|
|
23
|
+
* at the same index is strictly equal (`===`).
|
|
24
|
+
*
|
|
25
|
+
* @group Utils
|
|
26
|
+
* @internal
|
|
27
|
+
*
|
|
28
|
+
* @param left - First array to compare.
|
|
29
|
+
* @param right - Second array to compare.
|
|
30
|
+
* @returns `true` when arrays are shallowly equal, otherwise `false`.
|
|
31
|
+
*/
|
|
32
|
+
function shallowEqualArrays(left, right) {
|
|
33
|
+
if (left.length !== right.length) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
for (var i = 0; i < right.length; i++) {
|
|
37
|
+
if (left[i] !== right[i]) {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
9
43
|
|
|
10
44
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
45
|
+
* Reconciles provider-owned container state and revives it after development cleanup.
|
|
46
|
+
*
|
|
47
|
+
* @internal
|
|
48
|
+
*
|
|
49
|
+
* @param source - Current provider source.
|
|
50
|
+
* @param options - Reconciliation rules.
|
|
51
|
+
* @returns Current provider state.
|
|
52
|
+
*/
|
|
53
|
+
function useContainerProvisionState(source, options) {
|
|
54
|
+
var create = options.create,
|
|
55
|
+
label = options.label,
|
|
56
|
+
reuse = options.reuse;
|
|
57
|
+
var stateRef = react.useRef(null);
|
|
58
|
+
var disposedRef = react.useRef(new WeakSet());
|
|
59
|
+
var _a = react.useState(0),
|
|
60
|
+
forceUpdate = _a[1];
|
|
61
|
+
var current = stateRef.current;
|
|
62
|
+
var state = current && reuse(current, source, disposedRef.current) ? current : replaceContainerState(current, source, create, disposedRef.current);
|
|
63
|
+
stateRef.current = state;
|
|
64
|
+
react.useEffect(function () {
|
|
65
|
+
var active = state;
|
|
66
|
+
if (active.owned && disposedRef.current.has(active.container)) {
|
|
67
|
+
active = create(active.source);
|
|
68
|
+
stateRef.current = active;
|
|
69
|
+
forceUpdate(function (version) {
|
|
70
|
+
return version + 1;
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
return function () {
|
|
74
|
+
if (active.owned) {
|
|
75
|
+
disposeContainerOnce(active.container, disposedRef.current);
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
}, [create, label, state]);
|
|
79
|
+
return state;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Replaces current provider state with a newly created one.
|
|
83
|
+
*
|
|
84
|
+
* @internal
|
|
85
|
+
*
|
|
86
|
+
* @param current - Currently exposed provider state.
|
|
87
|
+
* @param source - Source for next state.
|
|
88
|
+
* @param create - State factory.
|
|
89
|
+
* @param disposed - Set of containers already disposed by this provider.
|
|
90
|
+
* @param label - Debug prefix used for lifecycle logging.
|
|
91
|
+
* @returns Newly created provider state.
|
|
92
|
+
*/
|
|
93
|
+
function replaceContainerState(current, source, create, disposed, label) {
|
|
94
|
+
if (current === null || current === void 0 ? void 0 : current.owned) {
|
|
95
|
+
disposeContainerOnce(current.container, disposed);
|
|
96
|
+
}
|
|
97
|
+
return create(source);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Disposes a provider-owned container once.
|
|
101
|
+
*
|
|
102
|
+
* @internal
|
|
103
|
+
*
|
|
104
|
+
* @param container - Container to dispose.
|
|
105
|
+
* @param disposed - Set of containers already disposed by this provider.
|
|
106
|
+
* @param label - Debug prefix used for lifecycle logging.
|
|
13
107
|
*/
|
|
14
|
-
|
|
15
|
-
|
|
108
|
+
function disposeContainerOnce(container, disposed, label) {
|
|
109
|
+
if (disposed.has(container)) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
container.unbindAll();
|
|
113
|
+
disposed.add(container);
|
|
114
|
+
}
|
|
16
115
|
|
|
17
116
|
/**
|
|
18
|
-
* Provides
|
|
117
|
+
* Provides a root Wirestate container to a React subtree.
|
|
118
|
+
*
|
|
119
|
+
* @remarks
|
|
120
|
+
* The provider supports two modes:
|
|
121
|
+
*
|
|
122
|
+
* - External mode: `container` is a prebuilt {@link Container}. The provider
|
|
123
|
+
* only passes it through context.
|
|
124
|
+
* - Managed mode: `container` is {@link CreateContainerOptions}. The provider
|
|
125
|
+
* creates a container, owns its disposal, recreates it when `entries` change,
|
|
126
|
+
* and revives it after React development remount cleanup.
|
|
127
|
+
*
|
|
128
|
+
* @group Provision
|
|
129
|
+
*
|
|
130
|
+
* @param props - Provider props.
|
|
131
|
+
* @returns A React context provider for the active container.
|
|
132
|
+
*/
|
|
133
|
+
function ContainerProvider(props) {
|
|
134
|
+
var _a;
|
|
135
|
+
var state = useContainerProvisionState(props.container, {
|
|
136
|
+
create: createContainerState,
|
|
137
|
+
label: "ContainerProvider",
|
|
138
|
+
reuse: canReuseContainerState
|
|
139
|
+
});
|
|
140
|
+
return react.createElement(ContainerReactContext.Provider, {
|
|
141
|
+
value: state.container
|
|
142
|
+
}, (_a = props.children) !== null && _a !== void 0 ? _a : null);
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Selects the provider state that should be exposed for the current source.
|
|
19
146
|
*
|
|
20
|
-
* @param
|
|
21
|
-
* @param
|
|
22
|
-
* @param
|
|
23
|
-
* @
|
|
24
|
-
* @returns provider element
|
|
147
|
+
* @param current - Previously exposed state, if any.
|
|
148
|
+
* @param source - Current container source prop.
|
|
149
|
+
* @param disposed - Containers already disposed by this provider.
|
|
150
|
+
* @returns `true` when current state can be reused.
|
|
25
151
|
*/
|
|
26
|
-
function
|
|
27
|
-
var
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
// Incremented on binding changes to invalidate descendant caches (e.g., useInjection).
|
|
31
|
-
var _b = react.useState(1),
|
|
32
|
-
revision = _b[0],
|
|
33
|
-
setRevision = _b[1];
|
|
34
|
-
// Lazy initialize owned container if no external container is provided.
|
|
35
|
-
var ownedContainer = react.useState(function () {
|
|
36
|
-
return externalContainer ? null : core.createIocContainer();
|
|
37
|
-
})[0];
|
|
38
|
-
var container = externalContainer !== null && externalContainer !== void 0 ? externalContainer : ownedContainer;
|
|
39
|
-
if (!container) {
|
|
40
|
-
throw new core.WirestateError(ERROR_CODE_FAILED_TO_RESOLVE_QUERY_HANDLER, "IocProvider failed to resolve a container instance.");
|
|
152
|
+
function canReuseContainerState(current, source, disposed) {
|
|
153
|
+
var _a, _b;
|
|
154
|
+
if (source instanceof core.Container) {
|
|
155
|
+
return !current.owned && current.container === source;
|
|
41
156
|
}
|
|
42
|
-
|
|
43
|
-
|
|
157
|
+
return current.owned && !disposed.has(current.container) && shallowEqualArrays((_a = source.entries) !== null && _a !== void 0 ? _a : [], current.source instanceof core.Container ? [] : (_b = current.source.entries) !== null && _b !== void 0 ? _b : []);
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Creates provider state for an external or managed container source.
|
|
161
|
+
*
|
|
162
|
+
* @param source - Container instance or creation options.
|
|
163
|
+
* @returns Provider state ready for context.
|
|
164
|
+
*/
|
|
165
|
+
function createContainerState(source) {
|
|
166
|
+
if (source instanceof core.Container) {
|
|
167
|
+
return {
|
|
168
|
+
source: source,
|
|
169
|
+
container: source,
|
|
170
|
+
owned: false
|
|
171
|
+
};
|
|
172
|
+
} else {
|
|
173
|
+
var container = core.createContainer(source);
|
|
44
174
|
return {
|
|
175
|
+
source: source,
|
|
45
176
|
container: container,
|
|
46
|
-
|
|
47
|
-
setRevision: setRevision
|
|
177
|
+
owned: true
|
|
48
178
|
};
|
|
49
|
-
}
|
|
50
|
-
react.useEffect(function () {
|
|
51
|
-
if (seed) {
|
|
52
|
-
core.applySharedSeed(container, seed);
|
|
53
|
-
}
|
|
54
|
-
}, [container]);
|
|
55
|
-
return react.createElement(IocReactContext.Provider, {
|
|
56
|
-
value: value
|
|
57
|
-
}, children);
|
|
179
|
+
}
|
|
58
180
|
}
|
|
59
181
|
|
|
60
|
-
exports.
|
|
61
|
-
exports.
|
|
62
|
-
exports.
|
|
63
|
-
exports.
|
|
182
|
+
exports.ContainerProvider = ContainerProvider;
|
|
183
|
+
exports.ContainerReactContext = ContainerReactContext;
|
|
184
|
+
exports.shallowEqualArrays = shallowEqualArrays;
|
|
185
|
+
exports.useContainerProvisionState = useContainerProvisionState;
|
|
64
186
|
//# sourceMappingURL=lib.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sources":["../../../../../../../src/wirestate-react/
|
|
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","_a","useState","forceUpdate","current","state","replaceContainerState","useEffect","active","owned","has","container","version","disposeContainerOnce","disposed","unbindAll","add","ContainerProvider","props","createContainerState","canReuseContainerState","createElement","Provider","value","children","Container","entries","_b","createContainer"],"mappings":"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"}
|
|
@@ -2,26 +2,37 @@
|
|
|
2
2
|
|
|
3
3
|
var testUtils = require('@wirestate/core/test-utils');
|
|
4
4
|
var react = require('react');
|
|
5
|
-
var
|
|
5
|
+
var containerProvider = require('./lib.js');
|
|
6
6
|
require('@wirestate/core');
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
* Wraps a
|
|
9
|
+
* Wraps a React element tree with {@link ContainerProvider} for testing purposes.
|
|
10
10
|
*
|
|
11
|
-
* @
|
|
12
|
-
*
|
|
13
|
-
* @
|
|
14
|
-
*
|
|
11
|
+
* @remarks
|
|
12
|
+
* This utility simplifies setting up the IoC context in unit tests. It automatically
|
|
13
|
+
* creates a {@link mockContainer} if none is provided.
|
|
14
|
+
*
|
|
15
|
+
* @group Test-utils
|
|
16
|
+
*
|
|
17
|
+
* @param children - The React tree to be wrapped.
|
|
18
|
+
* @param container - An optional Inversify container. Defaults to a new {@link mockContainer}.
|
|
19
|
+
* @returns A React element wrapped in an {@link ContainerProvider}.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```tsx
|
|
23
|
+
* const container: Container = createIocContainer();
|
|
24
|
+
*
|
|
25
|
+
* render(withIocProvider(<MyComponent />, container));
|
|
26
|
+
* ```
|
|
15
27
|
*/
|
|
16
|
-
function
|
|
28
|
+
function withContainerProvider(children, container) {
|
|
17
29
|
if (container === void 0) {
|
|
18
30
|
container = testUtils.mockContainer();
|
|
19
31
|
}
|
|
20
|
-
return react.createElement(
|
|
21
|
-
container: container
|
|
22
|
-
seed: seed
|
|
32
|
+
return react.createElement(containerProvider.ContainerProvider, {
|
|
33
|
+
container: container
|
|
23
34
|
}, children);
|
|
24
35
|
}
|
|
25
36
|
|
|
26
|
-
exports.
|
|
37
|
+
exports.withContainerProvider = withContainerProvider;
|
|
27
38
|
//# sourceMappingURL=test-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-utils.js","sources":["../../../../../../../src/wirestate-react/test-utils/with-
|
|
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;AACG,SAAUA,qBAAqBA,CAACC,QAAmB,EAAEC,SAAsC,EAAA;AAAtC,EAAA,IAAAA,SAAA,KAAA,MAAA,EAAA;IAAAA,SAAA,GAAuBC,uBAAa,EAAE;AAAA,EAAA;EAC/F,OAAOC,mBAAa,CAACC,mCAAiB,EAAE;AAAEH,IAAAA,SAAS,EAAAA;GAAE,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"),r=require("react"),n=require("./lib.js"),t=1052;function u(){var u=r.useContext(n.C);if(!u)throw new e.WirestateError(t,"Trying to access container context from React subtree not wrapped in <ContainerProvider>.");return u}function o(e,r,t){return!t.has(e.container)&&e.source.parent===r.parent&&n.s(r.entries,e.source.entries)}function s(r){return{source:r,container:e.createContainer({entries:r.entries,parent:r.parent,seeds:r.seeds}),owned:!0}}exports.ContainerProvider=n.a,exports.ContainerActivator=function(e){var n,t=u(),o=r.useRef(null);if(o.current!==t){o.current=t;for(var s=0,c=e.activate;s<c.length;s++){var i=c[s];t.get(i)}}return null!==(n=e.children)&&void 0!==n?n:null},exports.SubContainerProvider=function(e){var t,c=u(),i={entries:e.entries,parent:c,seeds:e.seeds},a=n.u(i,{create:s,label:"SubContainerProvider",reuse:o});return r.createElement(n.C.Provider,{value:a.container},null!==(t=e.children)&&void 0!==t?t:null)},exports.useCommandCaller=function(){var n=u();return r.useCallback((function(r,t){return n.get(e.CommandBus).command(r,t)}),[n])},exports.useCommandHandler=function(n,t){var o=u(),s=r.useRef(t);r.useEffect((function(){s.current=t})),r.useEffect((function(){return o.get(e.CommandBus).register(n,(function(e){return s.current(e)}))}),[o,n])},exports.useContainer=u,exports.useEvent=function(n,t){var o=r.useRef(n),s=r.useRef(t),c=u();r.useEffect((function(){o.current=n,s.current=t})),r.useEffect((function(){return c.get(e.EventBus).subscribe((function(e){var r;e.type===o.current&&(null===(r=s.current)||void 0===r||r.call(s,e))}))}),[c,n])},exports.useEventEmitter=function(){var n=u();return r.useCallback((function(r,t,u){n.get(e.EventBus).emit({type:r,payload:t,from:u})}),[n])},exports.useEvents=function(n,t){var o=r.useRef(n),s=r.useRef(t),c=u();r.useEffect((function(){o.current=n,s.current=t})),r.useEffect((function(){return c.get(e.EventBus).subscribe((function(e){var r;o.current.includes(e.type)&&(null===(r=s.current)||void 0===r||r.call(s,e))}))}),[c])},exports.useEventsHandler=function(n){var t=r.useRef(n),o=u();r.useEffect((function(){t.current=n})),r.useEffect((function(){return o.get(e.EventBus).subscribe((function(e){var r;null===(r=t.current)||void 0===r||r.call(t,e)}))}),[o])},exports.useInjection=function(e){var n=u();return r.useMemo((function(){return n.get(e)}),[n,e])},exports.useOptionalCommandCaller=function(){var n=u();return r.useCallback((function(r,t){return n.get(e.CommandBus).commandOptional(r,t)}),[n])},exports.useOptionalInjection=function(e,n){var t=u();return r.useMemo((function(){return t.isBound(e)?t.get(e):n?n(t):null}),[t,e])},exports.useOptionalQueryCaller=function(){var n=u();return r.useCallback((function(r,t){return n.get(e.QueryBus).queryOptional(r,t)}),[n])},exports.useOptionalSyncQueryCaller=function(){var n=u();return r.useCallback((function(r,t){return n.get(e.QueryBus).queryOptional(r,t)}),[n])},exports.useQueryCaller=function(){var n=u();return r.useCallback((function(r,t){return n.get(e.QueryBus).query(r,t)}),[n])},exports.useQueryHandler=function(n,t){var o=u(),s=r.useRef(t);r.useEffect((function(){s.current=t})),r.useEffect((function(){return o.get(e.QueryBus).register(n,(function(e){return s.current(e)}))}),[o,n])},exports.useRootContainer=function(e,n){return r.useMemo((function(){return e()}),n)},exports.useScope=function(){var n=u();return r.useMemo((function(){return n.get(e.WireScope)}),[n])},exports.useSyncQueryCaller=function(){var n=u();return r.useCallback((function(r,t){return n.get(e.QueryBus).query(r,t)}),[n])};//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../../src/wirestate-react/
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../../src/wirestate-react/error/error-code.ts","../../../../../../../src/wirestate-react/context/use-container.ts","../../../../../../../src/wirestate-react/provision/sub-container-provider.ts","../../../../../../../src/wirestate-react/queries/use-optional-sync-query-caller.ts","../../../../../../../src/wirestate-react/provision/container-activator.ts","../../../../../../../src/wirestate-react/commands/use-command-caller.ts","../../../../../../../src/wirestate-react/commands/use-command-handler.ts","../../../../../../../src/wirestate-react/events/use-event.ts","../../../../../../../src/wirestate-react/events/use-event-emitter.ts","../../../../../../../src/wirestate-react/events/use-events.ts","../../../../../../../src/wirestate-react/events/use-events-handler.ts","../../../../../../../src/wirestate-react/injection/use-injection.ts","../../../../../../../src/wirestate-react/commands/use-optional-command-caller.ts","../../../../../../../src/wirestate-react/injection/use-optional-injection.ts","../../../../../../../src/wirestate-react/queries/use-optional-query-caller.ts","../../../../../../../src/wirestate-react/queries/use-query-caller.ts","../../../../../../../src/wirestate-react/queries/use-query-handler.ts","../../../../../../../src/wirestate-react/context/use-root-container.ts","../../../../../../../src/wirestate-react/context/use-scope.ts","../../../../../../../src/wirestate-react/queries/use-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","canReuseSubContainerState","current","source","disposed","has","container","parent","shallowEqualArrays","entries","createSubContainerState","createContainer","seeds","owned","exports","ContainerProvider","containerProvider","a","ContainerActivator","props","activatedContainerRef","useRef","_i","_b","activate","length","entry","get","children","_a","SubContainerProvider","state","useContainerProvisionState","create","label","reuse","createElement","Provider","useCommandCaller","useCallback","type","data","CommandBus","command","useCommandHandler","handler","handlerRef","useEffect","register","useEvent","typeRef","EventBus","subscribe","event","call","useEventEmitter","payload","from","emit","useEvents","types","typesRef","includes","useEventsHandler","useInjection","injectionId","useMemo","useOptionalCommandCaller","commandOptional","useOptionalInjection","onFallback","isBound","useOptionalQueryCaller","QueryBus","queryOptional","useOptionalSyncQueryCaller","useQueryCaller","query","useQueryHandler","useRootContainer","factory","deps","useScope","WireScope","useSyncQueryCaller"],"mappings":"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"}
|
package/cjs/production/lib.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("@wirestate/core"),
|
|
1
|
+
"use strict";var e=require("@wirestate/core"),n=require("react"),r=n.createContext(null);function t(e,n){if(e.length!==n.length)return!1;for(var r=0;r<n.length;r++)if(e[r]!==n[r])return!1;return!0}function o(e,r){var t=r.create,o=r.label,i=r.reuse,c=n.useRef(null),a=n.useRef(new WeakSet),s=n.useState(0)[1],l=c.current,f=l&&i(l,e,a.current)?l:function(e,n,r,t,o){(null==e?void 0:e.owned)&&u(e.container,t);return r(n)}(l,e,t,a.current);return c.current=f,n.useEffect((function(){var e=f;return e.owned&&a.current.has(e.container)&&(e=t(e.source),c.current=e,s((function(e){return e+1}))),function(){e.owned&&u(e.container,a.current)}}),[t,o,f]),f}function u(e,n,r){n.has(e)||(e.unbindAll(),n.add(e))}function i(n,r,o){var u,i;return r instanceof e.Container?!n.owned&&n.container===r:n.owned&&!o.has(n.container)&&t(null!==(u=r.entries)&&void 0!==u?u:[],n.source instanceof e.Container?[]:null!==(i=n.source.entries)&&void 0!==i?i:[])}function c(n){return n instanceof e.Container?{source:n,container:n,owned:!1}:{source:n,container:e.createContainer(n),owned:!0}}r.displayName="ContainerContext",exports.C=r,exports.a=function(e){var t,u=o(e.container,{create:c,label:"ContainerProvider",reuse:i});return n.createElement(r.Provider,{value:u.container},null!==(t=e.children)&&void 0!==t?t:null)},exports.s=t,exports.u=o;//# sourceMappingURL=lib.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sources":["../../../../../../../src/wirestate-react/
|
|
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":["core","require","react","ContainerReactContext","createContext","shallowEqualArrays","left","right","length","i","useContainerProvisionState","source","options","create","label","reuse","stateRef","useRef","disposedRef","WeakSet","forceUpdate","useState","current","state","disposed","owned","disposeContainerOnce","container","replaceContainerState","useEffect","active","has","version","unbindAll","add","canReuseContainerState","Container","_a","entries","_b","createContainerState","createContainer","displayName","exports","C","a","props","createElement","Provider","value","children","s","u"],"mappings":"AAKA,aAAA,IAAAA,EAAAC,QAAA,mBAAAC,EAAAD,QAAA,SASaE,EAAsDC,EAAAA,cAAmC,MCAhG,SAAUC,EAAmBC,EAA8BC,GAC/D,GAAID,EAAKE,SAAWD,EAAMC,OACxB,OAAO,EAGT,IAAK,IAAIC,EAAI,EAAGA,EAAIF,EAAMC,OAAQC,IAChC,GAAIH,EAAKG,KAAOF,EAAME,GACpB,OAAO,EAIX,OAAO,CACT,CCwBM,SAAUC,EACdC,EACAC,GAEQ,IAAAC,EAAyBD,EAAOC,OAAxBC,EAAiBF,EAAOE,MAAjBC,EAAUH,QAC3BI,EAAWC,EAAAA,OAAyB,MACpCC,EAAcD,EAAAA,OAA2B,IAAIE,SAC1CC,EAAeC,EAAAA,SAAiB,MAEnCC,EAA4BN,EAASM,QAErCC,EACJD,GAAWP,EAAMO,EAASX,EAAQO,EAAYI,SAC1CA,EAoDR,SACEA,EACAX,EACAE,EACAW,EACAV,IAEIQ,aAAO,EAAPA,EAASG,QACXC,EAAqBJ,EAAQK,UAAWH,GAG1C,OAAOX,EAAOF,EAChB,CA/DQiB,CAAsBN,EAASX,EAAQE,EAAQK,EAAYI,SAoCjE,OAlCAN,EAASM,QAAUC,EAEnBM,EAAAA,WAAU,WACR,IAAIC,EAAiBP,EAmBrB,OAZIO,EAAOL,OAASP,EAAYI,QAAQS,IAAID,EAAOH,aAMjDG,EAASjB,EAAOiB,EAAOnB,QACvBK,EAASM,QAAUQ,EAEnBV,GAAY,SAACY,GAAoB,OAAAA,EAAU,CAAV,KAG5B,WAMDF,EAAOL,OACTC,EAAqBI,EAAOH,UAAWT,EAAYI,QAEvD,CACF,GAAG,CAACT,EAAQC,EAAOS,IAEZA,CACT,CAqCA,SAASG,EAAqBC,EAAsBH,EAA8BV,GAC5EU,EAASO,IAAIJ,KAQjBA,EAAUM,YAEVT,EAASU,IAAIP,GACf,CCjEA,SAASQ,EACPb,EACAX,EACAa,WAEA,OAAIb,aAAkByB,EAAAA,WACZd,EAAQG,OAASH,EAAQK,YAAchB,EAI/CW,EAAQG,QACPD,EAASO,IAAIT,EAAQK,YACtBtB,EAAiC,QAAdgC,EAAA1B,EAAO2B,eAAO,IAAAD,EAAAA,EAAI,GAAIf,EAAQX,kBAAkByB,EAAAA,UAAY,GAA4B,QAAtBG,EAAAjB,EAAQX,OAAO2B,eAAO,IAAAC,EAAAA,EAAI,GAEnH,CAQA,SAASC,EAAqB7B,GAC5B,OAAIA,aAAkByB,EAAAA,UAKb,CACLzB,OAAMA,EACNgB,UAAWhB,EACXc,OAAO,GASF,CACLd,OAAMA,EACNgB,UAJ2Bc,EAAAA,gBAAgB9B,GAK3Cc,OAAO,EAGb,CHnHAtB,EAAsBuC,YAAc,mBGmHpCC,QAAAC,EAAAzC,EAAAwC,QAAAE,EAhEM,SAA4BC,SAC1BvB,EAAgCb,EAA2BoC,EAAMnB,UAAW,CAChFd,OAAQ2B,EACR1B,MAAO,oBACPC,MAAOoB,IAGT,OAAOY,EAAAA,cAAc5C,EAAsB6C,SAAU,CAAEC,MAAO1B,EAAMI,WAA2B,QAAdU,EAAAS,EAAMI,gBAAQ,IAAAb,EAAAA,EAAI,KACrG,EAwDAM,QAAAQ,EAAA9C,EAAAsC,QAAAS,EAAA1C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("@wirestate/core/test-utils"),r=require("react"),t=require("./lib.js");require("@wirestate/core"),exports.
|
|
1
|
+
"use strict";var e=require("@wirestate/core/test-utils"),r=require("react"),t=require("./lib.js");require("@wirestate/core"),exports.withContainerProvider=function(i,n){return void 0===n&&(n=e.mockContainer()),r.createElement(t.a,{container:n},i)};//# sourceMappingURL=test-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-utils.js","sources":["../../../../../../../src/wirestate-react/test-utils/with-
|
|
1
|
+
{"version":3,"file":"test-utils.js","sources":["../../../../../../../src/wirestate-react/test-utils/with-container-provider.ts"],"sourcesContent":[null],"names":["testUtils","require","react","containerProvider","exports","withContainerProvider","children","container","mockContainer","createElement","ContainerProvider"],"mappings":"AAMA,aAAA,IAAAA,EAAAC,QAAA,8BAAAC,EAAAD,QAAA,SAAAE,EAAAF,QAAA,YAAAA,QAAA,mBAsBAG,QAAAC,sBAFM,SAAgCC,EAAqBC,GACzD,YADyD,IAAAA,IAAAA,EAAuBC,EAAAA,iBACzEC,EAAAA,cAAcC,EAAAA,EAAmB,CAAEH,UAASA,GAAID,EACzD"}
|
|
@@ -1,11 +1,24 @@
|
|
|
1
1
|
import { CommandBus } from '@wirestate/core';
|
|
2
2
|
import { useCallback } from 'react';
|
|
3
|
-
import { useContainer } from '../
|
|
3
|
+
import { useContainer } from '../context/use-container.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
* Returns a function to dispatch commands on the active container.
|
|
6
|
+
* Returns a stable function to dispatch commands on the active container.
|
|
7
7
|
*
|
|
8
|
-
* @
|
|
8
|
+
* @remarks
|
|
9
|
+
* The returned dispatcher is memoized using `useCallback` and stays stable
|
|
10
|
+
* for the lifetime of the container. It uses {@link CommandBus.command} internally.
|
|
11
|
+
*
|
|
12
|
+
* @group Commands
|
|
13
|
+
*
|
|
14
|
+
* @returns A command dispatcher function that takes a type and optional data.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```tsx
|
|
18
|
+
* const call: CommandCaller = useCommandCaller();
|
|
19
|
+
*
|
|
20
|
+
* const onClick = () => call("SAVE_USER_COMMAND", { id: 1 });
|
|
21
|
+
* ```
|
|
9
22
|
*/
|
|
10
23
|
function useCommandCaller() {
|
|
11
24
|
var container = useContainer();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-command-caller.js","sources":["../../../../../../../../src/wirestate-react/commands/use-command-caller.ts"],"sourcesContent":[null],"names":["useCommandCaller","container","useContainer","useCallback","type","data","get","CommandBus","command"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"use-command-caller.js","sources":["../../../../../../../../src/wirestate-react/commands/use-command-caller.ts"],"sourcesContent":[null],"names":["useCommandCaller","container","useContainer","useCallback","type","data","get","CommandBus","command"],"mappings":";;;;AASA;;;;;;;;;;;;;;;;;AAiBG;SACaA,gBAAgBA,GAAA;AAC9B,EAAA,IAAMC,SAAS,GAAcC,YAAY,EAAE;AAE3C,EAAA,OAAOC,WAAW,CAChB,UAAgEC,IAAO,EAAEC,IAAQ,EAAA;AAM/E,IAAA,OAAOJ,SAAS,CAACK,GAAG,CAACC,UAAU,CAAC,CAACC,OAAO,CAAOJ,IAAI,EAAEC,IAAI,CAAC;AAC5D,EAAA,CAAC,EACD,CAACJ,SAAS,CAAC,CACZ;AACH;;;;"}
|
|
@@ -1,14 +1,30 @@
|
|
|
1
1
|
import { CommandBus } from '@wirestate/core';
|
|
2
2
|
import { useRef, useEffect } from 'react';
|
|
3
|
-
import { useContainer } from '../
|
|
3
|
+
import { useContainer } from '../context/use-container.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Registers a command handler for the component's lifetime.
|
|
7
|
-
*
|
|
7
|
+
*
|
|
8
|
+
* @remarks
|
|
9
|
+
* The handler is stored in a `useRef` and synced on every render to avoid stale
|
|
10
|
+
* closures without requiring manual memoization of the handler function.
|
|
8
11
|
* Only one handler is active per type; newer registrations shadow older ones.
|
|
12
|
+
* The handler is automatically unregistered when the component unmounts.
|
|
13
|
+
*
|
|
14
|
+
* @group Commands
|
|
15
|
+
*
|
|
16
|
+
* @template R - Result type of the command.
|
|
17
|
+
* @template D - Data/payload type of the command.
|
|
18
|
+
*
|
|
19
|
+
* @param type - Command type (string or symbol).
|
|
20
|
+
* @param handler - Command handler function.
|
|
9
21
|
*
|
|
10
|
-
* @
|
|
11
|
-
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```tsx
|
|
24
|
+
* useCommandHandler("SAVE_COMMAND", (data) => {
|
|
25
|
+
* return api.save(data);
|
|
26
|
+
* });
|
|
27
|
+
* ```
|
|
12
28
|
*/
|
|
13
29
|
function useCommandHandler(type, handler) {
|
|
14
30
|
var container = useContainer();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-command-handler.js","sources":["../../../../../../../../src/wirestate-react/commands/use-command-handler.ts"],"sourcesContent":[null],"names":["useCommandHandler","type","handler","container","useContainer","handlerRef","useRef","useEffect","current","get","CommandBus","register","data"],"mappings":";;;;AAKA
|
|
1
|
+
{"version":3,"file":"use-command-handler.js","sources":["../../../../../../../../src/wirestate-react/commands/use-command-handler.ts"],"sourcesContent":[null],"names":["useCommandHandler","type","handler","container","useContainer","handlerRef","useRef","useEffect","current","get","CommandBus","register","data"],"mappings":";;;;AAKA;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACG,SAAUA,iBAAiBA,CAA2BC,IAAiB,EAAEC,OAA6B,EAAA;AAC1G,EAAA,IAAMC,SAAS,GAAcC,YAAY,EAAE;AAC3C,EAAA,IAAMC,UAAU,GAAGC,MAAM,CAAuBJ,OAAO,CAAC;AAExD;AACAK,EAAAA,SAAS,CAAC,YAAA;IACRF,UAAU,CAACG,OAAO,GAAGN,OAAO;AAC9B,EAAA,CAAC,CAAC;AAEFK,EAAAA,SAAS,CAAC,YAAA;AACR,IAAA,OAAOJ,SAAS,CAACM,GAAG,CAACC,UAAU,CAAC,CAACC,QAAQ,CAAOV,IAAI,EAAE,UAACW,IAAI,EAAA;AAAK,MAAA,OAAAP,UAAU,CAACG,OAAO,CAACI,IAAI,CAAC;AAAxB,IAAA,CAAwB,CAAC;AAC3F,EAAA,CAAC,EAAE,CAACT,SAAS,EAAEF,IAAI,CAAC,CAAC;AACvB;;;;"}
|