@codefast/di 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +1 -1
  3. package/dist/ambient/active-container.d.ts +4 -0
  4. package/dist/ambient/active-container.d.ts.map +1 -1
  5. package/dist/ambient/active-container.js +4 -0
  6. package/dist/ambient/active-container.js.map +1 -1
  7. package/dist/container/binding-builders.d.ts.map +1 -1
  8. package/dist/container/binding-builders.js +4 -5
  9. package/dist/container/binding-builders.js.map +1 -1
  10. package/dist/container/container.d.ts +6 -0
  11. package/dist/container/container.d.ts.map +1 -1
  12. package/dist/container/container.js +5 -4
  13. package/dist/container/container.js.map +1 -1
  14. package/dist/core/binding.d.ts +15 -2
  15. package/dist/core/binding.d.ts.map +1 -1
  16. package/dist/core/binding.js +29 -4
  17. package/dist/core/binding.js.map +1 -1
  18. package/dist/core/module.d.ts +16 -0
  19. package/dist/core/module.d.ts.map +1 -1
  20. package/dist/core/module.js +8 -0
  21. package/dist/core/module.js.map +1 -1
  22. package/dist/core/registry.d.ts +2 -3
  23. package/dist/core/registry.d.ts.map +1 -1
  24. package/dist/core/registry.js +16 -61
  25. package/dist/core/registry.js.map +1 -1
  26. package/dist/core/tag.d.ts +26 -0
  27. package/dist/core/tag.d.ts.map +1 -1
  28. package/dist/core/tag.js +54 -11
  29. package/dist/core/tag.js.map +1 -1
  30. package/dist/core/token.d.ts +6 -0
  31. package/dist/core/token.d.ts.map +1 -1
  32. package/dist/core/token.js +4 -0
  33. package/dist/core/token.js.map +1 -1
  34. package/dist/core/types.d.ts +20 -0
  35. package/dist/core/types.d.ts.map +1 -1
  36. package/dist/decorators/inject.d.ts +2 -0
  37. package/dist/decorators/inject.d.ts.map +1 -1
  38. package/dist/decorators/inject.js +2 -0
  39. package/dist/decorators/inject.js.map +1 -1
  40. package/dist/decorators/injectable.d.ts +6 -0
  41. package/dist/decorators/injectable.d.ts.map +1 -1
  42. package/dist/decorators/injectable.js +4 -0
  43. package/dist/decorators/injectable.js.map +1 -1
  44. package/dist/decorators/lifecycle-decorators.d.ts +4 -0
  45. package/dist/decorators/lifecycle-decorators.d.ts.map +1 -1
  46. package/dist/decorators/lifecycle-decorators.js +4 -0
  47. package/dist/decorators/lifecycle-decorators.js.map +1 -1
  48. package/dist/errors/errors.d.ts +34 -0
  49. package/dist/errors/errors.d.ts.map +1 -1
  50. package/dist/errors/errors.js +60 -3
  51. package/dist/errors/errors.js.map +1 -1
  52. package/dist/index.d.ts +1 -1
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +1 -1
  55. package/dist/index.js.map +1 -1
  56. package/dist/injection/descriptor.d.ts +12 -0
  57. package/dist/injection/descriptor.d.ts.map +1 -1
  58. package/dist/injection/descriptor.js +8 -0
  59. package/dist/injection/descriptor.js.map +1 -1
  60. package/dist/injection/resolve-options.d.ts +17 -12
  61. package/dist/injection/resolve-options.d.ts.map +1 -1
  62. package/dist/injection/resolve-options.js +69 -15
  63. package/dist/injection/resolve-options.js.map +1 -1
  64. package/dist/introspection/dependency-graph.d.ts +6 -0
  65. package/dist/introspection/dependency-graph.d.ts.map +1 -1
  66. package/dist/introspection/dependency-graph.js +24 -9
  67. package/dist/introspection/dependency-graph.js.map +1 -1
  68. package/dist/introspection/graph-adapters/cytoscape.d.ts +8 -0
  69. package/dist/introspection/graph-adapters/cytoscape.d.ts.map +1 -1
  70. package/dist/introspection/graph-adapters/cytoscape.js +2 -0
  71. package/dist/introspection/graph-adapters/cytoscape.js.map +1 -1
  72. package/dist/introspection/graph-adapters/dot.d.ts +2 -0
  73. package/dist/introspection/graph-adapters/dot.d.ts.map +1 -1
  74. package/dist/introspection/graph-adapters/dot.js +2 -0
  75. package/dist/introspection/graph-adapters/dot.js.map +1 -1
  76. package/dist/introspection/graph-adapters/reactflow.d.ts +8 -0
  77. package/dist/introspection/graph-adapters/reactflow.d.ts.map +1 -1
  78. package/dist/introspection/graph-adapters/reactflow.js +2 -0
  79. package/dist/introspection/graph-adapters/reactflow.js.map +1 -1
  80. package/dist/introspection/inspector.d.ts +6 -0
  81. package/dist/introspection/inspector.d.ts.map +1 -1
  82. package/dist/introspection/inspector.js +2 -0
  83. package/dist/introspection/inspector.js.map +1 -1
  84. package/dist/lifecycle/lifecycle-manager.d.ts +2 -0
  85. package/dist/lifecycle/lifecycle-manager.d.ts.map +1 -1
  86. package/dist/lifecycle/lifecycle-manager.js +2 -0
  87. package/dist/lifecycle/lifecycle-manager.js.map +1 -1
  88. package/dist/lifecycle/scope-manager.d.ts +2 -0
  89. package/dist/lifecycle/scope-manager.d.ts.map +1 -1
  90. package/dist/lifecycle/scope-manager.js +2 -0
  91. package/dist/lifecycle/scope-manager.js.map +1 -1
  92. package/dist/metadata/metadata-keys.d.ts +6 -0
  93. package/dist/metadata/metadata-keys.d.ts.map +1 -1
  94. package/dist/metadata/metadata-keys.js +6 -0
  95. package/dist/metadata/metadata-keys.js.map +1 -1
  96. package/dist/metadata/metadata-reader-token.d.ts +2 -0
  97. package/dist/metadata/metadata-reader-token.d.ts.map +1 -1
  98. package/dist/metadata/metadata-reader-token.js +2 -0
  99. package/dist/metadata/metadata-reader-token.js.map +1 -1
  100. package/dist/metadata/metadata-types.d.ts +6 -0
  101. package/dist/metadata/metadata-types.d.ts.map +1 -1
  102. package/dist/metadata/symbol-metadata-reader.d.ts +4 -0
  103. package/dist/metadata/symbol-metadata-reader.d.ts.map +1 -1
  104. package/dist/metadata/symbol-metadata-reader.js +4 -0
  105. package/dist/metadata/symbol-metadata-reader.js.map +1 -1
  106. package/dist/resolution/cache/activation-need.d.ts +2 -0
  107. package/dist/resolution/cache/activation-need.d.ts.map +1 -1
  108. package/dist/resolution/cache/activation-need.js +2 -0
  109. package/dist/resolution/cache/activation-need.js.map +1 -1
  110. package/dist/resolution/cache/binding-lookup-cache.d.ts +2 -2
  111. package/dist/resolution/cache/binding-lookup-cache.d.ts.map +1 -1
  112. package/dist/resolution/cache/binding-lookup-cache.js +2 -37
  113. package/dist/resolution/cache/binding-lookup-cache.js.map +1 -1
  114. package/dist/resolution/cache/class-introspector.d.ts +2 -0
  115. package/dist/resolution/cache/class-introspector.d.ts.map +1 -1
  116. package/dist/resolution/cache/class-introspector.js +2 -0
  117. package/dist/resolution/cache/class-introspector.js.map +1 -1
  118. package/dist/resolution/context.d.ts +6 -0
  119. package/dist/resolution/context.d.ts.map +1 -1
  120. package/dist/resolution/context.js +4 -0
  121. package/dist/resolution/context.js.map +1 -1
  122. package/dist/resolution/plan/instantiation-plan.d.ts +6 -12
  123. package/dist/resolution/plan/instantiation-plan.d.ts.map +1 -1
  124. package/dist/resolution/plan/instantiation-plan.js +11 -27
  125. package/dist/resolution/plan/instantiation-plan.js.map +1 -1
  126. package/dist/resolution/resolver.d.ts +14 -5
  127. package/dist/resolution/resolver.d.ts.map +1 -1
  128. package/dist/resolution/resolver.js +108 -141
  129. package/dist/resolution/resolver.js.map +1 -1
  130. package/dist/resolution/select/binding-select.d.ts +4 -5
  131. package/dist/resolution/select/binding-select.d.ts.map +1 -1
  132. package/dist/resolution/select/binding-select.js +18 -20
  133. package/dist/resolution/select/binding-select.js.map +1 -1
  134. package/dist/resolution/select/constraints.d.ts +16 -0
  135. package/dist/resolution/select/constraints.d.ts.map +1 -1
  136. package/dist/resolution/select/constraints.js +16 -0
  137. package/dist/resolution/select/constraints.js.map +1 -1
  138. package/package.json +13 -6
  139. package/src/ambient/active-container.ts +4 -0
  140. package/src/container/binding-builders.ts +10 -5
  141. package/src/container/container.ts +9 -4
  142. package/src/core/binding.ts +33 -5
  143. package/src/core/module.ts +16 -0
  144. package/src/core/registry.ts +16 -66
  145. package/src/core/tag.ts +71 -17
  146. package/src/core/token.ts +6 -0
  147. package/src/core/types.ts +20 -0
  148. package/src/decorators/inject.ts +2 -0
  149. package/src/decorators/injectable.ts +8 -0
  150. package/src/decorators/lifecycle-decorators.ts +4 -0
  151. package/src/errors/errors.ts +62 -5
  152. package/src/index.ts +1 -1
  153. package/src/injection/descriptor.ts +12 -0
  154. package/src/injection/resolve-options.ts +75 -18
  155. package/src/introspection/dependency-graph.ts +29 -9
  156. package/src/introspection/graph-adapters/cytoscape.ts +8 -0
  157. package/src/introspection/graph-adapters/dot.ts +2 -0
  158. package/src/introspection/graph-adapters/reactflow.ts +8 -0
  159. package/src/introspection/inspector.ts +6 -0
  160. package/src/lifecycle/lifecycle-manager.ts +2 -0
  161. package/src/lifecycle/scope-manager.ts +2 -0
  162. package/src/metadata/metadata-keys.ts +6 -0
  163. package/src/metadata/metadata-reader-token.ts +2 -0
  164. package/src/metadata/metadata-types.ts +6 -0
  165. package/src/metadata/symbol-metadata-reader.ts +4 -0
  166. package/src/resolution/cache/activation-need.ts +2 -0
  167. package/src/resolution/cache/binding-lookup-cache.ts +2 -40
  168. package/src/resolution/cache/class-introspector.ts +2 -0
  169. package/src/resolution/context.ts +6 -0
  170. package/src/resolution/plan/instantiation-plan.ts +15 -38
  171. package/src/resolution/resolver.ts +122 -141
  172. package/src/resolution/select/binding-select.ts +18 -21
  173. package/src/resolution/select/constraints.ts +16 -0
