@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.
Files changed (158) hide show
  1. package/CHANGELOG.md +21 -1
  2. package/README.md +109 -25
  3. package/cjs/development/index.js +462 -222
  4. package/cjs/development/index.js.map +1 -1
  5. package/cjs/development/lib.js +167 -45
  6. package/cjs/development/lib.js.map +1 -1
  7. package/cjs/development/test-utils.js +22 -11
  8. package/cjs/development/test-utils.js.map +1 -1
  9. package/cjs/production/index.js +1 -1
  10. package/cjs/production/index.js.map +1 -1
  11. package/cjs/production/lib.js +1 -1
  12. package/cjs/production/lib.js.map +1 -1
  13. package/cjs/production/test-utils.js +1 -1
  14. package/cjs/production/test-utils.js.map +1 -1
  15. package/esm/development/commands/use-command-caller.js +16 -3
  16. package/esm/development/commands/use-command-caller.js.map +1 -1
  17. package/esm/development/commands/use-command-handler.js +20 -4
  18. package/esm/development/commands/use-command-handler.js.map +1 -1
  19. package/esm/development/commands/use-optional-command-caller.js +20 -4
  20. package/esm/development/commands/use-optional-command-caller.js.map +1 -1
  21. package/esm/development/context/container-context.js +16 -0
  22. package/esm/development/context/container-context.js.map +1 -0
  23. package/esm/development/context/use-container.js +33 -0
  24. package/esm/development/context/use-container.js.map +1 -0
  25. package/esm/development/context/use-root-container.js +35 -0
  26. package/esm/development/context/use-root-container.js.map +1 -0
  27. package/esm/development/context/use-scope.js +31 -0
  28. package/esm/development/context/use-scope.js.map +1 -0
  29. package/esm/development/error/error-code.js +1 -3
  30. package/esm/development/error/error-code.js.map +1 -1
  31. package/esm/development/events/use-event-emitter.js +20 -4
  32. package/esm/development/events/use-event-emitter.js.map +1 -1
  33. package/esm/development/events/use-event.js +18 -4
  34. package/esm/development/events/use-event.js.map +1 -1
  35. package/esm/development/events/use-events-handler.js +18 -3
  36. package/esm/development/events/use-events-handler.js.map +1 -1
  37. package/esm/development/events/use-events.js +18 -4
  38. package/esm/development/events/use-events.js.map +1 -1
  39. package/esm/development/index.js +12 -10
  40. package/esm/development/index.js.map +1 -1
  41. package/esm/development/injection/use-injection.js +36 -0
  42. package/esm/development/injection/use-injection.js.map +1 -0
  43. package/esm/development/injection/use-optional-injection.js +40 -0
  44. package/esm/development/injection/use-optional-injection.js.map +1 -0
  45. package/esm/development/provision/container-activator.js +33 -0
  46. package/esm/development/provision/container-activator.js.map +1 -0
  47. package/esm/development/provision/container-provider.js +74 -0
  48. package/esm/development/provision/container-provider.js.map +1 -0
  49. package/esm/development/provision/sub-container-provider.js +69 -0
  50. package/esm/development/provision/sub-container-provider.js.map +1 -0
  51. package/esm/development/provision/use-container-provision-state.js +76 -0
  52. package/esm/development/provision/use-container-provision-state.js.map +1 -0
  53. package/esm/development/queries/use-optional-query-caller.js +16 -4
  54. package/esm/development/queries/use-optional-query-caller.js.map +1 -1
  55. package/esm/development/queries/use-optional-sync-query-caller.js +14 -3
  56. package/esm/development/queries/use-optional-sync-query-caller.js.map +1 -1
  57. package/esm/development/queries/use-query-caller.js +15 -3
  58. package/esm/development/queries/use-query-caller.js.map +1 -1
  59. package/esm/development/queries/use-query-handler.js +21 -5
  60. package/esm/development/queries/use-query-handler.js.map +1 -1
  61. package/esm/development/queries/use-sync-query-caller.js +15 -3
  62. package/esm/development/queries/use-sync-query-caller.js.map +1 -1
  63. package/esm/development/test-utils/with-container-provider.js +35 -0
  64. package/esm/development/test-utils/with-container-provider.js.map +1 -0
  65. package/esm/development/test-utils.js +1 -1
  66. package/esm/development/utils/shallow-equal-arrays.js +28 -0
  67. package/esm/development/utils/shallow-equal-arrays.js.map +1 -0
  68. package/esm/production/commands/use-command-caller.js +1 -1
  69. package/esm/production/commands/use-command-caller.js.map +1 -1
  70. package/esm/production/commands/use-command-handler.js +1 -1
  71. package/esm/production/commands/use-command-handler.js.map +1 -1
  72. package/esm/production/commands/use-optional-command-caller.js +1 -1
  73. package/esm/production/commands/use-optional-command-caller.js.map +1 -1
  74. package/esm/production/context/container-context.js +1 -0
  75. package/esm/production/context/container-context.js.map +1 -0
  76. package/esm/production/context/use-container.js +1 -0
  77. package/esm/production/context/use-container.js.map +1 -0
  78. package/esm/production/context/use-root-container.js +1 -0
  79. package/esm/production/context/use-root-container.js.map +1 -0
  80. package/esm/production/context/use-scope.js +1 -0
  81. package/esm/production/context/use-scope.js.map +1 -0
  82. package/esm/production/error/error-code.js +1 -1
  83. package/esm/production/error/error-code.js.map +1 -1
  84. package/esm/production/events/use-event-emitter.js +1 -1
  85. package/esm/production/events/use-event-emitter.js.map +1 -1
  86. package/esm/production/events/use-event.js +1 -1
  87. package/esm/production/events/use-event.js.map +1 -1
  88. package/esm/production/events/use-events-handler.js +1 -1
  89. package/esm/production/events/use-events-handler.js.map +1 -1
  90. package/esm/production/events/use-events.js +1 -1
  91. package/esm/production/events/use-events.js.map +1 -1
  92. package/esm/production/index.js +1 -1
  93. package/esm/production/injection/use-injection.js +1 -0
  94. package/esm/production/injection/use-injection.js.map +1 -0
  95. package/esm/production/injection/use-optional-injection.js +1 -0
  96. package/esm/production/injection/use-optional-injection.js.map +1 -0
  97. package/esm/production/provision/container-activator.js +1 -0
  98. package/esm/production/provision/container-activator.js.map +1 -0
  99. package/esm/production/provision/container-provider.js +1 -0
  100. package/esm/production/provision/container-provider.js.map +1 -0
  101. package/esm/production/provision/sub-container-provider.js +1 -0
  102. package/esm/production/provision/sub-container-provider.js.map +1 -0
  103. package/esm/production/provision/use-container-provision-state.js +1 -0
  104. package/esm/production/provision/use-container-provision-state.js.map +1 -0
  105. package/esm/production/queries/use-optional-query-caller.js +1 -1
  106. package/esm/production/queries/use-optional-query-caller.js.map +1 -1
  107. package/esm/production/queries/use-optional-sync-query-caller.js +1 -1
  108. package/esm/production/queries/use-optional-sync-query-caller.js.map +1 -1
  109. package/esm/production/queries/use-query-caller.js +1 -1
  110. package/esm/production/queries/use-query-caller.js.map +1 -1
  111. package/esm/production/queries/use-query-handler.js +1 -1
  112. package/esm/production/queries/use-query-handler.js.map +1 -1
  113. package/esm/production/queries/use-sync-query-caller.js +1 -1
  114. package/esm/production/queries/use-sync-query-caller.js.map +1 -1
  115. package/esm/production/test-utils/with-container-provider.js +1 -0
  116. package/esm/production/test-utils/with-container-provider.js.map +1 -0
  117. package/esm/production/test-utils.js +1 -1
  118. package/esm/production/utils/shallow-equal-arrays.js +1 -0
  119. package/esm/production/utils/shallow-equal-arrays.js.map +1 -0
  120. package/index.d.ts +554 -137
  121. package/package.json +1 -1
  122. package/test-utils.d.ts +19 -8
  123. package/esm/development/provision/create-injectables-provider.js +0 -101
  124. package/esm/development/provision/create-injectables-provider.js.map +0 -1
  125. package/esm/development/provision/ioc-context.js +0 -11
  126. package/esm/development/provision/ioc-context.js.map +0 -1
  127. package/esm/development/provision/ioc-provider.js +0 -50
  128. package/esm/development/provision/ioc-provider.js.map +0 -1
  129. package/esm/development/provision/use-container-revision.js +0 -13
  130. package/esm/development/provision/use-container-revision.js.map +0 -1
  131. package/esm/development/provision/use-container.js +0 -13
  132. package/esm/development/provision/use-container.js.map +0 -1
  133. package/esm/development/provision/use-injection.js +0 -22
  134. package/esm/development/provision/use-injection.js.map +0 -1
  135. package/esm/development/provision/use-ioc-context.js +0 -21
  136. package/esm/development/provision/use-ioc-context.js.map +0 -1
  137. package/esm/development/provision/use-optional-injection.js +0 -29
  138. package/esm/development/provision/use-optional-injection.js.map +0 -1
  139. package/esm/development/test-utils/with-ioc-provider.js +0 -24
  140. package/esm/development/test-utils/with-ioc-provider.js.map +0 -1
  141. package/esm/production/provision/create-injectables-provider.js +0 -1
  142. package/esm/production/provision/create-injectables-provider.js.map +0 -1
  143. package/esm/production/provision/ioc-context.js +0 -1
  144. package/esm/production/provision/ioc-context.js.map +0 -1
  145. package/esm/production/provision/ioc-provider.js +0 -1
  146. package/esm/production/provision/ioc-provider.js.map +0 -1
  147. package/esm/production/provision/use-container-revision.js +0 -1
  148. package/esm/production/provision/use-container-revision.js.map +0 -1
  149. package/esm/production/provision/use-container.js +0 -1
  150. package/esm/production/provision/use-container.js.map +0 -1
  151. package/esm/production/provision/use-injection.js +0 -1
  152. package/esm/production/provision/use-injection.js.map +0 -1
  153. package/esm/production/provision/use-ioc-context.js +0 -1
  154. package/esm/production/provision/use-ioc-context.js.map +0 -1
  155. package/esm/production/provision/use-optional-injection.js +0 -1
  156. package/esm/production/provision/use-optional-injection.js.map +0 -1
  157. package/esm/production/test-utils/with-ioc-provider.js +0 -1
  158. 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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"}
