@wirestate/react 0.6.2 → 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 +25 -1
  2. package/README.md +185 -221
  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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wirestate/react",
3
- "version": "0.6.2",
3
+ "version": "0.7.0-experimental.1",
4
4
  "description": "React alias and adapters for wirestate",
5
5
  "sideEffects": false,
6
6
  "author": "Syrotenko Igor",
package/test-utils.d.ts CHANGED
@@ -3,16 +3,27 @@ import { ReactNode } from 'react';
3
3
  import { Container } from '@wirestate/core';
4
4
 
5
5
  /**
6
- * Wraps a component with IocProvider for testing.
6
+ * Wraps a React element tree with {@link ContainerProvider} for testing purposes.
7
7
  *
8
- * @param children - components to wrap
9
- * @param container - optional custom container
10
- * @param seed - optional shared seed object
11
- * @returns wrapped components
8
+ * @remarks
9
+ * This utility simplifies setting up the IoC context in unit tests. It automatically
10
+ * creates a {@link mockContainer} if none is provided.
11
+ *
12
+ * @group Test-utils
13
+ *
14
+ * @param children - The React tree to be wrapped.
15
+ * @param container - An optional Inversify container. Defaults to a new {@link mockContainer}.
16
+ * @returns A React element wrapped in an {@link ContainerProvider}.
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ * const container: Container = createIocContainer();
21
+ *
22
+ * render(withIocProvider(<MyComponent />, container));
23
+ * ```
12
24
  */