@@ -17,22 +17,15 @@ export interface DependencySlot {
17
17
  readonly tags?: ReadonlyArray<BindingTag> | undefined;
18
18
  }
19
19
  /**
20
- * A request whose only criterion is a name — the shape the registry has a direct index for.
20
+ * The lone criterion of a request that carries exactly one, whatever its spelling — the shape the
21
+ * registry has a direct index for.
21
22
  *
22
- * @since 0.5.0-canary.9
23
- */
24
- export declare function isNameOnlyOptions(options: ResolveOptions): options is ResolveOptions & {
25
- name: string;
26
- };
27
- /**
28
- * The lone tag of a request that asks for exactly one, written either way — the shape the registry
29
- * has a direct tag index for.
30
- *
31
- * @remarks Both spellings answer here, so the index is not something one of them silently misses.
23
+ * @remarks Every spelling answers here, so the index is not something one of them silently misses;
24
+ * a name folds to the reserved `slotName` criterion, making the name lane the tag lane.
32
25
  *
33
26
  * @since 0.5.0-canary.9
34
27
  */
35
- export declare function singleTagOnlyOf(options: ResolveOptions): BindingTag | undefined;
28
+ export declare function singleCriterionOnlyOf(options: ResolveOptions | undefined): BindingTag | undefined;
36
29
  /**
37
30
  * Builds a {@link ResolveOptions} safe for `exactOptionalPropertyTypes`:
38
31
  * omits keys instead of assigning `undefined`.
@@ -50,6 +43,18 @@ export declare function injectionSlotToResolveOptions(injectionSlot: Pick<Depend
50
43
  * @since 0.6.0
51
44
  */