@@ -3,62 +3,184 @@
3
3
  var core = require('@wirestate/core');
4
4
  var react = require('react');
5
5
 
6
- var ERROR_CODE_VALIDATION_ERROR = 1050;
7
- var ERROR_CODE_INVALID_CONTEXT = 1052;
8
- var ERROR_CODE_FAILED_TO_RESOLVE_QUERY_HANDLER = 1101;
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
- * React context carrying the IoC container.
12
- * Internal. Use hooks to access services.
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
- var IocReactContext = react.createContext(null);
15
- IocReactContext.displayName = "IocContext";
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 an IoC container to the component tree.
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 props - component props
21
- * @param props.container - external container instance
22
- * @param props.seed - shared seed across the container
23
- * @param props.children - components to wrap
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 IocProvider(_a) {
27
- var externalContainer = _a.container,
28
- seed = _a.seed,
29
- children = _a.children;
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
- // Context value is stable unless the container or revision changes.
43
- var value = react.useMemo(function () {
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
- revision: revision,
47
- setRevision: setRevision
177
+ owned: true
48
178
  };
49
- }, [container, revision]);
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.ERROR_CODE_INVALID_CONTEXT = ERROR_CODE_INVALID_CONTEXT;
61
- exports.ERROR_CODE_VALIDATION_ERROR = ERROR_CODE_VALIDATION_ERROR;
62
- exports.IocProvider = IocProvider;
63
- exports.IocReactContext = IocReactContext;
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/error/error-code.ts","../../../../../../../src/wirestate-react/provision/ioc-context.ts","../../../../../../../src/wirestate-react/provision/ioc-provider.ts"],"sourcesContent":[null,null,null],"names":["ERROR_CODE_VALIDATION_ERROR","ERROR_CODE_INVALID_CONTEXT","ERROR_CODE_FAILED_TO_RESOLVE_QUERY_HANDLER","IocReactContext","createContext","displayName","IocProvider","_a","externalContainer","seed","children","_b","useState","revision","setRevision","ownedContainer","createIocContainer","container","WirestateError","value","useMemo","useEffect","applySharedSeed","createElement","Provider"],"mappings":";;;;;AAAO,IAAMA,2BAA2B,GAAW;AAC5C,IAAMC,0BAA0B,GAAW;AAE3C,IAAMC,0CAA0C,GAAW,IAAI;;ACoBtE;;;AAGG;IACUC,eAAe,GAAkCC,mBAAa,CAAuB,IAAI;AAEtGD,eAAe,CAACE,WAAW,GAAG,YAAY;;ACR1C;;;;;;;;AAQG;AACG,SAAUC,WAAWA,CAACC,EAAkE,EAAA;AAArD,EAAA,IAAAC,iBAAiB,eAAA;IAAEC,IAAI,GAAAF,EAAA,CAAAE,IAAA;IAAEC,QAAQ,GAAAH,EAAA,CAAAG,QAAA;AACxE;AACM,EAAA,IAAAC,EAAA,GAA0BC,cAAQ,CAAS,CAAC,CAAC;AAA5CC,IAAAA,QAAQ,GAAAF,EAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,WAAW,GAAAH,EAAA,CAAA,CAAA,CAAuB;AACnD;AACO,EAAA,IAAAI,cAAc,GAAIH,cAAQ,CAAmB;AAAM,IAAA,OAACJ,iBAAiB,GAAG,IAAI,GAAGQ,uBAAkB,EAAE;EAAhD,CAAiD,CAAC,CAAA,CAAA,CAAvF;AAErB,EAAA,IAAMC,SAAS,GAAGT,iBAAiB,KAAA,IAAA,IAAjBA,iBAAiB,KAAA,MAAA,GAAjBA,iBAAiB,GAAIO,cAAc;EAErD,IAAI,CAACE,SAAS,EAAE;AACd,IAAA,MAAM,IAAIC,mBAAc,CACtBhB,0CAA0C,EAC1C,qDAAqD,CACtD;AACH,EAAA;AAEA;AACA,EAAA,IAAMiB,KAAK,GAAeC,aAAO,CAAa,YAAA;IAAM,OAAC;AAAEH,MAAAA,SAAS,EAAAA,SAAA;AAAEJ,MAAAA,QAAQ,EAAAA,QAAA;AAAEC,MAAAA,WAAW,EAAAA;KAAE;AAArC,EAAA,CAAsC,EAAE,CAACG,SAAS,EAAEJ,QAAQ,CAAC,CAAC;AAElHQ,EAAAA,eAAS,CAAC,YAAA;AACR,IAAA,IAAIZ,IAAI,EAAE;AACRa,MAAAA,oBAAe,CAACL,SAAS,EAAER,IAAI,CAAC;AAClC,IAAA;AACF,EAAA,CAAC,EAAE,CAACQ,SAAS,CAAC,CAAC;AAEf,EAAA,OAAOM,mBAAa,CAACpB,eAAe,CAACqB,QAAQ,EAAE;AAAEL,IAAAA,KAAK,EAAAA;GAAE,EAAET,QAAQ,CAAC;AACrE;;;;;;;"}
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 iocProvider = require('./lib.js');
5
+ var containerProvider = require('./lib.js');
6
6
  require('@wirestate/core');
