@codefast/di 0.6.0 → 0.6.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 (33) hide show
  1. package/CHANGELOG.md +97 -0
  2. package/dist/container/binding-builders.d.ts.map +1 -1
  3. package/dist/container/binding-builders.js +7 -1
  4. package/dist/container/binding-builders.js.map +1 -1
  5. package/dist/container/container.d.ts.map +1 -1
  6. package/dist/container/container.js +7 -5
  7. package/dist/container/container.js.map +1 -1
  8. package/dist/core/constraint-requirement.d.ts +15 -0
  9. package/dist/core/constraint-requirement.d.ts.map +1 -1
  10. package/dist/core/constraint-requirement.js +35 -1
  11. package/dist/core/constraint-requirement.js.map +1 -1
  12. package/dist/core/tag.d.ts.map +1 -1
  13. package/dist/core/tag.js +12 -0
  14. package/dist/core/tag.js.map +1 -1
  15. package/dist/resolution/cache/binding-lookup-cache.d.ts +3 -0
  16. package/dist/resolution/cache/binding-lookup-cache.d.ts.map +1 -1
  17. package/dist/resolution/cache/binding-lookup-cache.js +55 -0
  18. package/dist/resolution/cache/binding-lookup-cache.js.map +1 -1
  19. package/dist/resolution/plan/instantiation-plan.d.ts +7 -0
  20. package/dist/resolution/plan/instantiation-plan.d.ts.map +1 -1
  21. package/dist/resolution/plan/instantiation-plan.js +32 -3
  22. package/dist/resolution/plan/instantiation-plan.js.map +1 -1
  23. package/dist/resolution/resolver.d.ts.map +1 -1
  24. package/dist/resolution/resolver.js +29 -0
  25. package/dist/resolution/resolver.js.map +1 -1
  26. package/package.json +2 -2
  27. package/src/container/binding-builders.ts +8 -1
  28. package/src/container/container.ts +7 -5
  29. package/src/core/constraint-requirement.ts +44 -1
  30. package/src/core/tag.ts +14 -0
  31. package/src/resolution/cache/binding-lookup-cache.ts +57 -0
  32. package/src/resolution/plan/instantiation-plan.ts +39 -3
  33. package/src/resolution/resolver.ts +28 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,102 @@
1
1
  # @codefast/di
2
2
 
