@codefast/di 0.7.1 → 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.
- package/CHANGELOG.md +27 -0
- package/dist/container/binding-builders.d.ts.map +1 -1
- package/dist/container/binding-builders.js +4 -5
- package/dist/container/binding-builders.js.map +1 -1
- package/dist/container/container.d.ts.map +1 -1
- package/dist/container/container.js +3 -4
- package/dist/container/container.js.map +1 -1
- package/dist/core/binding.d.ts +15 -2
- package/dist/core/binding.d.ts.map +1 -1
- package/dist/core/binding.js +29 -4
- package/dist/core/binding.js.map +1 -1
- package/dist/core/registry.d.ts +0 -3
- package/dist/core/registry.d.ts.map +1 -1
- package/dist/core/registry.js +14 -61
- package/dist/core/registry.js.map +1 -1
- package/dist/core/tag.d.ts +26 -0
- package/dist/core/tag.d.ts.map +1 -1
- package/dist/core/tag.js +54 -11
- package/dist/core/tag.js.map +1 -1
- package/dist/errors/errors.d.ts.map +1 -1
- package/dist/errors/errors.js +28 -3
- package/dist/errors/errors.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/injection/resolve-options.d.ts +17 -12
- package/dist/injection/resolve-options.d.ts.map +1 -1
- package/dist/injection/resolve-options.js +69 -15
- package/dist/injection/resolve-options.js.map +1 -1
- package/dist/introspection/dependency-graph.d.ts.map +1 -1
- package/dist/introspection/dependency-graph.js +22 -9
- package/dist/introspection/dependency-graph.js.map +1 -1
- package/dist/resolution/cache/binding-lookup-cache.d.ts +1 -3
- package/dist/resolution/cache/binding-lookup-cache.d.ts.map +1 -1
- package/dist/resolution/cache/binding-lookup-cache.js +1 -38
- package/dist/resolution/cache/binding-lookup-cache.js.map +1 -1
- package/dist/resolution/plan/instantiation-plan.d.ts +4 -12
- package/dist/resolution/plan/instantiation-plan.d.ts.map +1 -1
- package/dist/resolution/plan/instantiation-plan.js +9 -27
- package/dist/resolution/plan/instantiation-plan.js.map +1 -1
- package/dist/resolution/resolver.d.ts +12 -5
- package/dist/resolution/resolver.d.ts.map +1 -1
- package/dist/resolution/resolver.js +106 -141
- package/dist/resolution/resolver.js.map +1 -1
- package/dist/resolution/select/binding-select.d.ts +4 -5
- package/dist/resolution/select/binding-select.d.ts.map +1 -1
- package/dist/resolution/select/binding-select.js +18 -20
- package/dist/resolution/select/binding-select.js.map +1 -1
- package/package.json +2 -2
- package/src/container/binding-builders.ts +10 -5
- package/src/container/container.ts +3 -4
- package/src/core/binding.ts +33 -5
- package/src/core/registry.ts +14 -66
- package/src/core/tag.ts +71 -17
- package/src/errors/errors.ts +28 -5
- package/src/index.ts +1 -1
- package/src/injection/resolve-options.ts +75 -18
- package/src/introspection/dependency-graph.ts +23 -9
- package/src/resolution/cache/binding-lookup-cache.ts +1 -41
- package/src/resolution/plan/instantiation-plan.ts +13 -38
- package/src/resolution/resolver.ts +120 -141
- package/src/resolution/select/binding-select.ts +18 -21
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/core/registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/core/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/core/tag.d.ts
CHANGED
|
@@ -47,6 +47,14 @@ export interface TagKey<Value = unknown> {
|
|
|
47
47
|
readonly mask: TagKeyMask;
|
|
48
48
|
/** The criterion for one value, interned: the same value always yields the same object. */
|
|
49
49
|
of(value: Value): BindingTag<Value>;
|
|
50
|
+
/**
|
|
51
|
+
* The interned criterion for a value, or `undefined` when none was ever minted.
|
|
52
|
+
*
|
|
53
|
+
* @remarks Reading without minting is what keeps a request-side value from being retained for
|
|
54
|
+
* the process lifetime: a value no binding ever declared has no criterion, so a lookup can
|
|
55
|
+
* answer "no match" without inserting one.
|
|
56
|
+
*/
|
|
57
|
+
peek(value: Value): BindingTag<Value> | undefined;
|
|
50
58
|
}
|
|
51
59
|
/**
|
|
52
60
|
* Declares a tag key, whose `of()` builds the criteria a `whenTagged` and a resolve both take.
|
|
@@ -64,6 +72,24 @@ export interface TagKey<Value = unknown> {
|
|
|
64
72
|
* @since 0.6.0
|
|
65
73
|
*/
|
|
66
74
|
export declare function tag<Value = unknown>(name: string): TagKey<Value>;
|
|
75
|
+
/**
|
|
76
|
+
* The reserved key a slot's name is a criterion of.
|
|
77
|
+
*
|
|
78
|
+
* @remarks `whenNamed(n)` and a request's `name` are sugar for `slotName.of(n)`, so one selection
|
|
79
|
+
* model serves both spellings — a name takes part in key masks, indexes and specificity like any
|
|
80
|
+
* criterion. What reserves the key is its identity; diagnostics render its criteria as `name:<value>`.
|
|
81
|
+
*
|
|
82
|
+
* @since 0.8.0
|
|
83
|
+
*/
|
|
84
|
+
export declare const slotName: TagKey<string>;
|
|
85
|
+
/**
|
|
86
|
+
* The reserved criterion for a name, or `undefined` while no binding has declared it.
|
|
87
|
+
*
|
|
88
|
+
* @remarks Reads without minting, so a request-side name no binding declared is never retained.
|
|
89
|
+
*
|
|
90
|
+
* @since 0.8.0
|
|
91
|
+
*/
|
|
92
|
+
export declare function slotNameCriterionOf(name: string): BindingTag<string> | undefined;
|
|
67
93
|
/**
|
|
68
94
|
* The key set a list of criteria covers.
|
|
69
95
|
*
|
package/dist/core/tag.d.ts.map
CHANGED
|
@@ -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;
|
|
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;IACpC;;;;;;OAMG;IACH,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;CACnD;AAiBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,GAAG,CAAC,KAAK,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAoDhE;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,CAA0B,CAAC;AAO/D;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,SAAS,CAUhF;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
|
@@ -49,6 +49,22 @@ export function tag(name) {
|
|
|
49
49
|
// split and `NaN` hits itself, with no `internKeyFor` detour.
|
|
50
50
|
let lastValue;
|
|
51
51
|
let lastPair;
|
|
52
|
+
// The miss paths live outside `of()`/`peek()` so the hot wrappers stay small enough to inline.
|
|
53
|
+
const internPair = (value) => {
|
|
54
|
+
const cacheKey = internKeyFor(value);
|
|
55
|
+
const existing = interned.get(cacheKey);
|
|
56
|
+
if (existing !== undefined) {
|
|
57
|
+
lastValue = value;
|
|
58
|
+
lastPair = existing;
|
|
59
|
+
return existing;
|
|
60
|
+
}
|
|
61
|
+
const pair = { key, value, mask };
|
|
62
|
+
interned.set(cacheKey, pair);
|
|
63
|
+
lastValue = value;
|
|
64
|
+
lastPair = pair;
|
|
65
|
+
return pair;
|
|
66
|
+
};
|
|
67
|
+
const peekInterned = (value) => interned.get(internKeyFor(value));
|
|
52
68
|
const key = {
|
|
53
69
|
name,
|
|
54
70
|
id,
|
|
@@ -57,22 +73,49 @@ export function tag(name) {
|
|
|
57
73
|
if (lastPair !== undefined && Object.is(value, lastValue)) {
|
|
58
74
|
return lastPair;
|
|
59
75
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
lastPair
|
|
65
|
-
return existing;
|
|
76
|
+
return internPair(value);
|
|
77
|
+
},
|
|
78
|
+
peek(value) {
|
|
79
|
+
if (lastPair !== undefined && Object.is(value, lastValue)) {
|
|
80
|
+
return lastPair;
|
|
66
81
|
}
|
|
67
|
-
|
|
68
|
-
interned.set(cacheKey, pair);
|
|
69
|
-
lastValue = value;
|
|
70
|
-
lastPair = pair;
|
|
71
|
-
return pair;
|
|
82
|
+
return peekInterned(value);
|
|
72
83
|
},
|
|
73
84
|
};
|
|
74
85
|
return key;
|
|
75
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* The reserved key a slot's name is a criterion of.
|
|
89
|
+
*
|
|
90
|
+
* @remarks `whenNamed(n)` and a request's `name` are sugar for `slotName.of(n)`, so one selection
|
|
91
|
+
* model serves both spellings — a name takes part in key masks, indexes and specificity like any
|
|
92
|
+
* criterion. What reserves the key is its identity; diagnostics render its criteria as `name:<value>`.
|
|
93
|
+
*
|
|
94
|
+
* @since 0.8.0
|
|
95
|
+
*/
|
|
96
|
+
export const slotName = tag("di:name");
|
|
97
|
+
// One-entry front for the reserved key's read: a name's criterion never changes once minted, so a
|
|
98
|
+
// hit is sound forever, and a miss is never cached so a later `whenNamed` bind is still seen.
|
|
99
|
+
let lastPeekedName;
|
|
100
|
+
let lastPeekedCriterion;
|
|
101
|
+
/**
|
|
102
|
+
* The reserved criterion for a name, or `undefined` while no binding has declared it.
|
|
103
|
+
*
|
|
104
|
+
* @remarks Reads without minting, so a request-side name no binding declared is never retained.
|
|
105
|
+
*
|
|
106
|
+
* @since 0.8.0
|
|
107
|
+
*/
|
|
108
|
+
export function slotNameCriterionOf(name) {
|
|
109
|
+
if (name === lastPeekedName) {
|
|
110
|
+
return lastPeekedCriterion;
|
|
111
|
+
}
|
|
112
|
+
const criterion = slotName.peek(name);
|
|
113
|
+
if (criterion !== undefined) {
|
|
114
|
+
lastPeekedName = name;
|
|
115
|
+
lastPeekedCriterion = criterion;
|
|
116
|
+
}
|
|
117
|
+
return criterion;
|
|
118
|
+
}
|
|
76
119
|
/**
|
|
77
120
|
* The key set a list of criteria covers.
|
|
78
121
|
*
|
package/dist/core/tag.js.map
CHANGED
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"tag.js","sourceRoot":"","sources":["../../src/core/tag.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/errors/errors.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { slotName } from "#/core/tag";
|
|
1
2
|
/**
|
|
2
3
|
* Base class for every error the library throws, each carrying a machine-readable `code`.
|
|
3
4
|
*
|
|
@@ -34,11 +35,35 @@ export class TokenNotBoundError extends DiError {
|
|
|
34
35
|
}
|
|
35
36
|
}
|
|
36
37
|
// Options carry caller values a tag may hold — a bigint or a circular object must not make the
|
|
37
|
-
// diagnostic itself throw and mask the real error.
|
|
38
|
+
// diagnostic itself throw and mask the real error. The reserved criterion renders as `name`.
|
|
38
39
|
function describeResolveOptions(options) {
|
|
39
40
|
try {
|
|
40
|
-
|
|
41
|
-
|
|
41
|
+
let name = options.name;
|
|
42
|
+
const criteria = [];
|
|
43
|
+
const add = (criterion) => {
|
|
44
|
+
if (criterion.key === slotName) {
|
|
45
|
+
name ??= String(criterion.value);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
criteria.push(`${criterion.key.name}=${String(criterion.value)}`);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
if (options.tag !== undefined) {
|
|
52
|
+
add(options.tag);
|
|
53
|
+
}
|
|
54
|
+
if (options.tags !== undefined) {
|
|
55
|
+
for (const criterion of options.tags) {
|
|
56
|
+
add(criterion);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
const display = {};
|
|
60
|
+
if (name !== undefined) {
|
|
61
|
+
display.name = name;
|
|
62
|
+
}
|
|
63
|
+
if (criteria.length > 0) {
|
|
64
|
+
display.tags = criteria;
|
|
65
|
+
}
|
|
66
|
+
return JSON.stringify(display) ?? "undefined";
|
|
42
67
|
}
|
|
43
68
|
catch {
|
|
44
69
|
return "[unserializable options]";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC;;;;GAIG;AACH,MAAM,OAAgB,OAAQ,SAAQ,KAAK;IAGzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACpC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,aAAc,SAAQ,OAAO;IAC/B,IAAI,GAAG,gBAAgB,CAAC;IAEjC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,kBAAmB,SAAQ,OAAO;IACpC,IAAI,GAAG,iBAAiB,CAAC;IACzB,SAAS,CAAS;IAE3B,YAAY,SAAiB;QAC3B,KAAK,CAAC,+BAA+B,SAAS,oCAAoC,SAAS,IAAI,CAAC,CAAC;QACjG,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED,+FAA+F;AAC/F,6FAA6F;AAC7F,SAAS,sBAAsB,CAAC,OAAuB;IACrD,IAAI,CAAC;QACH,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACxB,MAAM,QAAQ,GAAkB,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,CAAC,SAAqB,EAAQ,EAAE;YAC1C,IAAI,SAAS,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC/B,IAAI,KAAK,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC,CAAC;QACF,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC9B,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACrC,GAAG,CAAC,SAAS,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QACD,MAAM,OAAO,GAA4C,EAAE,CAAC;QAC5D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,0BAA0B,CAAC;IACpC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,sBAAuB,SAAQ,OAAO;IACxC,IAAI,GAAG,qBAAqB,CAAC;IAC7B,SAAS,CAAS;IAClB,OAAO,CAAiB;IACxB,cAAc,CAAgB;IAEvC,YAAY,SAAiB,EAAE,OAAuB,EAAE,cAA6B;QACnF,MAAM,aAAa,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,KAAK,CAAC,mBAAmB,SAAS,cAAc,aAAa,uBAAuB,QAAQ,IAAI,CAAC,CAAC;QAClG,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,qBAAsB,SAAQ,OAAO;IACvC,IAAI,GAAG,mBAAmB,CAAC;IAC3B,SAAS,CAAS;IAClB,YAAY,CAAmC;IAExD,YAAY,SAAiB,EAAE,YAA8C;QAC3E,KAAK,CACH,0BAA0B,SAAS,kDAAkD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,qDAAqD,CAClK,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,uBAAwB,SAAQ,OAAO;IACzC,IAAI,GAAG,qBAAqB,CAAC;IAC7B,KAAK,CAAgB;IAE9B,YAAY,KAAoB;QAC9B,KAAK,CAAC,iCAAiC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,oBAAqB,SAAQ,OAAO;IACtC,IAAI,GAAG,kBAAkB,CAAC;IACnC,kFAAkF;IACzE,SAAS,CAAS;IAC3B,0FAA0F;IACjF,gBAAgB,CAAS;IAElC,YAAY,SAAiB,EAAE,gBAAgB,GAAW,SAAS;QACjE,KAAK,CACH,gBAAgB,KAAK,SAAS;YAC5B,CAAC,CAAC,UAAU,SAAS,wFAAwF,SAAS,IAAI;YAC1H,CAAC,CAAC,UAAU,SAAS,wCAAwC,gBAAgB,8EAA8E,SAAS,IAAI,CAC3K,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,sBAAuB,SAAQ,OAAO;IACxC,IAAI,GAAG,oBAAoB,CAAC;IAC5B,SAAS,CAAS;IAE3B,YAAY,SAAiB;QAC3B,KAAK,CAAC,UAAU,SAAS,mEAAmE,CAAC,CAAC;QAC9F,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAeD;;;;GAIG;AACH,MAAM,OAAO,mBAAoB,SAAQ,OAAO;IACrC,IAAI,GAAG,iBAAiB,CAAC;IACzB,OAAO,CAAwB;IAExC,YAAY,OAA8B;QACxC,KAAK,CACH,qBAAqB,OAAO,CAAC,aAAa,MAAM,OAAO,CAAC,aAAa,iBAAiB,OAAO,CAAC,eAAe,MAAM,OAAO,CAAC,eAAe,YAAY,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CACjL,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,qBAAsB,SAAQ,OAAO;IACvC,IAAI,GAAG,oBAAoB,CAAC;IAC5B,UAAU,CAAS;IAE5B,YAAY,UAAkB;QAC5B,KAAK,CACH,GAAG,UAAU,yKAAyK,CACvL,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,0BAA2B,SAAQ,OAAO;IAC5C,IAAI,GAAG,wBAAwB,CAAC;IAChC,SAAS,CAAS;IAClB,YAAY,CAAS;IACrB,UAAU,CAAS;IAE5B,YAAY,SAAiB,EAAE,YAAoB,EAAE,UAAkB;QACrE,KAAK,CACH,oBAAoB,SAAS,uBAAuB,UAAU,KAAK,YAAY,iFAAiF,YAAY,uEAAuE,YAAY,8DAA8D,CAC9T,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,6BAA8B,SAAQ,OAAO;IAC/C,IAAI,GAAG,4BAA4B,CAAC;IACpC,SAAS,CAAS;IAClB,KAAK,CAAoC;IAElD,YAAY,SAAiB,EAAE,KAAwC;QACrE,KAAK,CACH,GAAG,KAAK,yBAAyB,SAAS,wHAAwH,SAAS,uDAAuD,SAAS,4DAA4D,CACxS,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,oBAAqB,SAAQ,OAAO;IACtC,IAAI,GAAG,kBAAkB,CAAC;IAC1B,UAAU,CAAS;IACnB,MAAM,CAAS;IAExB,YAAY,UAAkB,EAAE,MAAc;QAC5C,KAAK,CACH,uDAAuD,UAAU,MAAM,MAAM,kFAAkF,CAChK,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,oBAAqB,SAAQ,OAAO;IACtC,IAAI,GAAG,kBAAkB,CAAC;IAC1B,UAAU,CAAS;IAE5B,YAAY,UAAkB;QAC5B,KAAK,CACH,UAAU,UAAU,2GAA2G,CAChI,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,oBAAqB,SAAQ,OAAO;IACtC,IAAI,GAAG,mBAAmB,CAAC;IAC3B,UAAU,CAAS;IAE5B,YAAY,UAAkB;QAC5B,KAAK,CAAC,WAAW,UAAU,gDAAgD,CAAC,CAAC;QAC7E,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,6BAA8B,SAAQ,OAAO;IAC/C,IAAI,GAAG,6BAA6B,CAAC;IAE9C;QACE,KAAK,CACH,oJAAoJ,CACrJ,CAAC;IACJ,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,wBAAyB,SAAQ,OAAO;IAC1C,IAAI,GAAG,uBAAuB,CAAC;IAC/B,SAAS,CAAS;IAE3B,YAAY,SAAiB;QAC3B,KAAK,CACH,UAAU,SAAS,sIAAsI,CAC1J,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,4BAA6B,SAAQ,OAAO;IAC9C,IAAI,GAAG,2BAA2B,CAAC;IAC5C,gFAAgF;IACvE,SAAS,CAAqB;IAC9B,YAAY,CAAkB;IAEvC,YAAY,SAA6B,EAAE,YAA6B;QACtE,MAAM,QAAQ,GAAG,qBAAqB,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC;QAC9D,KAAK,CACH,SAAS,KAAK,SAAS;YACrB,CAAC,CAAC,MAAM,QAAQ,iIAAiI;YACjJ,CAAC,CAAC,UAAU,SAAS,YAAY,QAAQ,sFAAsF,SAAS,+CAA+C,CAC1L,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,uBAAwB,SAAQ,OAAO;IACzC,IAAI,GAAG,sBAAsB,CAAC;IAC9B,SAAS,CAAS;IAE3B,YAAY,SAAiB;QAC3B,KAAK,CACH,wCAAwC,SAAS,qIAAqI,CACvL,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,uBAAwB,SAAQ,OAAO;IACzC,IAAI,GAAG,sBAAsB,CAAC;IAC9B,SAAS,CAAS;IAE3B,YAAY,SAAiB;QAC3B,KAAK,CACH,wBAAwB,SAAS,yEAAyE,SAAS,oCAAoC,CACxJ,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,6BAA8B,SAAQ,OAAO;IAC/C,IAAI,GAAG,6BAA6B,CAAC;IACrC,SAAS,CAAS;IAE3B,YAAY,SAAiB;QAC3B,KAAK,CACH,gEAAgE,SAAS,oIAAoI,CAC9M,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,0BAA2B,SAAQ,OAAO;IAC5C,IAAI,GAAG,yBAAyB,CAAC;IACjC,aAAa,CAAS;IACtB,UAAU,CAAS;IAE5B,YAAY,aAAqB,EAAE,UAAkB;QACnD,KAAK,CACH,IAAI,aAAa,6CAA6C,UAAU,mHAAmH,CAC5L,CAAC;QACF,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,sBAAuB,SAAQ,OAAO;IACxC,IAAI,GAAG,oBAAoB,CAAC;IAErC;QACE,KAAK,CAAC,oDAAoD,CAAC,CAAC;IAC9D,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,oBAAqB,SAAQ,OAAO;IACtC,IAAI,GAAG,kBAAkB,CAAC;IAC1B,SAAS,CAAS;IAClB,QAAQ,CAAmC;IAC3C,UAAU,CAAqB;IAExC,YAAY,SAAiB,EAAE,QAA0C,EAAE,UAAmB;QAC5F,MAAM,MAAM,GACV,QAAQ,KAAK,eAAe;YAC1B,CAAC,CAAC,0BAA0B,UAAU,IAAI,EAAE,sBAAsB;YAClE,CAAC,CAAC,qBAAqB,SAAS,sBAAsB,CAAC;QAC3D,KAAK,CAAC,GAAG,MAAM,+BAA+B,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export type { ActivationHandler, BindingConstraint, BindingIdentifier, BindingKind, BindingScope, BindingTag, ConstraintContext, Constructor, DependencyKey, DeactivationHandler, ResolutionFrame, ResolveOptions, ResolutionContext, TokenValue, } from "#/core/types";
|
|
2
2
|
export { token, tokenName } from "#/core/token";
|
|
3
3
|
export type { Token } from "#/core/token";
|
|
4
|
-
export { coversTagKeys, NO_TAG_KEYS, tag, tagKeyMaskOf } from "#/core/tag";
|
|
4
|
+
export { coversTagKeys, NO_TAG_KEYS, slotName, tag, tagKeyMaskOf } from "#/core/tag";
|
|
5
5
|
export type { TagKey, TagKeyMask } from "#/core/tag";
|
|
6
6
|
export type { AliasBindingBuilder, BindToBuilder, BindingBuilder, ConstantBindingBuilder, ScopedBindingBuilder, SingletonBindingBuilder, SingletonLifecycleBuilder, SlotConstrainedBuilder, TransientBindingBuilder, } from "#/core/binding";
|
|
7
7
|
export { Container } from "#/container/container";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,UAAU,GACX,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAChD,YAAY,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Token
|
|
2
2
|
export { token, tokenName } from "#/core/token";
|
|
3
3
|
// Tag — the interned slot criteria a `whenTagged` and a resolve both take
|
|
4
|
-
export { coversTagKeys, NO_TAG_KEYS, tag, tagKeyMaskOf } from "#/core/tag";
|
|
4
|
+
export { coversTagKeys, NO_TAG_KEYS, slotName, tag, tagKeyMaskOf } from "#/core/tag";
|
|
5
5
|
// Container
|
|
6
6
|
export { Container } from "#/container/container";
|
|
7
7
|
// Ambient container — the context an `@inject` accessor initializer resolves from. `resolution/context`
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkBA,QAAQ;AACR,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGhD,0EAA0E;AAC1E,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkBA,QAAQ;AACR,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGhD,0EAA0E;AAC1E,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAgBrF,YAAY;AACZ,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGlD,wGAAwG;AACxG,sEAAsE;AACtE,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAElF,kGAAkG;AAClG,kGAAkG;AAClG,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AASrC,SAAS;AACT,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG9E,aAAa;AACb,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEpF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAE9E,gBAAgB;AAChB,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAGrE,8FAA8F;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAQvE,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEhG,4DAA4D;AAC5D,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,iCAAiC,CAAC;AAEzC,SAAS;AACT,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,OAAO,EACP,sBAAsB,EACtB,aAAa,EACb,oBAAoB,EACpB,4BAA4B,EAC5B,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,6BAA6B,EAC7B,0BAA0B,EAC1B,6BAA6B,EAC7B,qBAAqB,EACrB,kBAAkB,EAClB,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,iBAAiB,CAAC;AAGzB,gFAAgF;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAE5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAE5E,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC"}
|
|
@@ -17,22 +17,15 @@ export interface DependencySlot {
|
|
|
17
17
|
readonly tags?: ReadonlyArray<BindingTag> | undefined;
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
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
|
-
* @
|
|
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
|
|
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;
|
|
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
|
-
*
|
|
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
|
-
* @
|
|
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
|
|
18
|
-
if (options
|
|
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
|
-
|
|
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":"
|
|
1
|
+
{"version":3,"file":"resolve-options.js","sourceRoot":"","sources":["../../src/injection/resolve-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
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
|
-
...(
|
|
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
|
|
85
|
-
const perTargetLabel = ref.multi &&
|
|
86
|
-
? edgeLabel({ ...ref, name:
|
|
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
|
-
...(
|
|
106
|
+
...(edgeSlotName !== undefined ? { slotName: edgeSlotName } : {}),
|
|
94
107
|
});
|
|
95
108
|
}
|
|
96
109
|
}
|