7
7
 
8
8
  /**
9
- * Wraps a component with IocProvider for testing.
9
+ * Wraps a React element tree with {@link ContainerProvider} for testing purposes.
10
10
  *
11
- * @param children - components to wrap
12
- * @param container - optional custom container
13
- * @param seed - optional shared seed object
14
- * @returns wrapped components
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 withIocProvider(children, container, seed) {
28
+ function withContainerProvider(children, container) {
17
29
  if (container === void 0) {
18
30
  container = testUtils.mockContainer();
19
31
  }
20
- return react.createElement(iocProvider.IocProvider, {
21
- container: container,
22
- seed: seed
32
+ return react.createElement(containerProvider.ContainerProvider, {
33
+ container: container
23
34
  }, children);
24
35
  }
25
36
 
26
- exports.withIocProvider = withIocProvider;
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-ioc-provider.ts"],"sourcesContent":[null],"names":["withIocProvider","children","container","seed","mockContainer","createElement","IocProvider"],"mappings":";;;;;;;AAMA;;;;;;;AAOG;SACaA,eAAeA,CAC7BC,QAAmB,EACnBC,SAAsC,EACtCC,IAA8B,EAAA;AAD9B,EAAA,IAAAD,SAAA,KAAA,MAAA,EAAA;IAAAA,SAAA,GAAuBE,uBAAa,EAAE;AAAA,EAAA;EAGtC,OAAOC,mBAAa,CAACC,uBAAW,EAAE;AAAEJ,IAAAA,SAAS,EAAAA,SAAA;AAAEC,IAAAA,IAAI,EAAAA;GAAE,EAAEF,QAAQ,CAAC;AAClE;;;;"}
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;;;;"}
@@ -1 +1 @@
1
- "use strict";var e=require("@wirestate/core"),n=require("react"),r=require("./lib.js");function t(){var t=n.useContext(r.I);if(!t)throw new e.WirestateError(r.E,"Trying to access IOC context from React subtree not wrapped in <IocProvider>.");return t}function u(){return t().container}exports.IocProvider=r.b,exports.createInjectablesProvider=function(t,u){void 0===u&&(u={});var o=u.activate;if(o&&o.length>0)for(var i=t.map(e.getEntryToken),s=0,c=o;s<c.length;s++){var a=c[s];if(!i.includes(a))throw new e.WirestateError(r.a,"createInjectablesProvider: '".concat(String(a),"' is listed in 'activate' but was not provided in 'entries'."))}function f(u){var i=n.useContext(r.I);if(!i)throw new e.WirestateError(r.E,"<InjectablesProvider> must be rendered inside an <IocProvider> React subtree.");var s=n.useState((function(){return u}))[0];return n.useMemo((function(){s.seeds&&e.applySeeds(i.container,s.seeds);for(var n=0,r=t;n<r.length;n++){var u=r[n];i.container.isBound(e.getEntryToken(u))||e.bindEntry(i.container,u)}if(o)for(var c=0,a=o;c<a.length;c++){var f=a[c];i.container.get(f)}}),t),n.useEffect((function(){var n=!1;s.seeds&&e.applySeeds(i.container,s.seeds);for(var r=0,u=t;r<u.length;r++){var c=u[r];i.container.isBound(e.getEntryToken(c))||(n=!0,e.bindEntry(i.container,c))}if(o)for(var a=0,f=o;a<f.length;a++){var l=f[a];i.container.get(l)}return n&&i.setRevision((function(e){return e+1})),function(){for(var n=0,r=t;n<r.length;n++){var u=r[n],o=e.getEntryToken(u);i.container.isBound(o)&&i.container.unbind(o)}s.seeds&&e.unapplySeeds(i.container,s.seeds)}}),t),u.children}return f.displayName="InjectablesProvider",f},exports.useCommandCaller=function(){var r=u();return n.useCallback((function(n,t){return r.get(e.CommandBus).command(n,t)}),[r])},exports.useCommandHandler=function(r,t){var o=u(),i=n.useRef(t);n.useEffect((function(){i.current=t})),n.useEffect((function(){return o.get(e.CommandBus).register(r,(function(e){return i.current(e)}))}),[o,r])},exports.useContainer=u,exports.useContainerRevision=function(){return t().revision},exports.useEvent=function(r,t){var o=n.useRef(r),i=n.useRef(t),s=u();n.useEffect((function(){o.current=r,i.current=t})),n.useEffect((function(){return s.get(e.EventBus).subscribe((function(e){var n;e.type===o.current&&(null===(n=i.current)||void 0===n||n.call(i,e))}))}),[s,r])},exports.useEventEmitter=function(){var r=t().container;return n.useCallback((function(n,t,u){r.get(e.EventBus).emit({type:n,payload:t,from:u})}),[r])},exports.useEvents=function(r,t){var o=n.useRef(r),i=n.useRef(t),s=u();n.useEffect((function(){o.current=r,i.current=t})),n.useEffect((function(){return s.get(e.EventBus).subscribe((function(e){var n;o.current.includes(e.type)&&(null===(n=i.current)||void 0===n||n.call(i,e))}))}),[s])},exports.useEventsHandler=function(r){var t=n.useRef(r),o=u();n.useEffect((function(){t.current=r})),n.useEffect((function(){return o.get(e.EventBus).subscribe((function(e){var n;null===(n=t.current)||void 0===n||n.call(t,e)}))}),[o])},exports.useInjection=function(e){var r=t(),u=r.container,o=r.revision;return n.useMemo((function(){return u.get(e)}),[u,o,e])},exports.useOptionalCommandCaller=function(){var r=u();return n.useCallback((function(n,t){return r.get(e.CommandBus).commandOptional(n,t)}),[r])},exports.useOptionalInjection=function(e,r){var u=t(),o=u.container,i=u.revision;return n.useMemo((function(){return o.isBound(e)?o.get(e):r?r(o):null}),[o,i,e])},exports.useOptionalQueryCaller=function(){var r=u();return n.useCallback((function(n,t){return r.get(e.QueryBus).queryOptional(n,t)}),[r])},exports.useOptionalSyncQueryCaller=function(){var r=u();return n.useCallback((function(n,t){return r.get(e.QueryBus).queryOptional(n,t)}),[r])},exports.useQueryCaller=function(){var r=u();return n.useCallback((function(n,t){return r.get(e.QueryBus).query(n,t)}),[r])},exports.useQueryHandler=function(r,t){var o=u(),i=n.useRef(t);n.useEffect((function(){i.current=t})),n.useEffect((function(){return o.get(e.QueryBus).register(r,(function(e){return i.current(e)}))}),[o,r])},exports.useSyncQueryCaller=function(){var r=u();return n.useCallback((function(n,t){return r.get(e.QueryBus).query(n,t)}),[r])};//# sourceMappingURL=index.js.map
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/provision/use-ioc-context.ts","../../../../../../../src/wirestate-react/provision/use-container.ts","../../../../../../../src/wirestate-react/events/use-event-emitter.ts","../../../../../../../src/wirestate-react/provision/create-injectables-provider.ts","../../../../../../../src/wirestate-react/commands/use-command-caller.ts","../../../../../../../src/wirestate-react/commands/use-command-handler.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/provision/use-injection.ts","../../../../../../../src/wirestate-react/commands/use-optional-command-caller.ts","../../../../../../../src/wirestate-react/provision/use-optional-injection.ts","../../../../../../../src/wirestate-react/queries/use-optional-query-caller.ts","../../../../../../../src/wirestate-react/queries/use-optional-sync-query-caller.ts","../../../../../../../src/wirestate-react/queries/use-query-caller.ts","../../../../../../../src/wirestate-react/queries/use-query-handler.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],"names":["core","require","react","iocProvider","useIocContext","value","useContext","IocReactContext","WirestateError","ERROR_CODE_INVALID_CONTEXT","useContainer","container","exports","IocProvider","b","createInjectablesProvider","entries","options","activate","length","entryTokens","map","getEntryToken","_i","activate_1","eager","includes","ERROR_CODE_VALIDATION_ERROR","concat","String","InjectablesProviderComponent","props","iocContext","initialPropsSnapshot","useState","useMemo","seeds","applySeeds","entries_1","entry","isBound","bindEntry","_a","activate_2","get","useEffect","didRebind","entries_2","activate_3","setRevision","r","entries_3","token","unbind","unapplySeeds","children","displayName","useCommandCaller","useCallback","type","data","CommandBus","command","useCommandHandler","handler","handlerRef","useRef","current","register","useContainerRevision","revision","useEvent","typeRef","EventBus","subscribe","event","call","useEventEmitter","payload","from","emit","useEvents","types","typesRef","useEventsHandler","useInjection","injectionId","useOptionalCommandCaller","commandOptional","useOptionalInjection","onFallback","useOptionalQueryCaller","QueryBus","queryOptional","useOptionalSyncQueryCaller","useQueryCaller","query","useQueryHandler","useSyncQueryCaller"],"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/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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"}
@@ -1 +1 @@
1
- "use strict";var e=require("@wirestate/core"),r=require("react"),t=r.createContext(null);t.displayName="IocContext",exports.E=1052,exports.I=t,exports.a=1050,exports.b=function(n){var o=n.container,a=n.seed,i=n.children,c=r.useState(1),s=c[0],u=c[1],l=r.useState((function(){return o?null:e.createIocContainer()}))[0],v=null!=o?o:l;if(!v)throw new e.WirestateError(1101,"IocProvider failed to resolve a container instance.");var d=r.useMemo((function(){return{container:v,revision:s,setRevision:u}}),[v,s]);return r.useEffect((function(){a&&e.applySharedSeed(v,a)}),[v]),r.createElement(t.Provider,{value:d},i)};//# sourceMappingURL=lib.js.map
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/error/error-code.ts","../../../../../../../src/wirestate-react/provision/ioc-context.ts","../../../../../../../src/wirestate-react/provision/ioc-provider.ts"],"sourcesContent":[null,null,null],"names":["core","require","react","IocReactContext","createContext","displayName","exports","E","I","a","b","_a","externalContainer","seed","children","_b","useState","revision","setRevision","ownedContainer","createIocContainer","container","WirestateError","value","useMemo","useEffect","applySharedSeed","createElement","Provider"],"mappings":"AAAO,aAAA,IAAAA,EAAAC,QAAA,mBAAAC,EAAAD,QAAA,SC2BME,EAAiDC,EAAAA,cAAoC,MAElGD,EAAgBE,YAAc,aC0B9BC,QAAAC,EFtDkD,KEsDlDD,QAAAE,EAAAL,EAAAG,QAAAG,EFvDmD,KEuDnDH,QAAAI,EAzBM,SAAsBC,GAAa,IAAAC,cAAmBC,EAAIF,EAAAE,KAAEC,EAAQH,EAAAG,SAElEC,EAA0BC,EAAAA,SAAiB,GAA1CC,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAErBI,EAAkBH,EAAAA,UAA2B,WAAM,OAACJ,EAAoB,KAAOQ,sBAA5B,IAAkD,GAEtGC,EAAYT,QAAAA,EAAqBO,EAEvC,IAAKE,EACH,MAAM,IAAIC,EAAAA,eFpCoD,KEsC5D,uDAKJ,IAAMC,EAAoBC,EAAAA,SAAoB,WAAM,MAAC,CAAEH,UAASA,EAAEJ,SAAQA,EAAEC,YAAWA,EAAnC,GAAwC,CAACG,EAAWJ,IAQxG,OANAQ,EAAAA,WAAU,WACJZ,GACFa,EAAAA,gBAAgBL,EAAWR,EAE/B,GAAG,CAACQ,IAEGM,EAAAA,cAAcxB,EAAgByB,SAAU,CAAEL,MAAKA,GAAIT,EAC5D"}
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.withIocProvider=function(i,o,c){return void 0===o&&(o=e.mockContainer()),r.createElement(t.b,{container:o,seed:c},i)};//# sourceMappingURL=test-utils.js.map
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-ioc-provider.ts"],"sourcesContent":[null],"names":["testUtils","require","react","iocProvider","exports","withIocProvider","children","container","seed","mockContainer","createElement","IocProvider"],"mappings":"AAMA,aAAA,IAAAA,EAAAC,QAAA,8BAAAC,EAAAD,QAAA,SAAAE,EAAAF,QAAA,YAAAA,QAAA,mBAcAG,QAAAC,yBALEC,EACAC,EACAC,GAEA,YAHA,IAAAD,IAAAA,EAAuBE,EAAAA,iBAGhBC,EAAAA,cAAcC,EAAAA,EAAa,CAAEJ,UAASA,EAAEC,KAAIA,GAAIF,EACzD"}
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 '../provision/use-container.js';
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
- * @returns command dispatcher
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":";;;;AAQA;;;;AAIG;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
+ {"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 '../provision/use-container.js';
3
+ import { useContainer } from '../context/use-container.js';
4
4
 
5
5
  /**
6
6
  * Registers a command handler for the component's lifetime.
7
- * The handler is stored in a ref to avoid manual memoization.
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
- * @param type - command type
11
- * @param handler - command handler function
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;;;;;;;AAOG;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;;;;"}
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;;;;"}