3
+ ## 0.6.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#729](https://github.com/codefastlabs/codefast/pull/729) [`a8fff29`](https://github.com/codefastlabs/codefast/commit/a8fff29aac58b6e60595de35a613795087b055ab) Thanks [@thevuong](https://github.com/thevuong)! - perf(di): settle a single-tag dependency at compile time, the named settlement's rule on the tagged lane
8
+
9
+ A compiled plan settled a name-only dependency ahead of time and still escaped a tag-only one, though the tagged lane
10
+ now has everything the named rule needs: criteria are interned so an index hit is exact, and the chain-walk memo gives
11
+ the compiler a path-independent lookup to ask. A dependency carrying one tag and nothing else, whose candidate carries
12
+ no predicate and whose slot the request satisfies, now compiles to a plain dep thunk; a predicate, a second tag, a name,
13
+ a miss — anything whose selection could read the resolution path — escapes exactly as before, on both the sync and async
14
+ plan lanes.
15
+
16
+ `InstantiationPlanHost` gains `lookupPathIndependentTaggedEntry`, deliberately **optional** where the named twin's
17
+ arrival was a breaking change: a host that does not provide it stays a valid host, and a compiler given none simply
18
+ escapes the dependency, which is the pre-settlement behavior.
19
+
20
+ Measured paired against the previous build, six alternating passes: the new `slot-injected-tag-compiled` row — four
21
+ tagged constants injected into one class, mirroring the named pair — reads **4.33×** (every pass 4.13–4.61), going 5.76M
22
+ → 24.96M hz/op and landing exactly where `slot-injected-name-compiled` and the criteria-free `plan-deps-inlined` sit,
23
+ which is what "the criterion was the only reason it escaped" predicts. The interpreted twin and three controls hold
24
+ parity. Eight tests mirror the named settlement's pins — the baked answer tracks rebinds, a predicate keeps runtime
25
+ selection, an opaque factory's escape replays the tag — plus one holding a two-tag dependency on the runtime path.
26
+
27
+ - [#729](https://github.com/codefastlabs/codefast/pull/729) [`a60bcf8`](https://github.com/codefastlabs/codefast/commit/a60bcf80deeda3964b0bf2e8a6d30aeeb6dc39ab) Thanks [@thevuong](https://github.com/thevuong)! - fix(di): a `when()` chain no longer hides a helper's requirement from `validate()`
28
+
29
+ `.when(whenParentNamed("x")).when(other)` composes one closure out of two predicates, and the composition dropped the
30
+ unreachability requirement the name helper had recorded — the constraint stayed impossible to satisfy, `validate()` just
31
+ could not see it, a limit the previous changeset stated outright. SPEC's rule carries no such carve-out: `validate()`
32
+ throws `UnreachableConstraintError` when no binding declares the slot name a constraint waits for, composed or not.
33
+
34
+ The composition site now merges both sides' requirements onto the composite predicate, and `validate()` reads the full
35
+ list, so a requirement survives any number of `when()` narrowings and either side of the chain can contribute one.
36
+ `constraintRequirementOf` keeps its shape and answers the first recorded requirement; the plural
37
+ `constraintRequirementsOf` is the reader `validate()` uses. A container that previously validated clean can now throw —
38
+ that is the documented rule holding where it silently did not.
39
+
40
+ - [#729](https://github.com/codefastlabs/codefast/pull/729) [`0ee3290`](https://github.com/codefastlabs/codefast/commit/0ee329099359352ed8870d4f8bcfcbb8f2a55126) Thanks [@thevuong](https://github.com/thevuong)! - perf(di): lend a sync escape's seed stack instead of copying it per call
41
+
42
+ A compiled plan's escape re-enters the runtime resolver seeded with its ancestor frames, and minted a fresh
43
+ `[...frames]` on every call because the resolver pushes and pops on the array it is given. Every sync lane pops what it
44
+ pushes, so the owned array still holds exactly the seed when a call returns — the thunk now lends one array, the
45
+ resolver's own root-stack rule one level down. A dirty return (length not restored) drops the array and the next call
46
+ mints; re-entering the same thunk without a genuine cycle is impossible — every route back to the same plan node crosses
47
+ a binding that is still in flight — so the claimed branch is a one-compare defence rather than a hot case. The async
48
+ escape lane keeps copying: it lives across awaits, where "the call returned" and "the stack is free" are different
49
+ moments.
50
+
51
+ The win is bigger than removing one small allocation, and the mechanism is the context pool: a pooled resolution context
52
+ is reused only for the array pair it already holds, so a fresh array per escape forced a fresh context per escape — the
53
+ lent array keeps its identity across calls and the pool starts hitting. Measured paired against the previous build, six
54
+ alternating passes, all five escape rows positive in every pass: `plan-escape-factory-dep` **1.41×** (1.331–1.460),
55
+ `plan-escape-scoped-dep` **1.23×**, `plan-escape-optional-dep` **1.14×**, `plan-escape-hooked-dep` **1.12×**,
56
+ `plan-escape-multi-dep` **1.11×**; the no-escape `plan-deps-inlined` control holds parity and
57
+ `realistic-graph-resolve-root`, whose root plan escapes once for a singleton materialization, reads 1.03×. A new test
58
+ pins that a throwing escape leaves the thunk reusable.
59
+
60
+ - [#729](https://github.com/codefastlabs/codefast/pull/729) [`12186d6`](https://github.com/codefastlabs/codefast/commit/12186d698b57a491a7b99d63750ff83199772f35) Thanks [@thevuong](https://github.com/thevuong)! - perf(di): a one-entry cache in front of `TagKey.of()`, narrowing the inline-criterion gap
61
+
62
+ The tag-interning changeset recorded that an inline `.of(v)` stayed behind a hoisted criterion because every call reads
63
+ the intern map, and that the gap had widened rather than closed. An inline call site usually repeats one value, so
64
+ `of()` now keeps its last `(value, pair)` and answers a repeat before touching `internKeyFor` or the map. The check is
65
+ `Object.is` — the comparison the slot contract already defines — so ±0 stay distinct and `NaN` hits itself, with no
66
+ special-casing.
67
+
68
+ Measured paired against the previous build, six alternating passes on rows whose A/A floor is the suite's widest:
69
+ `slot-tag-shorthand-inline` **1.07×** (six of six passes positive, 1.040–1.124) and `slot-tag-array-inline` **1.07×**
70
+ (five of six), while both hoisted rows — which never call `.of()` in the loop — sit at parity, doubling as the proof the
71
+ source swap was live. Hoisted stays the fast spelling, as it must: it pays zero calls.
72
+
73
+ - [#729](https://github.com/codefastlabs/codefast/pull/729) [`aa76f4d`](https://github.com/codefastlabs/codefast/commit/aa76f4d0559004337f4c0a0aa89b434c26a78d3c) Thanks [@thevuong](https://github.com/thevuong)! - perf(di): memoize the single-tag chain walk, with a deferred map so a per-request child does not pay for it
74
+
75
+ A single-tag `resolve` was the one criteria lane that consulted each container's tag index on the way up on **every**
76
+ call — `defaultEntry` and `namedEntry` already memoized their walks, and ARCHITECTURE carried the question as open,
77
+ waiting on a fresh-vs-warm measurement. That measurement (RESULTS.md, 2026-08-16): the memoized name lane answered the
78
+ same parent-owned shape at ~2.1× the unmemoized tag lane, warm; the memo's per-container state cost ~5–8% at duty cycle
79
+ 1 and amortized before N=4.
80
+
81
+ `BindingLookupCache` gains `taggedEntry(token, tag)` — chain-versioned like `namedEntry`, `null` meaning "this shape
82
+ needs full selection", predicate- and alias-carrying hits declined so a `when()` is still evaluated on every resolve —
83
+ and `resolve()` gains the tagged twin of its name-only fast lane, dispatching just the shapes whose semantics involve no
84
+ resolution context (plain constants, cached singletons). The memo key is the criterion object itself: interning makes
85
+ identity the slot contract's own `Object.is`, so ±0 stay split and no indexed hit needs a value re-check.
86
+
87
+ The first cut mirrored `namedEntry` exactly and failed its own gate: `fresh-child-tag-n1` — one tagged resolve inside a
88
+ child that then dies — read 0.861 across six negative passes, and the whole cost was the inner-map allocation on a
89
+ container that never asks twice. So the first `(token, tag)` shape a cache generation sees is answered from the walk and
90
+ parked in a one-entry front; the map is not written until a second distinct shape appears, and an alternating pair
91
+ converges after one extra walk per key.
92
+
93
+ Measured paired against the previous build, six alternating passes, medians: `slot-tag-parent-owned` **2.78×** (every
94
+ pass 2.73–2.95), `slot-tag-shorthand-hoisted` **2.14×**, `tagged-binding-resolve` **1.98×** (a head-to-head row),
95
+ `fresh-child-tag-n4` **1.24×**, with the must-hold `fresh-child-tag-n1` at 0.98 (0.933–1.072, inside that row's floor)
96
+ and the name-lane and multi-tag controls at parity. Seven new tests pin the memo's invalidation and its refusals:
97
+ rebind/unbind in both request spellings, a parent rebind observed from a child, a predicate beside the tag, a late
98
+ container-level activation hook, and a warmed `+0` criterion refusing `-0`.
99
+
3
100
  ## 0.6.0
4
101
 
5
102
  ### Minor Changes
@@ -1 +1 @@
1
- {"version":3,"file":"binding-builders.d.ts","sourceRoot":"","sources":["../../src/container/binding-builders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binding-builders.d.ts","sourceRoot":"","sources":["../../src/container/binding-builders.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { clearBindingFrame, createBinding, DEFAULT_BINDING_SLOT, refinableFields } from "#/core/binding";
2
+ import { mergingConstraintRequirements } from "#/core/constraint-requirement";
2
3
  import { tagKeyMaskOf } from "#/core/tag";
3
4
  import { tokenName } from "#/core/token";
4
5
  import { ChainNotRegisteredError, SelfBindingRequiresClassError } from "#/errors/errors";
@@ -131,7 +132,12 @@ export class BindingChain {
131
132
  when(predicate) {
132
133
  const binding = this.#registered();
133
134
  const previous = binding.predicate;
134
- return this.#reslot(binding.slot, previous === undefined ? predicate : (ctx) => previous(ctx) && predicate(ctx));
135
+ if (previous === undefined) {
136
+ return this.#reslot(binding.slot, predicate);
137
+ }
138
+ // The composite carries both sides' requirements, so validate() still sees them.
139
+ const composed = mergingConstraintRequirements((ctx) => previous(ctx) && predicate(ctx), previous, predicate);
140
+ return this.#reslot(binding.slot, composed);
135
141
  }
136
142
  whenNamed(name) {
137
143
  return this.#reslot({ ...this.#registered().slot, name }, this.#registered().predicate);
@@ -1 +1 @@
1
- {"version":3,"file":"binding-builders.js","sourceRoot":"","sources":["../../src/container/binding-builders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binding-builders.js","sourceRoot":"","sources":["../../src/container/binding-builders.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACzG,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAG9E,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAUzC,OAAO,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAEzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,qGAAqG;AACrG,SAAS,aAAa,CAAC,IAAiB,EAAE,SAAqB;IAC7D,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC;IACnF,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;IAClC,CAAC;IACD,qFAAqF;IACrF,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;AAC7E,CAAC;AAED,oFAAoF;AACpF,SAAS,qBAAqB,CAC5B,GAA6B,EAC7B,EAAqB,EACrB,UAAyC;IAEzC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACf,CAAC;AAkBD,wHAAwH;AAExH;;;;;;GAMG;AACH,MAAM,OAAO,YAAY;IAWvB,wDAAwD;IACxD,QAAQ,CAA6B;IACrC,+EAA+E;IAC/E,iBAAiB,CAA6B;IAC9C,mGAAmG;IACnG,sBAAsB,GAAG,CAAC,CAAC,CAAC;IACnB,MAAM,CAAoC;IAC1C,aAAa,CAAsB;IAE5C,YAAY,KAAwC,EAAE,YAAiC;QACrF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;IAED,2EAA2E;IAC3E,WAAW;QACT,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,uBAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,SAAS,CAAC,OAA8B;QACtC,6FAA6F;QAC7F,6BAA6B;QAC7B,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,oBAAoB,EAAE,SAAS,CAAC,CAAC;QACrF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sHAAsH;IAEtH,EAAE,CAAC,IAAwB;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM;QACJ,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACtC,MAAM,IAAI,6BAA6B,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,eAAe,CAAC,KAAY;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,SAAS,CAAC,OAA0C;QAClD,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,cAAc,CAAC,OAAmD;QAChE,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,UAAU,CACR,OAA6F,EAC7F,IAAU;QAEV,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;YACjE,OAAO,EAAE,OAA6C;YACtD,KAAK,EAAE,WAAW;SACnB,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CACb,OAAsG,EACtG,IAAU;QAEV,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;YACjE,OAAO,EAAE,OAAsD;YAC/D,KAAK,EAAE,WAAW;SACnB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,MAAyC;QAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,sHAAsH;IAEtH,6FAA6F;IAC7F,sFAAsF;IACtF,OAAO,CAAC,IAAiB,EAAE,SAAwC;QACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QACtF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QACzC,gGAAgG;QAChG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAmB,EAAE,IAAI,CAAC,QAAmB,CAAC,CAAC;QACzF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,CAAC,KAAmB;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC5B,yFAAyF;YACzF,oCAAoC;YACpC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAClD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAClD,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;QACzC,CAAC;QACD,wFAAwF;QACxF,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iGAAiG;IACjG,0EAA0E;IAC1E,IAAI,CAAC,SAA4B;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;QAEnC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC/C,CAAC;QACD,iFAAiF;QACjF,MAAM,QAAQ,GAAG,6BAA6B,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAE9G,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC;IAC1F,CAAC;IAED,UAAU,CAAC,SAAqB;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACjF,CAAC;IAED,WAAW;QACT,8FAA8F;QAC9F,yFAAyF;QACzF,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,YAAY,CAAC,EAA4B;QACvC,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,YAAY,GAAG,EAAE,CAAC;QACtD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc,CAAC,EAA8B;QAC3C,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,cAAc,GAAG,EAAE,CAAC;QACxD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,EAAE;QACA,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;IAC/B,CAAC;IAED,sHAAsH;IAEtH;;;;;;OAMG;IACH,OAAO,CAAC,OAAuB,EAAE,UAAyC;QACxE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAC1D,yFAAyF;QACzF,gFAAgF;QAChF,MAAM,UAAU,GAAG,OAAkB,CAAC;QAEtC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,qFAAqF;YACrF,yEAAyE;YACzE,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBACrD,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;YACrC,CAAC;YACD,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;gBAClD,uFAAuF;gBACvF,8DAA8D;gBAC9D,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;gBACnC,IAAI,CAAC,sBAAsB,GAAG,QAAQ,CAAC,OAAO,CAAC;gBAC/C,OAAO;YACT,CAAC;QACH,CAAC;QACD,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,CAAC,IAAI,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACrE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,qBAAqB,CAAC,gBAAgB,EAAE,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,CAAC,sBAAsB,GAAG,QAAQ,CAAC,OAAO,CAAC;IACjD,CAAC;IAED,sBAAsB,CAAC,SAAyB;QAC9C,KAAK,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC9D,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAE,CAAC;YACpC,0FAA0F;YAC1F,8BAA8B;YAC9B,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5D,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3C,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/container/container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/container/container.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { BindingChain } from "#/container/binding-builders";
2
2
  import { NO_INSTANCE } from "#/core/binding";
3
3
  import { effectiveBindingScope } from "#/core/binding-scope";
4
- import { constraintRequirementOf } from "#/core/constraint-requirement";
4
+ import { constraintRequirementsOf } from "#/core/constraint-requirement";
5
5
  import { isSyncModule, MODULE_SETUP } from "#/core/module";
6
6
  import { BindingRegistry } from "#/core/registry";
7
7
  import { tokenName } from "#/core/token";
@@ -545,13 +545,15 @@ class DefaultContainer {
545
545
  if (predicate === undefined) {
546
546
  continue;
547
547
  }
548
- const requirement = constraintRequirementOf(predicate);
549
- if (requirement === undefined) {
548
+ const requirements = constraintRequirementsOf(predicate);
549
+ if (requirements.length === 0) {
550
550
  continue;
551
551
  }
552
552
  declaredSlotNames ??= this.#slotNamesInChain();
553
- if (!declaredSlotNames.has(requirement.name)) {
554
- throw new UnreachableConstraintError(tokenName(binding.token), requirement.name, requirement.helperName);
553
+ for (const requirement of requirements) {
554
+ if (!declaredSlotNames.has(requirement.name)) {
555
+ throw new UnreachableConstraintError(tokenName(binding.token), requirement.name, requirement.helperName);
556
+ }
555
557
  }
556
558
  }
557
559
  }
@@ -1 +1 @@
1
- {"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/container/container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/container/container.ts"],"names":[],"mappings":"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"}
@@ -32,7 +32,22 @@ export declare function requiringAncestorSlotName(predicate: BindingConstraint,
32
32
  /**
33
33
  * The requirement a predicate carries, if it was built by a helper that records one.
34
34
  *
35
+ * @remarks A composed predicate may carry several; this answers the first. `validate()` reads
36
+ * {@link constraintRequirementsOf} so no recorded requirement is skipped.
37
+ *
35
38
  * @since 0.6.0
36
39
  */
37
40
  export declare function constraintRequirementOf(predicate: BindingConstraint): ConstraintRequirement | undefined;
41
+ /**
42
+ * Every requirement a predicate carries — one from a helper, several from a composed chain.
43
+ *
44
+ * @since 0.6.1
45
+ */
46
+ export declare function constraintRequirementsOf(predicate: BindingConstraint): ReadonlyArray<ConstraintRequirement>;
47
+ /**
48
+ * Carries both sides' requirements onto a composed predicate, so chaining does not lose them.
49
+ *
50
+ * @since 0.6.1
51
+ */
52
+ export declare function mergingConstraintRequirements(composite: BindingConstraint, left: BindingConstraint, right: BindingConstraint): BindingConstraint;
38
53
  //# sourceMappingURL=constraint-requirement.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constraint-requirement.d.ts","sourceRoot":"","sources":["../../src/core/constraint-requirement.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,OAAO,MAA4C,CAAC;AAEzF;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,uFAAuF;IACvF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,iBAAiB,EAC5B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACjB,iBAAiB,CAInB;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,iBAAiB,GAAG,qBAAqB,GAAG,SAAS,CAEvG"}
1
+ {"version":3,"file":"constraint-requirement.d.ts","sourceRoot":"","sources":["../../src/core/constraint-requirement.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,OAAO,MAA4C,CAAC;AAEzF;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,uFAAuF;IACvF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,iBAAiB,EAC5B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACjB,iBAAiB,CAInB;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,iBAAiB,GAAG,qBAAqB,GAAG,SAAS,CAEvG;AAID;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,iBAAiB,GAAG,aAAa,CAAC,qBAAqB,CAAC,CAU3G;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,iBAAiB,EAC5B,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,iBAAiB,GACvB,iBAAiB,CAUnB"}
@@ -20,9 +20,43 @@ export function requiringAncestorSlotName(predicate, name, helperName) {
20
20
  /**
21
21
  * The requirement a predicate carries, if it was built by a helper that records one.
22
22
  *
23
+ * @remarks A composed predicate may carry several; this answers the first. `validate()` reads
24
+ * {@link constraintRequirementsOf} so no recorded requirement is skipped.
25
+ *
23
26
  * @since 0.6.0
24
27
  */
25
28
  export function constraintRequirementOf(predicate) {
26
- return predicate[CONSTRAINT_REQUIREMENT];
29
+ return constraintRequirementsOf(predicate)[0];
30
+ }
31
+ const NO_REQUIREMENTS = [];
32
+ /**
33
+ * Every requirement a predicate carries — one from a helper, several from a composed chain.
34
+ *
35
+ * @since 0.6.1
36
+ */
37
+ export function constraintRequirementsOf(predicate) {
38
+ const payload = predicate[CONSTRAINT_REQUIREMENT];
39
+ if (payload === undefined) {
40
+ return NO_REQUIREMENTS;
41
+ }
42
+ return Array.isArray(payload)
43
+ ? payload
44
+ : [payload];
45
+ }
46
+ /**
47
+ * Carries both sides' requirements onto a composed predicate, so chaining does not lose them.
48
+ *
49
+ * @since 0.6.1
50
+ */
51
+ export function mergingConstraintRequirements(composite, left, right) {
52
+ const merged = [...constraintRequirementsOf(left), ...constraintRequirementsOf(right)];
53
+ if (merged.length === 0) {
54
+ return composite;
55
+ }
56
+ Object.defineProperty(composite, CONSTRAINT_REQUIREMENT, {
57
+ value: merged.length === 1 ? merged[0] : merged,
58
+ enumerable: false,
59
+ });
60
+ return composite;
27
61
  }
28
62
  //# sourceMappingURL=constraint-requirement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constraint-requirement.js","sourceRoot":"","sources":["../../src/core/constraint-requirement.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAkB,MAAM,CAAC,2BAA2B,CAAC,CAAC;AAiBzF;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,SAA4B,EAC5B,IAAY,EACZ,UAAkB;IAElB,MAAM,WAAW,GAA0B,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC9F,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,sBAAsB,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IACpG,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAA4B;IAClE,OAAQ,SAAkE,CAAC,sBAAsB,CAAC,CAAC;AACrG,CAAC"}
1
+ {"version":3,"file":"constraint-requirement.js","sourceRoot":"","sources":["../../src/core/constraint-requirement.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAkB,MAAM,CAAC,2BAA2B,CAAC,CAAC;AAiBzF;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,SAA4B,EAC5B,IAAY,EACZ,UAAkB;IAElB,MAAM,WAAW,GAA0B,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC9F,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,sBAAsB,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IACpG,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAA4B;IAClE,OAAO,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,eAAe,GAAyC,EAAE,CAAC;AAEjE;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,SAA4B;IACnE,MAAM,OAAO,GACX,SACD,CAAC,sBAAsB,CAAC,CAAC;IAC1B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAC3B,CAAC,CAAE,OAAgD;QACnD,CAAC,CAAC,CAAC,OAAgC,CAAC,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAC3C,SAA4B,EAC5B,IAAuB,EACvB,KAAwB;IAExB,MAAM,MAAM,GAAG,CAAC,GAAG,wBAAwB,CAAC,IAAI,CAAC,EAAE,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;IACvF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,sBAAsB,EAAE;QACvD,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;QAC/C,UAAU,EAAE,KAAK;KAClB,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../src/core/tag.ts"],"names":[],"mappings":"AAAA,yFAAyF;AAEzF,OAAO,CAAC,MAAM,aAAa,EAAE,OAAO,MAAM,CAAC;AAC3C,OAAO,CAAC,MAAM,iBAAiB,EAAE,OAAO,MAAM,CAAC;AAU/C;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAQ,UAAU,CAAC;AAE3C;;;;;;;;GAQG;AACH,MAAM,WAAW,UAAU,CAAC,KAAK,GAAG,OAAO;IACzC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC;CACpC;AAED;;;;GAIG;AACH,MAAM,WAAW,MAAM,CAAC,KAAK,GAAG,OAAO;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wFAAwF;IACxF,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,2FAA2F;IAC3F,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;CACrC;AAiBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,GAAG,CAAC,KAAK,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CA2BhE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,UAAU,CAQxE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAO,CAEpF"}
1
+ {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../src/core/tag.ts"],"names":[],"mappings":"AAAA,yFAAyF;AAEzF,OAAO,CAAC,MAAM,aAAa,EAAE,OAAO,MAAM,CAAC;AAC3C,OAAO,CAAC,MAAM,iBAAiB,EAAE,OAAO,MAAM,CAAC;AAU/C;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAQ,UAAU,CAAC;AAE3C;;;;;;;;GAQG;AACH,MAAM,WAAW,UAAU,CAAC,KAAK,GAAG,OAAO;IACzC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC;CACpC;AAED;;;;GAIG;AACH,MAAM,WAAW,MAAM,CAAC,KAAK,GAAG,OAAO;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wFAAwF;IACxF,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,2FAA2F;IAC3F,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;CACrC;AAiBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,GAAG,CAAC,KAAK,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAyChE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,UAAU,CAQxE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAO,CAEpF"}
package/dist/core/tag.js CHANGED
@@ -44,18 +44,30 @@ export function tag(name) {
44
44
  const id = tagKeyCounter;
45
45
  const mask = (1 << (id % MASK_WIDTH));
46
46
  const interned = new Map();
47
+ // One-entry cache in front of the intern map: an inline `.of()` at a call site usually repeats
48
+ // one value, and `Object.is` is the slot contract's own comparison, so a hit is exact — ±0 stay
49
+ // split and `NaN` hits itself, with no `internKeyFor` detour.
50
+ let lastValue;
51
+ let lastPair;
47
52
  const key = {
48
53
  name,
49
54
  id,
50
55
  mask,
51
56
  of(value) {
57
+ if (lastPair !== undefined && Object.is(value, lastValue)) {
58
+ return lastPair;
59
+ }
52
60
  const cacheKey = internKeyFor(value);
53
61
  const existing = interned.get(cacheKey);
54
62
  if (existing !== undefined) {
63
+ lastValue = value;
64
+ lastPair = existing;
55
65
  return existing;
56
66
  }
57
67
  const pair = { key, value, mask };
58
68
  interned.set(cacheKey, pair);
69
+ lastValue = value;
70
+ lastPair = pair;
59
71
  return pair;
60
72
  },
61
73
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tag.js","sourceRoot":"","sources":["../../src/core/tag.ts"],"names":[],"mappings":"AAAA,yFAAyF;AAKzF;;;;;GAKG;AACH,MAAM,UAAU,GAAG,EAAE,CAAC;AAatB;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAe,CAAC;AAiC3C,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC;AAEvB;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAkB,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAExE,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,KAAK,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC;AACzE,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,GAAG,CAAkB,IAAY;IAC/C,aAAa,IAAI,CAAC,CAAC;IACnB,MAAM,EAAE,GAAG,aAAa,CAAC;IACzB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,CAAe,CAAC;IACpD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA8B,CAAC;IAEvD,MAAM,GAAG,GAAkB;QACzB,IAAI;QACJ,EAAE;QACF,IAAI;QACJ,EAAE,CAAC,KAAY;YACb,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAExC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,MAAM,IAAI,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAuB,CAAC;YAEvD,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAE7B,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;IAEF,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,IAA+B;IAC1D,IAAI,IAAI,GAAG,WAAW,CAAC;IAEvB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAE,CAAC,IAAI,CAAe,CAAC;IAClD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,WAAuB,EAAE,QAAoB;IACzE,OAAO,CAAC,WAAW,GAAG,QAAQ,CAAC,KAAK,QAAQ,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"tag.js","sourceRoot":"","sources":["../../src/core/tag.ts"],"names":[],"mappings":"AAAA,yFAAyF;AAKzF;;;;;GAKG;AACH,MAAM,UAAU,GAAG,EAAE,CAAC;AAatB;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAe,CAAC;AAiC3C,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC;AAEvB;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAkB,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAExE,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,KAAK,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC;AACzE,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,GAAG,CAAkB,IAAY;IAC/C,aAAa,IAAI,CAAC,CAAC;IACnB,MAAM,EAAE,GAAG,aAAa,CAAC;IACzB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,CAAe,CAAC;IACpD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA8B,CAAC;IACvD,+FAA+F;IAC/F,gGAAgG;IAChG,8DAA8D;IAC9D,IAAI,SAA4B,CAAC;IACjC,IAAI,QAAuC,CAAC;IAE5C,MAAM,GAAG,GAAkB;QACzB,IAAI;QACJ,EAAE;QACF,IAAI;QACJ,EAAE,CAAC,KAAY;YACb,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;gBAC1D,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAExC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,SAAS,GAAG,KAAK,CAAC;gBAClB,QAAQ,GAAG,QAAQ,CAAC;gBAEpB,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,MAAM,IAAI,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAuB,CAAC;YAEvD,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC7B,SAAS,GAAG,KAAK,CAAC;YAClB,QAAQ,GAAG,IAAI,CAAC;YAEhB,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;IAEF,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,IAA+B;IAC1D,IAAI,IAAI,GAAG,WAAW,CAAC;IAEvB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAE,CAAC,IAAI,CAAe,CAAC;IAClD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,WAAuB,EAAE,QAAoB;IACzE,OAAO,CAAC,WAAW,GAAG,QAAQ,CAAC,KAAK,QAAQ,CAAC;AAC/C,CAAC"}
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import type { Binding } from "#/core/binding";
8
8
  import type { BindingRegistry } from "#/core/registry";
9
+ import type { BindingTag } from "#/core/tag";
9
10
  import type { Token } from "#/core/token";
10
11
  import type { Constructor } from "#/core/types";
11
12
  /**
@@ -38,5 +39,7 @@ export declare class BindingLookupCache<Owner> {
38
39
  defaultEntry(token: Token<unknown> | Constructor): DefaultLookupEntry<Owner> | null;
39
40
  /** `null` when the name's shape needs the full selection path. */
40
41
  namedEntry(token: Token<unknown> | Constructor, name: string): DefaultLookupEntry<Owner> | null;
42
+ /** `null` when the tag's shape needs the full selection path. */
43
+ taggedEntry(token: Token<unknown> | Constructor, tag: BindingTag): DefaultLookupEntry<Owner> | null;
41
44
  }
42
45
  //# sourceMappingURL=binding-lookup-cache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"binding-lookup-cache.d.ts","sourceRoot":"","sources":["../../../src/resolution/cache/binding-lookup-cache.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB,CAAC,KAAK;IACvC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,KAAK,CAAC;AAOlC;;GAEG;AACH,qBAAa,kBAAkB,CAAC,KAAK;;IAenC,YAAY,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAAG,SAAS,EAIjG;IAED,6EAA6E;IAC7E,YAAY,IAAI,MAAM,CAMrB;IAED,mEAAmE;IACnE,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,IAAI,CAiBlF;IAED,kEAAkE;IAClE,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,IAAI,CAe9F;CA2CF"}
1
+ {"version":3,"file":"binding-lookup-cache.d.ts","sourceRoot":"","sources":["../../../src/resolution/cache/binding-lookup-cache.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB,CAAC,KAAK;IACvC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,KAAK,CAAC;AASlC;;GAEG;AACH,qBAAa,kBAAkB,CAAC,KAAK;;IAuBnC,YAAY,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAAG,SAAS,EAIjG;IAED,6EAA6E;IAC7E,YAAY,IAAI,MAAM,CAMrB;IAED,mEAAmE;IACnE,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,IAAI,CAiBlF;IAED,kEAAkE;IAClE,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,IAAI,CAe9F;IAED,iEAAiE;IACjE,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,WAAW,EAAE,GAAG,EAAE,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,IAAI,CA4BlG;CA0DF"}
@@ -9,6 +9,7 @@ export const ALIAS_HOP_LIMIT = 32;
9
9
  * @since 0.5.0-canary.8
10
10
  */
11
11
  const newNameToEntryMap = () => new Map();
12
+ const newTagToEntryMap = () => new Map();
12
13
  /**
13
14
  * @since 0.5.0-canary.9
14
15
  */
@@ -22,6 +23,14 @@ export class BindingLookupCache {
22
23
  #lastEntry = null;
23
24
  #byTokenAndName = new Map();
24
25
  #namedVersion = -1;
26
+ #byTokenAndTag = new Map();
27
+ #taggedVersion = -1;
28
+ // One entry in front of the tag map, and the map is not written until a second distinct request
29
+ // shape appears: a per-request child usually asks one (token, tag) once, and the inner-map
30
+ // allocation was that shape's whole regression when this memo landed.
31
+ #lastTagToken;
32
+ #lastTag;
33
+ #lastTaggedEntry = null;
25
34
  #registry;
26
35
  #owner;
27
36
  #parent;
@@ -75,6 +84,38 @@ export class BindingLookupCache {
75
84
  }
76
85
  return entry;
77
86
  }
87
+ /** `null` when the tag's shape needs the full selection path. */
88
+ taggedEntry(token, tag) {
89
+ const version = this.chainVersion();
90
+ if (version !== this.#taggedVersion) {
91
+ this.#byTokenAndTag.clear();
92
+ this.#taggedVersion = version;
93
+ this.#lastTagToken = undefined;
94
+ this.#lastTag = undefined;
95
+ }
96
+ else if (token === this.#lastTagToken && tag === this.#lastTag) {
97
+ return this.#lastTaggedEntry;
98
+ }
99
+ let entry;
100
+ if (this.#lastTagToken === undefined) {
101
+ // First shape this cache generation sees: answer from the walk and defer the map entirely.
102
+ entry = this.#findTaggedInChain(token, tag);
103
+ }
104
+ else {
105
+ // Keyed by the criterion object itself: criteria are interned, so identity is the slot
106
+ // contract's own `Object.is` — the same exactness the registry's tagged index relies on.
107
+ const byTag = this.#byTokenAndTag.getOrInsertComputed(token, newTagToEntryMap);
108
+ entry = byTag.get(tag);
109
+ if (entry === undefined) {
110
+ entry = this.#findTaggedInChain(token, tag);
111
+ byTag.set(tag, entry);
112
+ }
113
+ }
114
+ this.#lastTagToken = token;
115
+ this.#lastTag = tag;
116
+ this.#lastTaggedEntry = entry;
117
+ return entry;
118
+ }
78
119
  #foldAliases(token) {
79
120
  let current = token;
80
121
  for (let hop = 0; hop < ALIAS_HOP_LIMIT; hop += 1) {
@@ -114,5 +155,19 @@ export class BindingLookupCache {
114
155
  }
115
156
  return this.#parent === undefined ? null : this.#parent.#findNamedInChain(token, name);
116
157
  }
158
+ #findTaggedInChain(token, tag) {
159
+ const tagged = this.#registry.getSimpleTagged(token, tag);
160
+ if (tagged !== undefined) {
161
+ // Predicates need a live context; aliases carry options through the full path.
162
+ if (tagged.predicate !== undefined || tagged.kind === "alias") {
163
+ return null;
164
+ }
165
+ return { binding: tagged, owner: this.#owner };
166
+ }
167
+ if (this.#registry.has(token)) {
168
+ return null;
169
+ }
170
+ return this.#parent === undefined ? null : this.#parent.#findTaggedInChain(token, tag);
171
+ }
117
172
  }
118
173
  //# sourceMappingURL=binding-lookup-cache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"binding-lookup-cache.js","sourceRoot":"","sources":["../../../src/resolution/cache/binding-lookup-cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binding-lookup-cache.js","sourceRoot":"","sources":["../../../src/resolution/cache/binding-lookup-cache.ts"],"names":[],"mappings":"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"}