52
45
  export declare function resolveOptionsForSlot(injectionSlot: DependencySlot): ResolveOptions | undefined;
46
+ /**
47
+ * The lone criterion a dependency's fixed criteria fold to, memoized on the slot like its options —
48
+ * `null` means the fold answered "none".
49
+ *
50
+ * @remarks A slot's criteria never change after declaration, so the fold happens once per slot
51
+ * rather than per hop — which is what keeps a named dependency's resolve off the intern map. A
52
+ * lone name whose criterion is not interned yet is left unmemoized: a later `whenNamed` binding
53
+ * mints it, and the next fold must see that.
54
+ *
55
+ * @since 0.8.0
56
+ */
57
+ export declare function singleCriterionForSlot(injectionSlot: DependencySlot): BindingTag | null;
53
58
  /**
54
59
  * Resolve options derived from a binding slot (tags may be empty; omits when nothing to match).
55
60
  *
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-options.d.ts","sourceRoot":"","sources":["../../src/injection/resolve-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEhE;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;CACvD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,IAAI,cAAc,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAIvG;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,UAAU,GAAG,SAAS,CAW/E;AAoBD;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,aAAa,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC,GACnD,cAAc,GAAG,SAAS,CAE5B;AASD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,cAAc,GAAG,cAAc,GAAG,SAAS,CAQ/F;AAsBD;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE;IACvD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;CACvD,GAAG,cAAc,GAAG,SAAS,CAG7B"}
1
+ {"version":3,"file":"resolve-options.d.ts","sourceRoot":"","sources":["../../src/injection/resolve-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEhE;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;CACvD;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAajG;AA8BD;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,aAAa,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC,GACnD,cAAc,GAAG,SAAS,CAE5B;AAaD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,cAAc,GAAG,cAAc,GAAG,SAAS,CAQ/F;AAsBD;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,cAAc,GAAG,UAAU,GAAG,IAAI,CAiBvF;AAUD;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE;IACvD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;CACvD,GAAG,cAAc,GAAG,SAAS,CAe7B"}
@@ -1,31 +1,36 @@
1
+ import { slotName, slotNameCriterionOf } from "#/core/tag";
1
2
  /**
2
- * A request whose only criterion is a name — the shape the registry has a direct index for.
3
+ * The lone criterion of a request that carries exactly one, whatever its spelling — the shape the
4
+ * registry has a direct index for.
3
5
  *
4
- * @since 0.5.0-canary.9
5
- */
6
- export function isNameOnlyOptions(options) {
7
- return (options.name !== undefined && options.tag === undefined && (options.tags === undefined || options.tags.length === 0));
8
- }
9
- /**
10
- * The lone tag of a request that asks for exactly one, written either way — the shape the registry
11
- * has a direct tag index for.
12
- *
13
- * @remarks Both spellings answer here, so the index is not something one of them silently misses.
6
+ * @remarks Every spelling answers here, so the index is not something one of them silently misses;
7
+ * a name folds to the reserved `slotName` criterion, making the name lane the tag lane.
14
8
  *
15
9
  * @since 0.5.0-canary.9
16
10
  */