13
- declare function withIocProvider(children: ReactNode, container?: Container, seed?: Record<string, unknown>): react.FunctionComponentElement<{
25
+ declare function withContainerProvider(children: ReactNode, container?: Container): react.FunctionComponentElement<{
14
26
  container: Container;
15
- seed: Record<string, unknown> | undefined;
16
27
  }>;
17
28
 
18
- export { withIocProvider };
29
+ export { withContainerProvider };
@@ -1,101 +0,0 @@
1
- import { getEntryToken, WirestateError, applySeeds, bindEntry, unapplySeeds } from '@wirestate/core';
2
- import { useContext, useState, useMemo, useEffect } from 'react';
3
- import { ERROR_CODE_VALIDATION_ERROR, ERROR_CODE_INVALID_CONTEXT } from '../error/error-code.js';
4
- import { IocReactContext } from './ioc-context.js';
5
-
6
- /**
7
- * Creates a component that manages injectable lifetimes for its subtree.
8
- *
9
- * @param entries - service classes or injectable descriptors to bind
10
- * @param options - provider configuration
11
- * @returns injectables provider component
12
- */
13
- function createInjectablesProvider(entries, options) {
14
- if (options === void 0) {
15
- options = {};
16
- }
17
- var activate = options.activate;
18
- if (activate && activate.length > 0) {
19
- var entryTokens = entries.map(getEntryToken);
20
- for (var _i = 0, activate_1 = activate; _i < activate_1.length; _i++) {
21
- var eager = activate_1[_i];
22
- if (!entryTokens.includes(eager)) {
23
- throw new WirestateError(ERROR_CODE_VALIDATION_ERROR, "createInjectablesProvider: '".concat(String(eager), "' is listed in 'activate' but was not provided in 'entries'."));
24
- }
25
- }
26
- }
27
- function InjectablesProviderComponent(props) {
28
- var iocContext = useContext(IocReactContext);
29
- if (!iocContext) {
30
- throw new WirestateError(ERROR_CODE_INVALID_CONTEXT, "<InjectablesProvider> must be rendered inside an <IocProvider> React subtree.");
31
- }
32
- // Snapshot props on mount to ensure binding stability.
33
- // useState lazy initializer ensures it only runs once.
34
- var initialPropsSnapshot = useState(function () {
35
- return props;
36
- })[0];
37
- useMemo(function () {
38
- // Seed must be applied BEFORE binding so @Inject(INITIAL_STATE_TOKEN) works during activation.
39
- if (initialPropsSnapshot.seeds) {
40
- applySeeds(iocContext.container, initialPropsSnapshot.seeds);
41
- }
42
- for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {
43
- var entry = entries_1[_i];
44
- if (!iocContext.container.isBound(getEntryToken(entry))) {
45
- bindEntry(iocContext.container, entry);
46
- }
47
- }
48
- if (activate) {
49
- for (var _a = 0, activate_2 = activate; _a < activate_2.length; _a++) {
50
- var eager = activate_2[_a];
51
- iocContext.container.get(eager);
52
- }
53
- }
54
- }, entries);
55
- useEffect(function () {
56
- // Re-apply state and re-bind if container was reset (e.g. StrictMode remount or HMR).
57
- var didRebind = false;
58
- if (initialPropsSnapshot.seeds) {
59
- applySeeds(iocContext.container, initialPropsSnapshot.seeds);
60
- }
61
- for (var _i = 0, entries_2 = entries; _i < entries_2.length; _i++) {
62
- var entry = entries_2[_i];
63
- if (!iocContext.container.isBound(getEntryToken(entry))) {
64
- didRebind = true;
65
- bindEntry(iocContext.container, entry);
66
- }
67
- }
68
- if (activate) {
69
- for (var _a = 0, activate_3 = activate; _a < activate_3.length; _a++) {
70
- var eager = activate_3[_a];
71
- iocContext.container.get(eager);
72
- }
73
- }
74
- // Increment revision to invalidate stale injection caches.
75
- if (didRebind) {
76
- iocContext.setRevision(function (r) {
77
- return r + 1;
78
- });
79
- }
80
- return function () {
81
- for (var _i = 0, entries_3 = entries; _i < entries_3.length; _i++) {
82
- var entry = entries_3[_i];
83
- var token = getEntryToken(entry);
84
- if (iocContext.container.isBound(token)) {
85
- iocContext.container.unbind(token);
86
- }
87
- }
88
- // Remove only this provider's targeted initial state entries.
89
- if (initialPropsSnapshot.seeds) {
90
- unapplySeeds(iocContext.container, initialPropsSnapshot.seeds);
91
- }
92
- };
93
- }, entries);
94
- return props.children;
95
- }
96
- InjectablesProviderComponent.displayName = "InjectablesProvider";
97
- return InjectablesProviderComponent;
98
- }
99
-
100
- export { createInjectablesProvider };
101
- //# sourceMappingURL=create-injectables-provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-injectables-provider.js","sources":["../../../../../../../../src/wirestate-react/provision/create-injectables-provider.ts"],"sourcesContent":[null],"names":["createInjectablesProvider","entries","options","activate","length","entryTokens","map","getEntryToken","_i","activate_1","eager","includes","WirestateError","ERROR_CODE_VALIDATION_ERROR","concat","String","InjectablesProviderComponent","props","iocContext","useContext","IocReactContext","ERROR_CODE_INVALID_CONTEXT","initialPropsSnapshot","useState","useMemo","seeds","applySeeds","container","entries_1","entry","isBound","bindEntry","_a","activate_2","get","useEffect","didRebind","entries_2","activate_3","setRevision","r","entries_3","token","unbind","unapplySeeds","children","displayName"],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import { createContext } from 'react';
2
-
3
- /**
4
- * React context carrying the IoC container.
5
- * Internal. Use hooks to access services.
6
- */
7
- var IocReactContext = createContext(null);
8
- IocReactContext.displayName = "IocContext";
9
-
10
- export { IocReactContext };
11
- //# sourceMappingURL=ioc-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ioc-context.js","sources":["../../../../../../../../src/wirestate-react/provision/ioc-context.ts"],"sourcesContent":[null],"names":["IocReactContext","createContext","displayName"],"mappings":";;AAuBA;;;AAGG;IACUA,eAAe,GAAkCC,aAAa,CAAuB,IAAI;AAEtGD,eAAe,CAACE,WAAW,GAAG,YAAY;;;;"}
@@ -1,50 +0,0 @@
1
- import { createIocContainer, WirestateError, applySharedSeed } from '@wirestate/core';
2
- import { useState, useMemo, useEffect, createElement } from 'react';
3
- import { ERROR_CODE_FAILED_TO_RESOLVE_QUERY_HANDLER } from '../error/error-code.js';
4
- import { IocReactContext } from './ioc-context.js';
5
-
6
- /**
7
- * Provides an IoC container to the component tree.
8
- *
9
- * @param props - component props
10
- * @param props.container - external container instance
11
- * @param props.seed - shared seed across the container
12
- * @param props.children - components to wrap
13
- * @returns provider element
14
- */
15
- function IocProvider(_a) {
16
- var externalContainer = _a.container,
17
- seed = _a.seed,
18
- children = _a.children;
19
- // Incremented on binding changes to invalidate descendant caches (e.g., useInjection).
20
- var _b = useState(1),
21
- revision = _b[0],
22
- setRevision = _b[1];
23
- // Lazy initialize owned container if no external container is provided.
24
- var ownedContainer = useState(function () {
25
- return externalContainer ? null : createIocContainer();
26
- })[0];
27
- var container = externalContainer !== null && externalContainer !== void 0 ? externalContainer : ownedContainer;
28
- if (!container) {
29
- throw new WirestateError(ERROR_CODE_FAILED_TO_RESOLVE_QUERY_HANDLER, "IocProvider failed to resolve a container instance.");
30
- }
31
- // Context value is stable unless the container or revision changes.
32
- var value = useMemo(function () {
33
- return {
34
- container: container,
35
- revision: revision,
36
- setRevision: setRevision
37
- };
38
- }, [container, revision]);
39
- useEffect(function () {
40
- if (seed) {
41
- applySharedSeed(container, seed);
42
- }
43
- }, [container]);
44
- return createElement(IocReactContext.Provider, {
45
- value: value
46
- }, children);
47
- }
48
-
49
- export { IocProvider };
50
- //# sourceMappingURL=ioc-provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ioc-provider.js","sources":["../../../../../../../../src/wirestate-react/provision/ioc-provider.ts"],"sourcesContent":[null],"names":["IocProvider","_a","externalContainer","seed","children","_b","useState","revision","setRevision","ownedContainer","createIocContainer","container","WirestateError","ERROR_CODE_FAILED_TO_RESOLVE_QUERY_HANDLER","value","useMemo","useEffect","applySharedSeed","createElement","IocReactContext","Provider"],"mappings":";;;;;AAqBA;;;;;;;;AAQG;AACG,SAAUA,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,QAAQ,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,QAAQ,CAAmB;AAAM,IAAA,OAACJ,iBAAiB,GAAG,IAAI,GAAGQ,kBAAkB,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,cAAc,CACtBC,0CAA0C,EAC1C,qDAAqD,CACtD;AACH,EAAA;AAEA;AACA,EAAA,IAAMC,KAAK,GAAeC,OAAO,CAAa,YAAA;IAAM,OAAC;AAAEJ,MAAAA,SAAS,EAAAA,SAAA;AAAEJ,MAAAA,QAAQ,EAAAA,QAAA;AAAEC,MAAAA,WAAW,EAAAA;KAAE;AAArC,EAAA,CAAsC,EAAE,CAACG,SAAS,EAAEJ,QAAQ,CAAC,CAAC;AAElHS,EAAAA,SAAS,CAAC,YAAA;AACR,IAAA,IAAIb,IAAI,EAAE;AACRc,MAAAA,eAAe,CAACN,SAAS,EAAER,IAAI,CAAC;AAClC,IAAA;AACF,EAAA,CAAC,EAAE,CAACQ,SAAS,CAAC,CAAC;AAEf,EAAA,OAAOO,aAAa,CAACC,eAAe,CAACC,QAAQ,EAAE;AAAEN,IAAAA,KAAK,EAAAA;GAAE,EAAEV,QAAQ,CAAC;AACrE;;;;"}
@@ -1,13 +0,0 @@
1
- import { useIocContext } from './use-ioc-context.js';
2
-
3
- /**
4
- * Returns the current container revision.
5
- *
6
- * @returns revision number
7
- */
8
- function useContainerRevision() {
9
- return useIocContext().revision;
10
- }
11
-
12
- export { useContainerRevision };
13
- //# sourceMappingURL=use-container-revision.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-container-revision.js","sources":["../../../../../../../../src/wirestate-react/provision/use-container-revision.ts"],"sourcesContent":[null],"names":["useContainerRevision","useIocContext","revision"],"mappings":";;AAEA;;;;AAIG;SACaA,oBAAoBA,GAAA;AAClC,EAAA,OAAOC,aAAa,EAAE,CAACC,QAAQ;AACjC;;;;"}
@@ -1,13 +0,0 @@
1
- import { useIocContext } from './use-ioc-context.js';
2
-
3
- /**
4
- * Returns the active IoC container.
5
- *
6
- * @returns active Inversify container
7
- */
8
- function useContainer() {
9
- return useIocContext().container;
10
- }
11
-
12
- export { useContainer };
13
- //# sourceMappingURL=use-container.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-container.js","sources":["../../../../../../../../src/wirestate-react/provision/use-container.ts"],"sourcesContent":[null],"names":["useContainer","useIocContext","container"],"mappings":";;AAIA;;;;AAIG;SACaA,YAAYA,GAAA;AAC1B,EAAA,OAAOC,aAAa,EAAE,CAACC,SAAS;AAClC;;;;"}
@@ -1,22 +0,0 @@
1
- import { useMemo } from 'react';
2
- import { useIocContext } from './use-ioc-context.js';
3
-
4
- /**
5
- * Resolves a value from the container - constant or service.
6
- * Automatically re-resolves if the container is reset or services are rebound.
7
- *
8
- * @param injectionId - injection identifier
9
- * @returns resolved value
10
- */
11
- function useInjection(injectionId) {
12
- var _a = useIocContext(),
13
- container = _a.container,
14
- revision = _a.revision;
15
- // Revision bump causes a container reset; force re-resolution to drop stale instances.
16
- return useMemo(function () {
17
- return container.get(injectionId);
18
- }, [container, revision, injectionId]);
19
- }
20
-
21
- export { useInjection };
22
- //# sourceMappingURL=use-injection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-injection.js","sources":["../../../../../../../../src/wirestate-react/provision/use-injection.ts"],"sourcesContent":[null],"names":["useInjection","injectionId","_a","useIocContext","container","revision","useMemo","get"],"mappings":";;;AAUA;;;;;;AAMG;AACG,SAAUA,YAAYA,CAAIC,WAAiC,EAAA;AACzD,EAAA,IAAAC,EAAA,GAA0BC,aAAa,EAAE;IAAvCC,SAAS,GAAAF,EAAA,CAAAE,SAAA;IAAEC,QAAQ,GAAAH,EAAA,CAAAG,QAAoB;AAE/C;EACA,OAAOC,OAAO,CAAC,YAAA;AAQb,IAAA,OAAOF,SAAS,CAACG,GAAG,CAAIN,WAAW,CAAC;EACtC,CAAC,EAAE,CAACG,SAAS,EAAEC,QAAQ,EAAEJ,WAAW,CAAC,CAAC;AACxC;;;;"}
@@ -1,21 +0,0 @@
1
- import { WirestateError } from '@wirestate/core';
2
- import { useContext } from 'react';
3
- import { ERROR_CODE_INVALID_CONTEXT } from '../error/error-code.js';
4
- import { IocReactContext } from './ioc-context.js';
5
-
6
- /**
7
- * Returns the full IoC context.
8
- *
9
- * @returns active IoC context
10
- * @internal
11
- */
12
- function useIocContext() {
13
- var value = useContext(IocReactContext);
14
- if (!value) {
15
- throw new WirestateError(ERROR_CODE_INVALID_CONTEXT, "Trying to access IOC context from React subtree not wrapped in <IocProvider>.");
16
- }
17
- return value;
18
- }
19
-
20
- export { useIocContext };
21
- //# sourceMappingURL=use-ioc-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-ioc-context.js","sources":["../../../../../../../../src/wirestate-react/provision/use-ioc-context.ts"],"sourcesContent":[null],"names":["useIocContext","value","useContext","IocReactContext","WirestateError","ERROR_CODE_INVALID_CONTEXT"],"mappings":";;;;;AAOA;;;;;AAKG;SACaA,aAAaA,GAAA;AAC3B,EAAA,IAAMC,KAAK,GAAGC,UAAU,CAACC,eAAe,CAAC;EAEzC,IAAI,CAACF,KAAK,EAAE;AACV,IAAA,MAAM,IAAIG,cAAc,CACtBC,0BAA0B,EAC1B,+EAA+E,CAChF;AACH,EAAA;AAEA,EAAA,OAAOJ,KAAK;AACd;;;;"}
@@ -1,29 +0,0 @@
1
- import { useMemo } from 'react';
2
- import { useIocContext } from './use-ioc-context.js';
3
-
4
- /**
5
- * Resolves a value from the container if bound, returning null otherwise.
6
- * Unlike {@link useInjection}, this hook does not throw when the token is not bound.
7
- *
8
- * @param injectionId - injection identifier
9
- * @param onFallback - optional callback to handle cases when dependency was not resolved
10
- * @returns resolved value, result of optional fallback handler or null
11
- */
12
- function useOptionalInjection(injectionId, onFallback) {
13
- var _a = useIocContext(),
14
- container = _a.container,
15
- revision = _a.revision;
16
- // Revision bump forces a container reset; force re-resolution to drop stale instances.
17
- return useMemo(function () {
18
- if (container.isBound(injectionId)) {
19
- return container.get(injectionId);
20
- } else if (onFallback) {
21
- return onFallback(container);
22
- } else {
23
- return null;
24
- }
25
- }, [container, revision, injectionId]);
26
- }
27
-
28
- export { useOptionalInjection };
29
- //# sourceMappingURL=use-optional-injection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-optional-injection.js","sources":["../../../../../../../../src/wirestate-react/provision/use-optional-injection.ts"],"sourcesContent":[null],"names":["useOptionalInjection","injectionId","onFallback","_a","useIocContext","container","revision","useMemo","isBound","get"],"mappings":";;;AAUA;;;;;;;AAOG;AACG,SAAUA,oBAAoBA,CAClCC,WAAiC,EACjCC,UAAwC,EAAA;AAElC,EAAA,IAAAC,EAAA,GAA0BC,aAAa,EAAE;IAAvCC,SAAS,GAAAF,EAAA,CAAAE,SAAA;IAAEC,QAAQ,GAAAH,EAAA,CAAAG,QAAoB;AAE/C;EACA,OAAOC,OAAO,CAAC,YAAA;AACb,IAAA,IAAIF,SAAS,CAACG,OAAO,CAACP,WAAW,CAAC,EAAE;AASlC,MAAA,OAAOI,SAAS,CAACI,GAAG,CAAIR,WAAW,CAAC;IACtC,CAAC,MAAM,IAAIC,UAAU,EAAE;MASrB,OAAOA,UAAU,CAACG,SAAS,CAAC;AAC9B,IAAA,CAAC,MAAM;AASL,MAAA,OAAO,IAAI;AACb,IAAA;EACF,CAAC,EAAE,CAACA,SAAS,EAAEC,QAAQ,EAAEL,WAAW,CAAC,CAAC;AACxC;;;;"}
@@ -1,24 +0,0 @@
1
- import { mockContainer } from '@wirestate/core/test-utils';
2
- import { createElement } from 'react';
3
- import { IocProvider } from '../provision/ioc-provider.js';
4
-
5
- /**
6
- * Wraps a component with IocProvider for testing.
7
- *
8
- * @param children - components to wrap
9
- * @param container - optional custom container
10
- * @param seed - optional shared seed object
11
- * @returns wrapped components
12
- */
13
- function withIocProvider(children, container, seed) {
14
- if (container === void 0) {
15
- container = mockContainer();
16
- }
17
- return createElement(IocProvider, {
18
- container: container,
19
- seed: seed
20
- }, children);
21
- }
22
-
23
- export { withIocProvider };
24
- //# sourceMappingURL=with-ioc-provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"with-ioc-provider.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,aAAa,EAAE;AAAA,EAAA;EAGtC,OAAOC,aAAa,CAACC,WAAW,EAAE;AAAEJ,IAAAA,SAAS,EAAAA,SAAA;AAAEC,IAAAA,IAAI,EAAAA;GAAE,EAAEF,QAAQ,CAAC;AAClE;;;;"}
@@ -1 +0,0 @@
1
- import{getEntryToken as e,WirestateError as r,applySeeds as n,bindEntry as t,unapplySeeds as i}from"@wirestate/core";import{useContext as o,useState as a,useMemo as c,useEffect as s}from"react";import{ERROR_CODE_VALIDATION_ERROR as d,ERROR_CODE_INVALID_CONTEXT as v}from"../error/error-code.js";import{IocReactContext as f}from"./ioc-context.js";function u(u,l){void 0===l&&(l={});var m=l.activate;if(m&&m.length>0)for(var g=u.map(e),h=0,p=m;h<p.length;h++){var b=p[h];if(!g.includes(b))throw new r(d,"createInjectablesProvider: '".concat(String(b),"' is listed in 'activate' but was not provided in 'entries'."))}function w(d){var l=o(f);if(!l)throw new r(v,"<InjectablesProvider> must be rendered inside an <IocProvider> React subtree.");var g=a((function(){return d}))[0];return c((function(){g.seeds&&n(l.container,g.seeds);for(var r=0,i=u;r<i.length;r++){var o=i[r];l.container.isBound(e(o))||t(l.container,o)}if(m)for(var a=0,c=m;a<c.length;a++){var s=c[a];l.container.get(s)}}),u),s((function(){var r=!1;g.seeds&&n(l.container,g.seeds);for(var o=0,a=u;o<a.length;o++){var c=a[o];l.container.isBound(e(c))||(r=!0,t(l.container,c))}if(m)for(var s=0,d=m;s<d.length;s++){var v=d[s];l.container.get(v)}return r&&l.setRevision((function(e){return e+1})),function(){for(var r=0,n=u;r<n.length;r++){var t=n[r],o=e(t);l.container.isBound(o)&&l.container.unbind(o)}g.seeds&&i(l.container,g.seeds)}}),u),d.children}return w.displayName="InjectablesProvider",w}export{u as createInjectablesProvider};//# sourceMappingURL=create-injectables-provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-injectables-provider.js","sources":["../../../../../../../../src/wirestate-react/provision/create-injectables-provider.ts"],"sourcesContent":[null],"names":["getEntryToken","WirestateError","applySeeds","bindEntry","unapplySeeds","useContext","useState","useMemo","useEffect","ERROR_CODE_VALIDATION_ERROR","ERROR_CODE_INVALID_CONTEXT","IocReactContext","createInjectablesProvider","entries","options","activate","length","entryTokens","map","_i","activate_1","eager","includes","concat","String","InjectablesProviderComponent","props","iocContext","initialPropsSnapshot","seeds","container","entries_1","entry","isBound","_a","activate_2","get","didRebind","entries_2","activate_3","setRevision","r","entries_3","token","unbind","children","displayName"],"mappings":"wBAmDAA,oBAAAC,gBAAAC,eAAAC,kBAAAC,MAAA,uCAAAC,cAAAC,aAAAC,eAAAC,MAAA,8CAAAC,gCAAAC,MAAA,mDAAAC,MAAA,mBAOM,SAAUC,EACdC,EACAC,QAAA,IAAAA,IAAAA,EAAA,CAAA,GAIQ,IAAAC,EAAaD,EAAOC,SAE5B,GAAIA,GAAYA,EAASC,OAAS,EAGhC,IAFA,IAAMC,EAAgDJ,EAAQK,IAAIlB,GAE9CmB,EAAA,EAAAC,EAAAL,EAAAI,WAAAA,IAAU,CAAzB,IAAME,EAAKD,EAAAD,GACd,IAAKF,EAAYK,SAASD,GACxB,MAAM,IAAIpB,EACRQ,EACA,+BAAAc,OAA+BC,OAAOH,GAAM,gEAGlD,CAGF,SAASI,EAA6BC,GACpC,IAAMC,EAAmCtB,EAAWM,GAEpD,IAAKgB,EACH,MAAM,IAAI1B,EACRS,EACA,iFAMG,IAAAkB,EAAwBtB,GAAmC,WAAM,OAAAoB,CAAA,IAAM,GAqF9E,OAnFAnB,GAAQ,WAUFqB,EAAqBC,OACvB3B,EAAWyB,EAAWG,UAAWF,EAAqBC,OAGxD,IAAoB,IAAAV,EAAA,EAAAY,EAAAlB,EAAAM,WAAAA,IAAS,CAAxB,IAAMa,EAAKD,EAAAZ,GACTQ,EAAWG,UAAUG,QAAQjC,EAAcgC,KAC9C7B,EAAUwB,EAAWG,UAAWE,EAEpC,CAEA,GAAIjB,EACF,IAAoB,IAAAmB,EAAA,EAAAC,EAAApB,EAAAmB,WAAAA,IAAU,CAAzB,IAAMb,EAAKc,EAAAD,GACdP,EAAWG,UAAUM,IAAIf,EAC3B,CAEJ,GAAGR,GAEHL,GAAU,WAUR,IAAI6B,GAAqB,EAErBT,EAAqBC,OACvB3B,EAAWyB,EAAWG,UAAWF,EAAqBC,OAGxD,IAAoB,IAAAV,EAAA,EAAAmB,EAAAzB,EAAAM,WAAAA,IAAS,CAAxB,IAAMa,EAAKM,EAAAnB,GACTQ,EAAWG,UAAUG,QAAQjC,EAAcgC,MAC9CK,GAAY,EACZlC,EAAUwB,EAAWG,UAAWE,GAEpC,CAEA,GAAIjB,EACF,IAAoB,IAAAmB,EAAA,EAAAK,EAAAxB,EAAAmB,WAAAA,IAAU,CAAzB,IAAMb,EAAKkB,EAAAL,GACdP,EAAWG,UAAUM,IAAIf,EAC3B,CAQF,OAJIgB,GACFV,EAAWa,aAAY,SAACC,GAAM,OAAAA,EAAI,CAAJ,IAGzB,WAOL,IAAoB,IAAAtB,EAAA,EAAAuB,EAAA7B,EAAAM,WAAAA,IAAS,CAAxB,IAAMa,EAAKU,EAAAvB,GACRwB,EAA2B3C,EAAcgC,GAE3CL,EAAWG,UAAUG,QAAQU,IAC/BhB,EAAWG,UAAUc,OAAOD,EAEhC,CAGIf,EAAqBC,OACvBzB,EAAauB,EAAWG,UAAWF,EAAqBC,MAE5D,CACF,GAAGhB,GAEIa,EAAMmB,QACf,CAMA,OAJApB,EAA6BqB,YAAc,sBAIpCrB,CACT,QAAAb"}
@@ -1 +0,0 @@
1
- import{createContext as o}from"react";var r=o(null);r.displayName="IocContext";export{r as IocReactContext};//# sourceMappingURL=ioc-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ioc-context.js","sources":["../../../../../../../../src/wirestate-react/provision/ioc-context.ts"],"sourcesContent":[null],"names":["createContext","IocReactContext","displayName"],"mappings":"wBAuBAA,MAAA,YAIaC,EAAiDD,EAAoC,MAElGC,EAAgBC,YAAc,oBAAYD"}
@@ -1 +0,0 @@
1
- import{createIocContainer as r,WirestateError as o,applySharedSeed as e}from"@wirestate/core";import{useState as n,useMemo as t,useEffect as i,createElement as c}from"react";import{ERROR_CODE_FAILED_TO_RESOLVE_QUERY_HANDLER as a}from"../error/error-code.js";import{IocReactContext as f}from"./ioc-context.js";function u(u){var s=u.container,l=u.seed,m=u.children,v=n(1),d=v[0],p=v[1],w=n((function(){return s?null:r()}))[0],h=null!=s?s:w;if(!h)throw new o(a,"IocProvider failed to resolve a container instance.");var j=t((function(){return{container:h,revision:d,setRevision:p}}),[h,d]);return i((function(){l&&e(h,l)}),[h]),c(f.Provider,{value:j},m)}export{u as IocProvider};//# sourceMappingURL=ioc-provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ioc-provider.js","sources":["../../../../../../../../src/wirestate-react/provision/ioc-provider.ts"],"sourcesContent":[null],"names":["createIocContainer","WirestateError","applySharedSeed","useState","useMemo","useEffect","createElement","ERROR_CODE_FAILED_TO_RESOLVE_QUERY_HANDLER","IocReactContext","IocProvider","_a","externalContainer","seed","children","_b","revision","setRevision","ownedContainer","container","value","Provider"],"mappings":"6BAqBAA,oBAAAC,qBAAAC,MAAA,qCAAAC,aAAAC,eAAAC,mBAAAC,MAAA,6DAAAC,MAAA,mDAAAC,MAAA,mBASM,SAAUC,EAAYC,GAAa,IAAAC,cAAmBC,EAAIF,EAAAE,KAAEC,EAAQH,EAAAG,SAElEC,EAA0BX,EAAiB,GAA1CY,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GAErBG,EAAkBd,GAA2B,WAAM,OAACQ,EAAoB,KAAOX,GAA5B,IAAkD,GAEtGkB,EAAYP,QAAAA,EAAqBM,EAEvC,IAAKC,EACH,MAAM,IAAIjB,EACRM,EACA,uDAKJ,IAAMY,EAAoBf,GAAoB,WAAM,MAAC,CAAEc,UAASA,EAAEH,SAAQA,EAAEC,YAAWA,EAAnC,GAAwC,CAACE,EAAWH,IAQxG,OANAV,GAAU,WACJO,GACFV,EAAgBgB,EAAWN,EAE/B,GAAG,CAACM,IAEGZ,EAAcE,EAAgBY,SAAU,CAAED,MAAKA,GAAIN,EAC5D,QAAAJ"}
@@ -1 +0,0 @@
1
- import{useIocContext as o}from"./use-ioc-context.js";function r(){return o().revision}export{r as useContainerRevision};//# sourceMappingURL=use-container-revision.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-container-revision.js","sources":["../../../../../../../../src/wirestate-react/provision/use-container-revision.ts"],"sourcesContent":[null],"names":["useIocContext","useContainerRevision","revision"],"mappings":"wBAEAA,MAAA,gCAKgBC,IACd,OAAOD,IAAgBE,QACzB,QAAAD"}
@@ -1 +0,0 @@
1
- import{useIocContext as o}from"./use-ioc-context.js";function t(){return o().container}export{t as useContainer};//# sourceMappingURL=use-container.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-container.js","sources":["../../../../../../../../src/wirestate-react/provision/use-container.ts"],"sourcesContent":[null],"names":["useIocContext","useContainer","container"],"mappings":"wBAIAA,MAAA,gCAKgBC,IACd,OAAOD,IAAgBE,SACzB,QAAAD"}
@@ -1 +0,0 @@
1
- import{useMemo as r}from"react";import{useIocContext as t}from"./use-ioc-context.js";function o(o){var n=t(),e=n.container,i=n.revision;return r((function(){return e.get(o)}),[e,i,o])}export{o as useInjection};//# sourceMappingURL=use-injection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-injection.js","sources":["../../../../../../../../src/wirestate-react/provision/use-injection.ts"],"sourcesContent":[null],"names":["useMemo","useIocContext","useInjection","injectionId","_a","container","revision","get"],"mappings":"kBAUAA,MAAA,gCAAAC,MAAA,uBAOM,SAAUC,EAAgBC,GACxB,IAAAC,EAA0BH,IAAxBI,EAASD,EAAAC,UAAEC,EAAQF,EAAAE,SAG3B,OAAON,GAAQ,WAQb,OAAOK,EAAUE,IAAOJ,EAC1B,GAAG,CAACE,EAAWC,EAAUH,GAC3B,QAAAD"}
@@ -1 +0,0 @@
1
- import{WirestateError as r}from"@wirestate/core";import{useContext as o}from"react";import{ERROR_CODE_INVALID_CONTEXT as t}from"../error/error-code.js";import{IocReactContext as e}from"./ioc-context.js";function c(){var c=o(e);if(!c)throw new r(t,"Trying to access IOC context from React subtree not wrapped in <IocProvider>.");return c}export{c as useIocContext};//# sourceMappingURL=use-ioc-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-ioc-context.js","sources":["../../../../../../../../src/wirestate-react/provision/use-ioc-context.ts"],"sourcesContent":[null],"names":["WirestateError","useContext","ERROR_CODE_INVALID_CONTEXT","IocReactContext","useIocContext","value"],"mappings":"yBAOAA,MAAA,uCAAAC,MAAA,6CAAAC,MAAA,mDAAAC,MAAA,4BAMgBC,IACd,IAAMC,EAAQJ,EAAWE,GAEzB,IAAKE,EACH,MAAM,IAAIL,EACRE,EACA,iFAIJ,OAAOG,CACT,QAAAD"}
@@ -1 +0,0 @@
1
- import{useMemo as r}from"react";import{useIocContext as n}from"./use-ioc-context.js";function o(o,t){var e=n(),i=e.container,u=e.revision;return r((function(){return i.isBound(o)?i.get(o):t?t(i):null}),[i,u,o])}export{o as useOptionalInjection};//# sourceMappingURL=use-optional-injection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-optional-injection.js","sources":["../../../../../../../../src/wirestate-react/provision/use-optional-injection.ts"],"sourcesContent":[null],"names":["useMemo","useIocContext","useOptionalInjection","injectionId","onFallback","_a","container","revision","isBound","get"],"mappings":"kBAUAA,MAAA,gCAAAC,MAAA,uBAQM,SAAUC,EACdC,EACAC,GAEM,IAAAC,EAA0BJ,IAAxBK,EAASD,EAAAC,UAAEC,EAAQF,EAAAE,SAG3B,OAAOP,GAAQ,WACb,OAAIM,EAAUE,QAAQL,GASbG,EAAUG,IAAON,GACfC,EASFA,EAAWE,GAUX,IAEX,GAAG,CAACA,EAAWC,EAAUJ,GAC3B,QAAAD"}
@@ -1 +0,0 @@
1
- import{mockContainer as r}from"@wirestate/core/test-utils";import{createElement as o}from"react";import{IocProvider as t}from"../provision/ioc-provider.js";function i(i,e,m){return void 0===e&&(e=r()),o(t,{container:e,seed:m},i)}export{i as withIocProvider};//# sourceMappingURL=with-ioc-provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"with-ioc-provider.js","sources":["../../../../../../../../src/wirestate-react/test-utils/with-ioc-provider.ts"],"sourcesContent":[null],"names":["mockContainer","createElement","IocProvider","withIocProvider","children","container","seed"],"mappings":"wBAMAA,MAAA,qDAAAC,MAAA,8BAAAC,MAAA,wCAQgBC,EACdC,EACAC,EACAC,GAEA,YAHA,IAAAD,IAAAA,EAAuBL,KAGhBC,EAAcC,EAAa,CAAEG,UAASA,EAAEC,KAAIA,GAAIF,EACzD,QAAAD"}