17
- export function singleTagOnlyOf(options) {
18
- if (options.name !== undefined) {
11
+ export function singleCriterionOnlyOf(options) {
12
+ if (options === undefined) {
19
13
  return undefined;
20
14
  }
15
+ if (options.name !== undefined) {
16
+ return loneNameCriterionOf(options);
17
+ }
21
18
  const listed = options.tags;
22
19
  const shorthand = options.tag;
23
20
  if (shorthand !== undefined) {
24
- // Both sources present means the request carries two tags, which no single-tag index can answer.
25
21
  return listed === undefined || listed.length === 0 ? shorthand : undefined;
26
22
  }
27
23
  return listed !== undefined && listed.length === 1 ? listed[0] : undefined;
28
24
  }
25
+ /** The name spelling's half of the fold, kept apart so the common body stays small enough to inline. */
26
+ function loneNameCriterionOf(options) {
27
+ // A name next to any tag means the request carries two criteria, which no single index answers.
28
+ if (options.tag !== undefined || (options.tags !== undefined && options.tags.length > 0)) {
29
+ return undefined;
30
+ }
31
+ // Read, not minted: a request must not retain a name no binding ever declared.
32
+ return slotNameCriterionOf(options.name);
33
+ }
29
34
  /** Shared core: build a ResolveOptions from already-normalised name + tags. */
30
35
  function buildOptions(name, tags) {
31
36
  if (name === undefined && tags === undefined) {
@@ -51,6 +56,8 @@ export function injectionSlotToResolveOptions(injectionSlot) {
51
56
  }
52
57
  /** Where a slot's derived options are memoized, so the same object is handed out every resolve. */
53
58
  const MEMOIZED_RESOLVE_OPTIONS = Symbol("di:resolve-options");
59
+ /** Where a slot's folded lone criterion is memoized — `null` records "computed: none". */
60
+ const MEMOIZED_SINGLE_CRITERION = Symbol("di:single-criterion");
54
61
  /**
55
62
  * The options a dependency resolves with — one object per slot, since a slot's criteria are fixed
56
63
  * when it is declared.
@@ -85,6 +92,41 @@ function memoizeResolveOptions(slot, name, tags) {
85
92
  }
86
93
  return built;
87
94
  }
95
+ /**
96
+ * The lone criterion a dependency's fixed criteria fold to, memoized on the slot like its options —
97
+ * `null` means the fold answered "none".
98
+ *
99
+ * @remarks A slot's criteria never change after declaration, so the fold happens once per slot
100
+ * rather than per hop — which is what keeps a named dependency's resolve off the intern map. A
101
+ * lone name whose criterion is not interned yet is left unmemoized: a later `whenNamed` binding
102
+ * mints it, and the next fold must see that.
103
+ *
104
+ * @since 0.8.0
105
+ */
106
+ export function singleCriterionForSlot(injectionSlot) {
107
+ const slot = injectionSlot;
108
+ const memoized = slot[MEMOIZED_SINGLE_CRITERION];
109
+ if (memoized !== undefined) {
110
+ return memoized;
111
+ }
112
+ const options = resolveOptionsForSlot(injectionSlot);
113
+ const criterion = singleCriterionOnlyOf(options);
114
+ const folded = criterion ?? null;
115
+ if (criterion !== undefined || !isLoneNameOptions(options)) {
116
+ try {
117
+ slot[MEMOIZED_SINGLE_CRITERION] = folded;
118
+ }
119
+ catch {
120
+ // A frozen slot re-folds on every hop rather than throwing.
121
+ }
122
+ }
123
+ return folded;
124
+ }
125
+ /** A slot request whose only criterion is a name — the one shape whose fold can change after a bind. */
126
+ function isLoneNameOptions(options) {
127
+ // Slot-derived options never carry the `tag` shorthand — `buildOptions` folds it into `tags`.
128
+ return (options !== undefined && options.name !== undefined && (options.tags === undefined || options.tags.length === 0));
129
+ }
88
130
  /**
89
131
  * Resolve options derived from a binding slot (tags may be empty; omits when nothing to match).
90
132
  *
@@ -96,6 +138,18 @@ function memoizeResolveOptions(slot, name, tags) {
96
138
  */
97
139
  export function bindingSlotToResolveOptions(bindingSlot) {
98
140
  const tags = bindingSlot.tags;
99
- return buildOptions(bindingSlot.name, tags !== undefined && tags.length > 0 ? tags : undefined);
141
+ let name = bindingSlot.name;
142
+ let criteria = tags !== undefined && tags.length > 0 ? tags : undefined;
143
+ if (criteria !== undefined) {
144
+ // A reserved criterion folds into `name` — carried in `tags` it would be said twice or, on a
145
+ // descriptor that spells its name as a tag, not at all.
146
+ const reserved = criteria.find((criterion) => criterion.key === slotName);
147
+ if (reserved !== undefined) {
148
+ name ??= reserved.value;
149
+ const rest = criteria.filter((criterion) => criterion.key !== slotName);
150
+ criteria = rest.length > 0 ? rest : undefined;
151
+ }
152
+ }
153
+ return buildOptions(name, criteria);
100
154
  }
101
155
  //# sourceMappingURL=resolve-options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-options.js","sourceRoot":"","sources":["../../src/injection/resolve-options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-options.js","sourceRoot":"","sources":["../../src/injection/resolve-options.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,8 @@ export interface GraphEdge {
31
31
  readonly slotName?: string;
32
32
  }
33
33
  /**
34
+ * A container's dependency graph as plain JSON — nodes, edges, and whether the parent is included.
35
+ *
34
36
  * @since 0.3.16-canary.0
35
37
  */
36
38
  export interface ContainerGraphJson {
@@ -39,12 +41,16 @@ export interface ContainerGraphJson {
39
41
  readonly includesParent: boolean;
40
42
  }
41
43
  /**
44
+ * Options controlling what a dependency graph includes.
45
+ *
42
46
  * @since 0.3.16-canary.0
43
47
  */
44
48
  export interface GraphOptions {
45
49
  readonly includeParent?: boolean | undefined;
46
50
  }
47
51
  /**
52
+ * Builds the JSON dependency graph of a registry's bindings, optionally including the parent's.
53
+ *
48
54
  * @since 0.3.16-canary.0
49
55
  */
50
56
  export declare function buildDependencyGraph(registry: BindingRegistry, metadataReader: MetadataReader, options: GraphOptions | undefined, parentRegistry?: BindingRegistry): ContainerGraphJson;
@@ -1 +1 @@
1
- {"version":3,"file":"dependency-graph.d.ts","sourceRoot":"","sources":["../../src/introspection/dependency-graph.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGvD,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAe,MAAM,cAAc,CAAC;AAG3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAKhE;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,+FAA+F;IAC/F,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACzC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9C;AAsMD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,eAAe,EACzB,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,YAAY,GAAG,SAAS,EACjC,cAAc,CAAC,EAAE,eAAe,GAC/B,kBAAkB,CAWpB"}
1
+ {"version":3,"file":"dependency-graph.d.ts","sourceRoot":"","sources":["../../src/introspection/dependency-graph.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAIvD,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAe,MAAM,cAAc,CAAC;AAG3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAKhE;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,+FAA+F;IAC/F,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACzC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9C;AAmND;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,eAAe,EACzB,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,YAAY,GAAG,SAAS,EACjC,cAAc,CAAC,EAAE,eAAe,GAC/B,kBAAkB,CAWpB"}
@@ -1,4 +1,5 @@
1
1
  import { effectiveBindingScope } from "#/core/binding-scope";
2
+ import { slotName } from "#/core/tag";
2
3
  import { tokenName } from "#/core/token";
3
4
  import { bindingSlotToResolveOptions } from "#/injection/resolve-options";
4
5
  import { matchesSlot } from "#/resolution/select/binding-select";
@@ -26,11 +27,21 @@ function matchingTargets(candidates, ref) {
26
27
  }
27
28
  return candidates.filter((candidate) => matchesSlot(candidate.slot, criterion));
28
29
  }
30
+ /** The name a dependency asks for, whichever spelling carries it. */
31
+ function refSlotName(ref) {
32
+ if (ref.name !== undefined) {
33
+ return ref.name;
34
+ }
35
+ const reserved = ref.tags?.find((criterion) => criterion.key === slotName);
36
+ return reserved === undefined ? undefined : String(reserved.value);
37
+ }
29
38
  function edgeLabel(ref, index) {
30
- const criterion = ref.name !== undefined
31
- ? `name:${ref.name}`
32
- : ref.tags !== undefined && ref.tags.length > 0
33
- ? `tag:${ref.tags[0]?.key.name}=${String(ref.tags[0]?.value)}`
39
+ const name = refSlotName(ref);
40
+ const firstPlainTag = ref.tags?.find((criterion) => criterion.key !== slotName);
41
+ const criterion = name !== undefined
42
+ ? `name:${name}`
43
+ : firstPlainTag !== undefined
44
+ ? `tag:${firstPlainTag.key.name}=${String(firstPlainTag.value)}`
34
45
  : `[${index}]`;
35
46
  return ref.optional ? `${criterion} optional` : criterion;
36
47
  }
@@ -70,27 +81,29 @@ function addDependencyEdges(accumulator, from, ref, index, lookup) {
70
81
  if (!ref.optional) {
71
82
  return;
72
83
  }
84
+ const unboundSlotName = refSlotName(ref);
73
85
  accumulator.edges.push({
74
86
  from,
75
87
  to: unboundNodeIdFor(accumulator, ref.token),
76
88
  label,
77
89
  optional: true,
78
- ...(ref.name !== undefined ? { slotName: ref.name } : {}),
90
+ ...(unboundSlotName !== undefined ? { slotName: unboundSlotName } : {}),
79
91
  });
80
92
  return;
81
93
  }
94
+ const requestedName = refSlotName(ref);
82
95
  for (const target of targets) {
83
96
  // A multi dep with no criterion of its own fans out — each edge names the slot it hits.
84
- const slotName = target.slot.name ?? ref.name;
85
- const perTargetLabel = ref.multi && ref.name === undefined && slotName !== undefined
86
- ? edgeLabel({ ...ref, name: slotName }, index)
97
+ const edgeSlotName = target.slot.name ?? requestedName;
98
+ const perTargetLabel = ref.multi && requestedName === undefined && edgeSlotName !== undefined
99
+ ? edgeLabel({ ...ref, name: edgeSlotName }, index)
87
100
  : label;
88
101
  accumulator.edges.push({
89
102
  from,
90
103
  to: target.id,
91
104
  label: perTargetLabel,
92
105
  optional: ref.optional,
93
- ...(slotName !== undefined ? { slotName } : {}),
106
+ ...(edgeSlotName !== undefined ? { slotName: edgeSlotName } : {}),
94
107
  });
95
108
  }
96
109
  }
@@ -133,6 +146,8 @@ function addRegistryBindings(accumulator, sourceRegistry, metadataReader, fromPa
133
146
  }
134
147
  }
135
148
  /**
149
+ * Builds the JSON dependency graph of a registry's bindings, optionally including the parent's.
150
+ *
136
151
  * @since 0.3.16-canary.0
137
152
  */
138
153
  export function buildDependencyGraph(registry, metadataReader, options, parentRegistry) {
@@ -1 +1 @@
1
- {"version":3,"file":"dependency-graph.js","sourceRoot":"","sources":["../../src/introspection/dependency-graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dependency-graph.js","sourceRoot":"","sources":["../../src/introspection/dependency-graph.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import type { ContainerGraphJson, GraphNode } from "#/introspection/dependency-graph";
2
2
  /**
3
+ * A dependency-graph node in Cytoscape's element format.
4
+ *
3
5
  * @since 0.3.16-canary.0
4
6
  */
5
7
  export interface CytoscapeNode {
@@ -13,6 +15,8 @@ export interface CytoscapeNode {
13
15
  };
14
16
  }
15
17
  /**
18
+ * A dependency-graph edge in Cytoscape's element format.
19
+ *
16
20
  * @since 0.3.16-canary.0
17
21
  */
18
22
  export interface CytoscapeEdge {
@@ -26,10 +30,14 @@ export interface CytoscapeEdge {
26
30
  };
27
31
  }
28
32
  /**
33
+ * The flat node-and-edge list Cytoscape takes as its `elements` input.
34
+ *
29
35
  * @since 0.3.16-canary.0
30
36
  */
31
37
  export type CytoscapeElements = ReadonlyArray<CytoscapeNode | CytoscapeEdge>;
32
38
  /**
39
+ * Converts a container's dependency graph into Cytoscape's element list.
40
+ *
33
41
  * @since 0.3.16-canary.0
34
42
  */
35
43
  export declare function toCytoscapeGraph(graph: ContainerGraphJson): CytoscapeElements;
@@ -1 +1 @@
1
- {"version":3,"file":"cytoscape.d.ts","sourceRoot":"","sources":["../../../src/introspection/graph-adapters/cytoscape.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAEtF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QACnC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;KAC9B,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC;AAE7E;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,GAAG,iBAAiB,CA+B7E"}
1
+ {"version":3,"file":"cytoscape.d.ts","sourceRoot":"","sources":["../../../src/introspection/graph-adapters/cytoscape.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAEtF;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QACnC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;KAC9B,CAAC;CACH;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH;AAED;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC;AAE7E;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,GAAG,iBAAiB,CA+B7E"}
@@ -1,4 +1,6 @@
1
1
  /**
2
+ * Converts a container's dependency graph into Cytoscape's element list.
3
+ *
2
4
  * @since 0.3.16-canary.0
3
5
  */
4
6
  export function toCytoscapeGraph(graph) {
@@ -1 +1 @@
1
- {"version":3,"file":"cytoscape.js","sourceRoot":"","sources":["../../../src/introspection/graph-adapters/cytoscape.ts"],"names":[],"mappings":"AAmCA;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAyB;IACxD,MAAM,QAAQ,GAAyC,EAAE,CAAC;IAE1D,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE;gBACJ,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,KAAK,EAAE,IAAI,CAAC,SAAS;gBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAE,CAAC;QAC/B,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE;gBACJ,EAAE,EAAE,QAAQ,GAAG,EAAE;gBACjB,MAAM,EAAE,IAAI,CAAC,IAAI;gBACjB,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpE;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"cytoscape.js","sourceRoot":"","sources":["../../../src/introspection/graph-adapters/cytoscape.ts"],"names":[],"mappings":"AAyCA;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAyB;IACxD,MAAM,QAAQ,GAAyC,EAAE,CAAC;IAE1D,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE;gBACJ,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,KAAK,EAAE,IAAI,CAAC,SAAS;gBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAE,CAAC;QAC/B,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE;gBACJ,EAAE,EAAE,QAAQ,GAAG,EAAE;gBACjB,MAAM,EAAE,IAAI,CAAC,IAAI;gBACjB,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpE;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import type { ContainerGraphJson } from "#/introspection/dependency-graph";
2
2
  /**
3
+ * Renders a container's dependency graph as Graphviz DOT source.
4
+ *
3
5
  * @since 0.3.16-canary.0
4
6
  */
5
7
  export declare function toDotGraph(graph: ContainerGraphJson): string;
@@ -1 +1 @@
1
- {"version":3,"file":"dot.d.ts","sourceRoot":"","sources":["../../../src/introspection/graph-adapters/dot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAQ3E;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAkB5D"}
1
+ {"version":3,"file":"dot.d.ts","sourceRoot":"","sources":["../../../src/introspection/graph-adapters/dot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAQ3E;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAkB5D"}
@@ -4,6 +4,8 @@ function escapeDotString(value) {
4
4
  return value.replaceAll("\\", "\\\\").replaceAll('"', '\\"');
5
5
  }
6
6
  /**
7
+ * Renders a container's dependency graph as Graphviz DOT source.
8
+ *
7
9
  * @since 0.3.16-canary.0
8
10
  */
9
11
  export function toDotGraph(graph) {
@@ -1 +1 @@
1
- {"version":3,"file":"dot.js","sourceRoot":"","sources":["../../../src/introspection/graph-adapters/dot.ts"],"names":[],"mappings":"AAEA,8FAA8F;AAC9F,6DAA6D;AAC7D,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,KAAyB;IAClD,MAAM,KAAK,GAAkB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IAE/D,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC;QAClF,qFAAqF;QACrF,qCAAqC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,KAAK,CAAC,IAAI,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,KAAK,IAAI,KAAK,IAAI,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAC1F,KAAK,CAAC,IAAI,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;IAC5F,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"dot.js","sourceRoot":"","sources":["../../../src/introspection/graph-adapters/dot.ts"],"names":[],"mappings":"AAEA,8FAA8F;AAC9F,6DAA6D;AAC7D,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,KAAyB;IAClD,MAAM,KAAK,GAAkB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IAE/D,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC;QAClF,qFAAqF;QACrF,qCAAqC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,KAAK,CAAC,IAAI,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,KAAK,IAAI,KAAK,IAAI,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAC1F,KAAK,CAAC,IAAI,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;IAC5F,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import type { ContainerGraphJson, GraphNode } from "#/introspection/dependency-graph";
2
2
  /**
3
+ * A dependency-graph node in React Flow's node format.
4
+ *
3
5
  * @since 0.3.16-canary.0
4
6
  */
5
7
  export interface ReactFlowNode {
@@ -17,6 +19,8 @@ export interface ReactFlowNode {
17
19
  };
18
20
  }
19
21
  /**
22
+ * A dependency-graph edge in React Flow's edge format.
23
+ *
20
24
  * @since 0.3.16-canary.0
21
25
  */
22
26
  export interface ReactFlowEdge {
@@ -28,6 +32,8 @@ export interface ReactFlowEdge {
28
32
  readonly slotName?: string;
29
33
  }
30
34
  /**
35
+ * The nodes-and-edges pair a React Flow viewer renders.
36
+ *
31
37
  * @since 0.3.16-canary.0
32
38
  */
33
39
  export interface ReactFlowGraph {
@@ -35,6 +41,8 @@ export interface ReactFlowGraph {
35
41
  readonly edges: ReadonlyArray<ReactFlowEdge>;
36
42
  }
37
43
  /**
44
+ * Converts a container's dependency graph into React Flow nodes and edges on an initial grid.
45
+ *
38
46
  * @since 0.5.0-canary.7
39
47
  */
40
48
  export declare function toReactFlowGraph(graph: ContainerGraphJson): ReactFlowGraph;
@@ -1 +1 @@
1
- {"version":3,"file":"reactflow.d.ts","sourceRoot":"","sources":["../../../src/introspection/graph-adapters/reactflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAEtF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QACnC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;KAC9B,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/D;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;CAC9C;AAWD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,GAAG,cAAc,CA0B1E"}
1
+ {"version":3,"file":"reactflow.d.ts","sourceRoot":"","sources":["../../../src/introspection/graph-adapters/reactflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAEtF;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QACnC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;KAC9B,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/D;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;CAC9C;AAWD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,GAAG,cAAc,CA0B1E"}
@@ -7,6 +7,8 @@ const GRID_COLUMN_COUNT = 5;
7
7
  const GRID_CELL_WIDTH_PX = 200;
8
8
  const GRID_CELL_HEIGHT_PX = 100;
9
9
  /**
10
+ * Converts a container's dependency graph into React Flow nodes and edges on an initial grid.
11
+ *
10
12
  * @since 0.5.0-canary.7
11
13
  */
12
14
  export function toReactFlowGraph(graph) {
@@ -1 +1 @@
1
- {"version":3,"file":"reactflow.js","sourceRoot":"","sources":["../../../src/introspection/graph-adapters/reactflow.ts"],"names":[],"mappings":"AAqCA;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAyB;IACxD,MAAM,KAAK,GAAyB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAClE,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE;YACJ,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B;QACD,QAAQ,EAAE;YACR,CAAC,EAAE,CAAC,GAAG,GAAG,iBAAiB,CAAC,GAAG,kBAAkB;YACjD,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,iBAAiB,CAAC,GAAG,mBAAmB;SAC7D;KACF,CAAC,CAAC,CAAC;IAEJ,MAAM,KAAK,GAAyB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAClE,EAAE,EAAE,QAAQ,GAAG,EAAE;QACjB,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC,CAAC,CAAC;IAEJ,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"reactflow.js","sourceRoot":"","sources":["../../../src/introspection/graph-adapters/reactflow.ts"],"names":[],"mappings":"AA2CA;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAyB;IACxD,MAAM,KAAK,GAAyB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAClE,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE;YACJ,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B;QACD,QAAQ,EAAE;YACR,CAAC,EAAE,CAAC,GAAG,GAAG,iBAAiB,CAAC,GAAG,kBAAkB;YACjD,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,iBAAiB,CAAC,GAAG,mBAAmB;SAC7D;KACF,CAAC,CAAC,CAAC;IAEJ,MAAM,KAAK,GAAyB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAClE,EAAE,EAAE,QAAQ,GAAG,EAAE;QACjB,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC,CAAC,CAAC;IAEJ,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1B,CAAC"}
@@ -3,6 +3,8 @@ import type { Token } from "#/core/token";
3
3
  import type { BindingIdentifier, BindingKind, BindingScope, BindingTag, Constructor, ResolveOptions } from "#/core/types";
4
4
  import type { ScopeManager } from "#/lifecycle/scope-manager";
5
5
  /**
6
+ * A read-only view of one binding: token, kind, scope, slot, and id.
7
+ *
6
8
  * @since 0.3.16-canary.0
7
9
  */
8
10
  export interface BindingSnapshot {
@@ -16,6 +18,8 @@ export interface BindingSnapshot {
16
18
  readonly id: BindingIdentifier;
17
19
  }
18
20
  /**
21
+ * A read-only view of one container's own bindings and state.
22
+ *
19
23
  * @since 0.3.16-canary.0
20
24
  */
21
25
  export interface ContainerSnapshot {
@@ -25,6 +29,8 @@ export interface ContainerSnapshot {
25
29
  readonly isDisposed: boolean;
26
30
  }
27
31
  /**
32
+ * The read-only introspection surface behind a container's `inspect()`.
33
+ *
28
34
  * @since 0.3.16-canary.0
29
35
  */
30
36
  export declare class Inspector {
@@ -1 +1 @@
1
- {"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../../src/introspection/inspector.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,EACV,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,UAAU,EAEV,WAAW,EACX,cAAc,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAK9D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;KAC1C,CAAC;IACF,QAAQ,CAAC,EAAE,EAAE,iBAAiB,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACrD,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAID;;GAEG;AACH,qBAAa,SAAS;;IAMpB,YAAY,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,EAKxG;IAED,OAAO,IAAI,iBAAiB,CAO3B;IAED,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,eAAe,CAAC,CAG9F;IAED,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,WAAW,EAAE,OAAO,CAAC,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,MAAM,OAAO,GAAG,OAAO,CAcrG;IAED,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,WAAW,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAS7E;CA2BF"}
1
+ {"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../../src/introspection/inspector.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,EACV,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,UAAU,EAEV,WAAW,EACX,cAAc,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAK9D;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;KAC1C,CAAC;IACF,QAAQ,CAAC,EAAE,EAAE,iBAAiB,CAAC;CAChC;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACrD,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAID;;;;GAIG;AACH,qBAAa,SAAS;;IAMpB,YAAY,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,EAKxG;IAED,OAAO,IAAI,iBAAiB,CAO3B;IAED,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,eAAe,CAAC,CAG9F;IAED,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,WAAW,EAAE,OAAO,CAAC,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,MAAM,OAAO,GAAG,OAAO,CAcrG;IAED,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,WAAW,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAS7E;CA2BF"}
@@ -3,6 +3,8 @@ import { tokenName } from "#/core/token";
3
3
  import { selectAllBindings } from "#/resolution/select/binding-select";
4
4
  // ── Inspector ────────────────────────────────────────────────────────────────────────────────────────────────────────
5
5
  /**
6
+ * The read-only introspection surface behind a container's `inspect()`.
7
+ *
6
8
  * @since 0.3.16-canary.0
7
9
  */
8
10
  export class Inspector {
@@ -1 +1 @@
1
- {"version":3,"file":"inspector.js","sourceRoot":"","sources":["../../src/introspection/inspector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inspector.js","sourceRoot":"","sources":["../../src/introspection/inspector.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ import type { Token } from "#/core/token";
3
3
  import type { ActivationHandler, Constructor, DeactivationHandler, DependencyKey, ResolutionContext } from "#/core/types";
4
4
  import type { MetadataReader } from "#/metadata/metadata-types";
5
5
  /**
6
+ * One container's registry of container-level activation and deactivation hooks, keyed by token.
7
+ *
6
8
  * @since 0.3.16-canary.0
7
9
  */
8
10
  export declare class LifecycleManager {
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle-manager.d.ts","sourceRoot":"","sources":["../../src/lifecycle/lifecycle-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,EACV,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;GAEG;AACH,qBAAa,gBAAgB;;IAY3B,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAAG,IAAI,CAO3G;IAED,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,OAAO,CAG9E;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,sFAAsF;IACtF,qBAAqB,CAAC,KAAK,EACzB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GACvC,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,CAavD;IAED,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,GAAG,IAAI,CAI/G;IAED,uGAAuG;IACvG,uBAAuB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,OAAO,CAGhF;IAED,6FAA6F;IAC7F,YAAY,IAAI,KAAK,CAAC,CAAC,aAAa,EAAE,cAAc,GAAG,gBAAgB,CAAC,CAAC,CASxE;IAEK,aAAa,CAAC,KAAK,EACvB,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EACvB,QAAQ,EAAE,KAAK,EACf,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,KAAK,CAAC,CA2BhB;IAED,iBAAiB,CAAC,KAAK,EACrB,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EACvB,QAAQ,EAAE,KAAK,EACf,cAAc,EAAE,cAAc,GAC7B,KAAK,CAiCP;IAEK,eAAe,CAAC,KAAK,EACzB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EACvB,QAAQ,EAAE,KAAK,EACf,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,IAAI,CAAC,CA6Bf;IAED,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,cAAc,GAAG,IAAI,CA6BzG;IAED,sEAAsE;IACtE,IAAI,sBAAsB,IAAI,OAAO,CAEpC;CACF"}
1
+ {"version":3,"file":"lifecycle-manager.d.ts","sourceRoot":"","sources":["../../src/lifecycle/lifecycle-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,EACV,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;;;GAIG;AACH,qBAAa,gBAAgB;;IAY3B,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAAG,IAAI,CAO3G;IAED,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,OAAO,CAG9E;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,sFAAsF;IACtF,qBAAqB,CAAC,KAAK,EACzB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GACvC,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,CAavD;IAED,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,GAAG,IAAI,CAI/G;IAED,uGAAuG;IACvG,uBAAuB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,OAAO,CAGhF;IAED,6FAA6F;IAC7F,YAAY,IAAI,KAAK,CAAC,CAAC,aAAa,EAAE,cAAc,GAAG,gBAAgB,CAAC,CAAC,CASxE;IAEK,aAAa,CAAC,KAAK,EACvB,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EACvB,QAAQ,EAAE,KAAK,EACf,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,KAAK,CAAC,CA2BhB;IAED,iBAAiB,CAAC,KAAK,EACrB,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EACvB,QAAQ,EAAE,KAAK,EACf,cAAc,EAAE,cAAc,GAC7B,KAAK,CAiCP;IAEK,eAAe,CAAC,KAAK,EACzB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EACvB,QAAQ,EAAE,KAAK,EACf,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,IAAI,CAAC,CA6Bf;IAED,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,cAAc,GAAG,IAAI,CA6BzG;IAED,sEAAsE;IACtE,IAAI,sBAAsB,IAAI,OAAO,CAEpC;CACF"}
@@ -2,6 +2,8 @@ import { getOrInsert } from "#/core/map-upsert";
2
2
  import { tokenName } from "#/core/token";
3
3
  import { AsyncActivationError, AsyncDeactivationError, InvalidMetadataError } from "#/errors/errors";
4
4
  /**
5
+ * One container's registry of container-level activation and deactivation hooks, keyed by token.
6
+ *
5
7
  * @since 0.3.16-canary.0
6
8
  */
7
9
  export class LifecycleManager {