@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.
- package/CHANGELOG.md +33 -0
- package/README.md +1 -1
- package/dist/ambient/active-container.d.ts +4 -0
- package/dist/ambient/active-container.d.ts.map +1 -1
- package/dist/ambient/active-container.js +4 -0
- package/dist/ambient/active-container.js.map +1 -1
- 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 +6 -0
- package/dist/container/container.d.ts.map +1 -1
- package/dist/container/container.js +5 -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/module.d.ts +16 -0
- package/dist/core/module.d.ts.map +1 -1
- package/dist/core/module.js +8 -0
- package/dist/core/module.js.map +1 -1
- package/dist/core/registry.d.ts +2 -3
- package/dist/core/registry.d.ts.map +1 -1
- package/dist/core/registry.js +16 -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/core/token.d.ts +6 -0
- package/dist/core/token.d.ts.map +1 -1
- package/dist/core/token.js +4 -0
- package/dist/core/token.js.map +1 -1
- package/dist/core/types.d.ts +20 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/decorators/inject.d.ts +2 -0
- package/dist/decorators/inject.d.ts.map +1 -1
- package/dist/decorators/inject.js +2 -0
- package/dist/decorators/inject.js.map +1 -1
- package/dist/decorators/injectable.d.ts +6 -0
- package/dist/decorators/injectable.d.ts.map +1 -1
- package/dist/decorators/injectable.js +4 -0
- package/dist/decorators/injectable.js.map +1 -1
- package/dist/decorators/lifecycle-decorators.d.ts +4 -0
- package/dist/decorators/lifecycle-decorators.d.ts.map +1 -1
- package/dist/decorators/lifecycle-decorators.js +4 -0
- package/dist/decorators/lifecycle-decorators.js.map +1 -1
- package/dist/errors/errors.d.ts +34 -0
- package/dist/errors/errors.d.ts.map +1 -1
- package/dist/errors/errors.js +60 -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/descriptor.d.ts +12 -0
- package/dist/injection/descriptor.d.ts.map +1 -1
- package/dist/injection/descriptor.js +8 -0
- package/dist/injection/descriptor.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 +6 -0
- package/dist/introspection/dependency-graph.d.ts.map +1 -1
- package/dist/introspection/dependency-graph.js +24 -9
- package/dist/introspection/dependency-graph.js.map +1 -1
- package/dist/introspection/graph-adapters/cytoscape.d.ts +8 -0
- package/dist/introspection/graph-adapters/cytoscape.d.ts.map +1 -1
- package/dist/introspection/graph-adapters/cytoscape.js +2 -0
- package/dist/introspection/graph-adapters/cytoscape.js.map +1 -1
- package/dist/introspection/graph-adapters/dot.d.ts +2 -0
- package/dist/introspection/graph-adapters/dot.d.ts.map +1 -1
- package/dist/introspection/graph-adapters/dot.js +2 -0
- package/dist/introspection/graph-adapters/dot.js.map +1 -1
- package/dist/introspection/graph-adapters/reactflow.d.ts +8 -0
- package/dist/introspection/graph-adapters/reactflow.d.ts.map +1 -1
- package/dist/introspection/graph-adapters/reactflow.js +2 -0
- package/dist/introspection/graph-adapters/reactflow.js.map +1 -1
- package/dist/introspection/inspector.d.ts +6 -0
- package/dist/introspection/inspector.d.ts.map +1 -1
- package/dist/introspection/inspector.js +2 -0
- package/dist/introspection/inspector.js.map +1 -1
- package/dist/lifecycle/lifecycle-manager.d.ts +2 -0
- package/dist/lifecycle/lifecycle-manager.d.ts.map +1 -1
- package/dist/lifecycle/lifecycle-manager.js +2 -0
- package/dist/lifecycle/lifecycle-manager.js.map +1 -1
- package/dist/lifecycle/scope-manager.d.ts +2 -0
- package/dist/lifecycle/scope-manager.d.ts.map +1 -1
- package/dist/lifecycle/scope-manager.js +2 -0
- package/dist/lifecycle/scope-manager.js.map +1 -1
- package/dist/metadata/metadata-keys.d.ts +6 -0
- package/dist/metadata/metadata-keys.d.ts.map +1 -1
- package/dist/metadata/metadata-keys.js +6 -0
- package/dist/metadata/metadata-keys.js.map +1 -1
- package/dist/metadata/metadata-reader-token.d.ts +2 -0
- package/dist/metadata/metadata-reader-token.d.ts.map +1 -1
- package/dist/metadata/metadata-reader-token.js +2 -0
- package/dist/metadata/metadata-reader-token.js.map +1 -1
- package/dist/metadata/metadata-types.d.ts +6 -0
- package/dist/metadata/metadata-types.d.ts.map +1 -1
- package/dist/metadata/symbol-metadata-reader.d.ts +4 -0
- package/dist/metadata/symbol-metadata-reader.d.ts.map +1 -1
- package/dist/metadata/symbol-metadata-reader.js +4 -0
- package/dist/metadata/symbol-metadata-reader.js.map +1 -1
- package/dist/resolution/cache/activation-need.d.ts +2 -0
- package/dist/resolution/cache/activation-need.d.ts.map +1 -1
- package/dist/resolution/cache/activation-need.js +2 -0
- package/dist/resolution/cache/activation-need.js.map +1 -1
- package/dist/resolution/cache/binding-lookup-cache.d.ts +2 -2
- package/dist/resolution/cache/binding-lookup-cache.d.ts.map +1 -1
- package/dist/resolution/cache/binding-lookup-cache.js +2 -37
- package/dist/resolution/cache/binding-lookup-cache.js.map +1 -1
- package/dist/resolution/cache/class-introspector.d.ts +2 -0
- package/dist/resolution/cache/class-introspector.d.ts.map +1 -1
- package/dist/resolution/cache/class-introspector.js +2 -0
- package/dist/resolution/cache/class-introspector.js.map +1 -1
- package/dist/resolution/context.d.ts +6 -0
- package/dist/resolution/context.d.ts.map +1 -1
- package/dist/resolution/context.js +4 -0
- package/dist/resolution/context.js.map +1 -1
- package/dist/resolution/plan/instantiation-plan.d.ts +6 -12
- package/dist/resolution/plan/instantiation-plan.d.ts.map +1 -1
- package/dist/resolution/plan/instantiation-plan.js +11 -27
- package/dist/resolution/plan/instantiation-plan.js.map +1 -1
- package/dist/resolution/resolver.d.ts +14 -5
- package/dist/resolution/resolver.d.ts.map +1 -1
- package/dist/resolution/resolver.js +108 -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/dist/resolution/select/constraints.d.ts +16 -0
- package/dist/resolution/select/constraints.d.ts.map +1 -1
- package/dist/resolution/select/constraints.js +16 -0
- package/dist/resolution/select/constraints.js.map +1 -1
- package/package.json +13 -6
- package/src/ambient/active-container.ts +4 -0
- package/src/container/binding-builders.ts +10 -5
- package/src/container/container.ts +9 -4
- package/src/core/binding.ts +33 -5
- package/src/core/module.ts +16 -0
- package/src/core/registry.ts +16 -66
- package/src/core/tag.ts +71 -17
- package/src/core/token.ts +6 -0
- package/src/core/types.ts +20 -0
- package/src/decorators/inject.ts +2 -0
- package/src/decorators/injectable.ts +8 -0
- package/src/decorators/lifecycle-decorators.ts +4 -0
- package/src/errors/errors.ts +62 -5
- package/src/index.ts +1 -1
- package/src/injection/descriptor.ts +12 -0
- package/src/injection/resolve-options.ts +75 -18
- package/src/introspection/dependency-graph.ts +29 -9
- package/src/introspection/graph-adapters/cytoscape.ts +8 -0
- package/src/introspection/graph-adapters/dot.ts +2 -0
- package/src/introspection/graph-adapters/reactflow.ts +8 -0
- package/src/introspection/inspector.ts +6 -0
- package/src/lifecycle/lifecycle-manager.ts +2 -0
- package/src/lifecycle/scope-manager.ts +2 -0
- package/src/metadata/metadata-keys.ts +6 -0
- package/src/metadata/metadata-reader-token.ts +2 -0
- package/src/metadata/metadata-types.ts +6 -0
- package/src/metadata/symbol-metadata-reader.ts +4 -0
- package/src/resolution/cache/activation-need.ts +2 -0
- package/src/resolution/cache/binding-lookup-cache.ts +2 -40
- package/src/resolution/cache/class-introspector.ts +2 -0
- package/src/resolution/context.ts +6 -0
- package/src/resolution/plan/instantiation-plan.ts +15 -38
- package/src/resolution/resolver.ts +122 -141
- package/src/resolution/select/binding-select.ts +18 -21
- package/src/resolution/select/constraints.ts +16 -0
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { BindingScope, Constructor } from "#/core/types";
|
|
2
2
|
import type { InjectableDependency, ResolvedDependencyValue } from "#/injection/descriptor";
|
|
3
3
|
/**
|
|
4
|
+
* The collector `@injectable` registers a class into, for a container to bind later.
|
|
5
|
+
*
|
|
4
6
|
* @since 0.3.16-canary.0
|
|
5
7
|
*/
|
|
6
8
|
export interface AutoRegisterRegistry {
|
|
@@ -11,10 +13,14 @@ export interface AutoRegisterRegistry {
|
|
|
11
13
|
}>;
|
|
12
14
|
}
|
|
13
15
|
/**
|
|
16
|
+
* Creates an empty auto-register registry.
|
|
17
|
+
*
|
|
14
18
|
* @since 0.3.16-canary.0
|
|
15
19
|
*/
|
|
16
20
|
export declare function createAutoRegisterRegistry(): AutoRegisterRegistry;
|
|
17
21
|
/**
|
|
22
|
+
* Auto-registration options `@injectable` accepts alongside its deps list.
|
|
23
|
+
*
|
|
18
24
|
* @since 0.3.16-canary.0
|
|
19
25
|
*/
|
|
20
26
|
export interface InjectableOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injectable.d.ts","sourceRoot":"","sources":["../../src/decorators/injectable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAO5F
|
|
1
|
+
{"version":3,"file":"injectable.d.ts","sourceRoot":"","sources":["../../src/decorators/injectable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAO5F;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IACzD,OAAO,IAAI,aAAa,CAAC;QAAE,MAAM,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC;CACxE;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,IAAI,oBAAoB,CAUjE;AAID;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAChD,KAAK,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;CAClC;AAID;;;;;GAKG;AACH,KAAK,kBAAkB,CAAC,IAAI,SAAS,aAAa,CAAC,oBAAoB,CAAC,IAAI;IAC1E,CAAC,UAAU,KAAK,IAAI,MAAM,IAAI,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;CACtE,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB,KAAK,IAAI,CAAC;AAExF;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,KAAK,CAAC,IAAI,SAAS,aAAa,CAAC,oBAAoB,CAAC,EAC/E,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE,iBAAiB,GAC1B,CAAC,MAAM,SAAS,QAAQ,MAAM,GAAG,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC,KAAK,OAAO,EAC5E,MAAM,EAAE,MAAM,GACZ,CAAC,MAAM,SAAS,IAAI,CAAC,QAAQ,CAAC,GAC1B,OAAO,GACP,IAAI,CAAC,QAAQ,CAAC,SAAS,qBAAqB,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GAC5D,OAAO,GACP,KAAK,CAAC,EACd,OAAO,EAAE,qBAAqB,KAC3B,IAAI,CAAC;AA6CV,YAAY,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { normalizeToDescriptor } from "#/injection/descriptor";
|
|
2
2
|
import { INJECTABLE_KEY } from "#/metadata/metadata-keys";
|
|
3
3
|
/**
|
|
4
|
+
* Creates an empty auto-register registry.
|
|
5
|
+
*
|
|
4
6
|
* @since 0.3.16-canary.0
|
|
5
7
|
*/
|
|
6
8
|
export function createAutoRegisterRegistry() {
|
|
@@ -15,6 +17,8 @@ export function createAutoRegisterRegistry() {
|
|
|
15
17
|
};
|
|
16
18
|
}
|
|
17
19
|
/**
|
|
20
|
+
* Writes the declared dependencies into the class's metadata and optionally auto-registers it.
|
|
21
|
+
*
|
|
18
22
|
* @since 0.6.0
|
|
19
23
|
*/
|
|
20
24
|
export function injectable(deps, options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injectable.js","sourceRoot":"","sources":["../../src/decorators/injectable.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"injectable.js","sourceRoot":"","sources":["../../src/decorators/injectable.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAe1D;;;;GAIG;AACH,MAAM,UAAU,0BAA0B;IACxC,MAAM,iBAAiB,GAAwD,EAAE,CAAC;IAClF,OAAO;QACL,QAAQ,CAAC,MAAmB,EAAE,KAAmB;YAC/C,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO;YACL,OAAO,iBAAiB,CAAC;QAC3B,CAAC;KACF,CAAC;AACJ,CAAC;AAyDD;;;;GAIG;AACH,MAAM,UAAU,UAAU,CACxB,IAA0C,EAC1C,OAA2B;IAE3B,OAAO,UAAU,MAAa,EAAE,OAA8B;QAC5D,MAAM,qBAAqB,GAAyB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;YACzF,MAAM,UAAU,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,qBAAqB,GAAkE;gBAC3F,KAAK;gBACL,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,KAAK,EAAE,UAAU,CAAC,KAAK;aACxB,CAAC;YACF,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACnE,OAAO,EAAE,GAAG,qBAAqB,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;YACpF,CAAC;YACD,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAClC,OAAO,EAAE,GAAG,qBAAqB,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;YAC7D,CAAC;YACD,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAClC,OAAO,EAAE,GAAG,qBAAqB,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;YAC7D,CAAC;YACD,OAAO,qBAAqB,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,iFAAiF;QACjF,qDAAqD;QACpD,OAAO,CAAC,QAA6C,CAAC,cAAc,CAAC,GAAG;YACvE,MAAM,EAAE,qBAAqB;SAC9B,CAAC;QAEF,IAAI,OAAO,EAAE,YAAY,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,KAAK,GAAiB,OAAO,CAAC,KAAK,IAAI,WAAW,CAAC;YACzD,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAqB,EAAE,KAAK,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
type MethodDecorator = (target: unknown, context: ClassMethodDecoratorContext) => void;
|
|
2
2
|
/**
|
|
3
|
+
* Marks an instance method to run after the container constructs and wires the instance.
|
|
4
|
+
*
|
|
3
5
|
* @since 0.3.16-canary.0
|
|
4
6
|
*/
|
|
5
7
|
export declare function postConstruct(): MethodDecorator;
|
|
6
8
|
/**
|
|
9
|
+
* Marks an instance method to run when the instance's container or scope is disposed.
|
|
10
|
+
*
|
|
7
11
|
* @since 0.3.16-canary.0
|
|
8
12
|
*/
|
|
9
13
|
export declare function preDestroy(): MethodDecorator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle-decorators.d.ts","sourceRoot":"","sources":["../../src/decorators/lifecycle-decorators.ts"],"names":[],"mappings":"AAIA,KAAK,eAAe,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,2BAA2B,KAAK,IAAI,CAAC;AAsBvF
|
|
1
|
+
{"version":3,"file":"lifecycle-decorators.d.ts","sourceRoot":"","sources":["../../src/decorators/lifecycle-decorators.ts"],"names":[],"mappings":"AAIA,KAAK,eAAe,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,2BAA2B,KAAK,IAAI,CAAC;AAsBvF;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,eAAe,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,eAAe,CAE5C"}
|
|
@@ -20,12 +20,16 @@ function recordLifecycleMethod(phase) {
|
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
|
+
* Marks an instance method to run after the container constructs and wires the instance.
|
|
24
|
+
*
|
|
23
25
|
* @since 0.3.16-canary.0
|
|
24
26
|
*/
|
|
25
27
|
export function postConstruct() {
|
|
26
28
|
return recordLifecycleMethod("postConstruct");
|
|
27
29
|
}
|
|
28
30
|
/**
|
|
31
|
+
* Marks an instance method to run when the instance's container or scope is disposed.
|
|
32
|
+
*
|
|
29
33
|
* @since 0.3.16-canary.0
|
|
30
34
|
*/
|
|
31
35
|
export function preDestroy() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle-decorators.js","sourceRoot":"","sources":["../../src/decorators/lifecycle-decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAKzD,yGAAyG;AACzG,SAAS,qBAAqB,CAAC,KAAqC;IAClE,OAAO,UAAU,MAAe,EAAE,OAAoC;QACpE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,0BAA0B,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,QAA4C,CAAC;QAClE,+FAA+F;QAC/F,uEAAuE;QACvE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QAC9D,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAA6B,CAAC;QAClE,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3C,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"lifecycle-decorators.js","sourceRoot":"","sources":["../../src/decorators/lifecycle-decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAKzD,yGAAyG;AACzG,SAAS,qBAAqB,CAAC,KAAqC;IAClE,OAAO,UAAU,MAAe,EAAE,OAAoC;QACpE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,0BAA0B,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,QAA4C,CAAC;QAClE,+FAA+F;QAC/F,uEAAuE;QACvE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QAC9D,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAA6B,CAAC;QAClE,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3C,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,qBAAqB,CAAC,eAAe,CAAC,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,qBAAqB,CAAC,YAAY,CAAC,CAAC;AAC7C,CAAC"}
|
package/dist/errors/errors.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { BindingIdentifier, BindingScope, ResolveOptions } from "#/core/types";
|
|
2
2
|
/**
|
|
3
|
+
* Base class for every error the library throws, each carrying a machine-readable `code`.
|
|
4
|
+
*
|
|
3
5
|
* @since 0.3.16-canary.0
|
|
4
6
|
*/
|
|
5
7
|
export declare abstract class DiError extends Error {
|
|
@@ -7,6 +9,8 @@ export declare abstract class DiError extends Error {
|
|
|
7
9
|
constructor(message: string);
|
|
8
10
|
}
|
|
9
11
|
/**
|
|
12
|
+
* An internal assertion failure — a library bug, never caller misuse.
|
|
13
|
+
*
|
|
10
14
|
* @since 0.3.16-canary.0
|
|
11
15
|
*/
|
|
12
16
|
export declare class InternalError extends DiError {
|
|
@@ -14,6 +18,8 @@ export declare class InternalError extends DiError {
|
|
|
14
18
|
constructor(message: string);
|
|
15
19
|
}
|
|
16
20
|
/**
|
|
21
|
+
* A token with no binding at all, even after walking the parent container chain.
|
|
22
|
+
*
|
|
17
23
|
* @since 0.3.16-canary.0
|
|
18
24
|
*/
|
|
19
25
|
export declare class TokenNotBoundError extends DiError {
|
|
@@ -22,6 +28,8 @@ export declare class TokenNotBoundError extends DiError {
|
|
|
22
28
|
constructor(tokenName: string);
|
|
23
29
|
}
|
|
24
30
|
/**
|
|
31
|
+
* A token that has bindings, none of whose slots match the given `ResolveOptions`.
|
|
32
|
+
*
|
|
25
33
|
* @since 0.3.16-canary.0
|
|
26
34
|
*/
|
|
27
35
|
export declare class NoMatchingBindingError extends DiError {
|
|
@@ -32,6 +40,8 @@ export declare class NoMatchingBindingError extends DiError {
|
|
|
32
40
|
constructor(tokenName: string, options: ResolveOptions, availableSlots: Array<string>);
|
|
33
41
|
}
|
|
34
42
|
/**
|
|
43
|
+
* Two or more candidate bindings that matched without the more-specific rule deciding a winner.
|
|
44
|
+
*
|
|
35
45
|
* @since 0.3.16-canary.0
|
|
36
46
|
*/
|
|
37
47
|
export declare class AmbiguousBindingError extends DiError {
|
|
@@ -41,6 +51,8 @@ export declare class AmbiguousBindingError extends DiError {
|
|
|
41
51
|
constructor(tokenName: string, candidateIds: ReadonlyArray<BindingIdentifier>);
|
|
42
52
|
}
|
|
43
53
|
/**
|
|
54
|
+
* A dependency cycle detected along the resolution path, alias chains included.
|
|
55
|
+
*
|
|
44
56
|
* @since 0.3.16-canary.0
|
|
45
57
|
*/
|
|
46
58
|
export declare class CircularDependencyError extends DiError {
|
|
@@ -49,6 +61,8 @@ export declare class CircularDependencyError extends DiError {
|
|
|
49
61
|
constructor(cycle: Array<string>);
|
|
50
62
|
}
|
|
51
63
|
/**
|
|
64
|
+
* A sync `resolve()` of a token whose factory — or a dependency's factory — is async.
|
|
65
|
+
*
|
|
52
66
|
* @since 0.3.16-canary.0
|
|
53
67
|
*/
|
|
54
68
|
export declare class AsyncResolutionError extends DiError {
|
|
@@ -60,6 +74,8 @@ export declare class AsyncResolutionError extends DiError {
|
|
|
60
74
|
constructor(tokenName: string, asyncSourceToken?: string);
|
|
61
75
|
}
|
|
62
76
|
/**
|
|
77
|
+
* A sync `unbind()` of a binding whose `onDeactivation` handler is async.
|
|
78
|
+
*
|
|
63
79
|
* @since 0.3.16-canary.0
|
|
64
80
|
*/
|
|
65
81
|
export declare class AsyncDeactivationError extends DiError {
|
|
@@ -68,6 +84,8 @@ export declare class AsyncDeactivationError extends DiError {
|
|
|
68
84
|
constructor(tokenName: string);
|
|
69
85
|
}
|
|
70
86
|
/**
|
|
87
|
+
* The tokens, scopes, and resolution path describing a captive-dependency violation.
|
|
88
|
+
*
|
|
71
89
|
* @since 0.3.16-canary.0
|
|
72
90
|
*/
|
|
73
91
|
export interface ScopeViolationDetails {
|
|
@@ -78,6 +96,8 @@ export interface ScopeViolationDetails {
|
|
|
78
96
|
readonly path: Array<string>;
|
|
79
97
|
}
|
|
80
98
|
/**
|
|
99
|
+
* A captive dependency — a longer-lived binding depending on a shorter-lived one.
|
|
100
|
+
*
|
|
81
101
|
* @since 0.3.16-canary.0
|
|
82
102
|
*/
|
|
83
103
|
export declare class ScopeViolationError extends DiError {
|
|
@@ -146,6 +166,8 @@ export declare class InvalidMetadataError extends DiError {
|
|
|
146
166
|
constructor(targetName: string, reason: string);
|
|
147
167
|
}
|
|
148
168
|
/**
|
|
169
|
+
* A class the container must construct but that carries no `@injectable()` metadata.
|
|
170
|
+
*
|
|
149
171
|
* @since 0.3.16-canary.0
|
|
150
172
|
*/
|
|
151
173
|
export declare class MissingMetadataError extends DiError {
|
|
@@ -154,6 +176,8 @@ export declare class MissingMetadataError extends DiError {
|
|
|
154
176
|
constructor(targetName: string);
|
|
155
177
|
}
|
|
156
178
|
/**
|
|
179
|
+
* A sync `load()` given a module that needs async setup.
|
|
180
|
+
*
|
|
157
181
|
* @since 0.3.16-canary.0
|
|
158
182
|
*/
|
|
159
183
|
export declare class AsyncModuleLoadError extends DiError {
|
|
@@ -162,6 +186,8 @@ export declare class AsyncModuleLoadError extends DiError {
|
|
|
162
186
|
constructor(moduleName: string);
|
|
163
187
|
}
|
|
164
188
|
/**
|
|
189
|
+
* A synchronous disposal attempt on a container whose `onDeactivation` handlers may be async.
|
|
190
|
+
*
|
|
165
191
|
* @since 0.3.16-canary.0
|
|
166
192
|
*/
|
|
167
193
|
export declare class SyncDisposalNotSupportedError extends DiError {
|
|
@@ -169,6 +195,8 @@ export declare class SyncDisposalNotSupportedError extends DiError {
|
|
|
169
195
|
constructor();
|
|
170
196
|
}
|
|
171
197
|
/**
|
|
198
|
+
* A `scoped` binding resolved from a container with no child scope context.
|
|
199
|
+
*
|
|
172
200
|
* @since 0.3.16-canary.0
|
|
173
201
|
*/
|
|
174
202
|
export declare class MissingScopeContextError extends DiError {
|
|
@@ -207,6 +235,8 @@ export declare class ChainNotRegisteredError extends DiError {
|
|
|
207
235
|
constructor(tokenName: string);
|
|
208
236
|
}
|
|
209
237
|
/**
|
|
238
|
+
* A `rebind()` of a token that has no own binding in this container.
|
|
239
|
+
*
|
|
210
240
|
* @since 0.3.16-canary.0
|
|
211
241
|
*/
|
|
212
242
|
export declare class RebindUnboundTokenError extends DiError {
|
|
@@ -240,6 +270,8 @@ export declare class StaticMemberDecoratorError extends DiError {
|
|
|
240
270
|
constructor(decoratorName: string, memberName: string);
|
|
241
271
|
}
|
|
242
272
|
/**
|
|
273
|
+
* An operation attempted on a container that has already been disposed.
|
|
274
|
+
*
|
|
243
275
|
* @since 0.3.16-canary.0
|
|
244
276
|
*/
|
|
245
277
|
export declare class DisposedContainerError extends DiError {
|
|
@@ -247,6 +279,8 @@ export declare class DisposedContainerError extends DiError {
|
|
|
247
279
|
constructor();
|
|
248
280
|
}
|
|
249
281
|
/**
|
|
282
|
+
* A `@postConstruct` or `onActivation` hook that returned a `Promise` on a sync resolution path.
|
|
283
|
+
*
|
|
250
284
|
* @since 0.3.16-canary.0
|
|
251
285
|
*/
|
|
252
286
|
export declare class AsyncActivationError extends DiError {
|
|
@@ -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,4 +1,7 @@
|
|
|
1
|
+
import { slotName } from "#/core/tag";
|
|
1
2
|
/**
|
|
3
|
+
* Base class for every error the library throws, each carrying a machine-readable `code`.
|
|
4
|
+
*
|
|
2
5
|
* @since 0.3.16-canary.0
|
|
3
6
|
*/
|
|
4
7
|
export class DiError extends Error {
|
|
@@ -8,6 +11,8 @@ export class DiError extends Error {
|
|
|
8
11
|
}
|
|
9
12
|
}
|
|
10
13
|
/**
|
|
14
|
+
* An internal assertion failure — a library bug, never caller misuse.
|
|
15
|
+
*
|
|
11
16
|
* @since 0.3.16-canary.0
|
|
12
17
|
*/
|
|
13
18
|
export class InternalError extends DiError {
|
|
@@ -17,6 +22,8 @@ export class InternalError extends DiError {
|
|
|
17
22
|
}
|
|
18
23
|
}
|
|
19
24
|
/**
|
|
25
|
+
* A token with no binding at all, even after walking the parent container chain.
|
|
26
|
+
*
|
|
20
27
|
* @since 0.3.16-canary.0
|
|
21
28
|
*/
|
|
22
29
|
export class TokenNotBoundError extends DiError {
|
|
@@ -28,17 +35,43 @@ export class TokenNotBoundError extends DiError {
|
|
|
28
35
|
}
|
|
29
36
|
}
|
|
30
37
|
// Options carry caller values a tag may hold — a bigint or a circular object must not make the
|
|
31
|
-
// diagnostic itself throw and mask the real error.
|
|
38
|
+
// diagnostic itself throw and mask the real error. The reserved criterion renders as `name`.
|
|
32
39
|
function describeResolveOptions(options) {
|
|
33
40
|
try {
|
|
34
|
-
|
|
35
|
-
|
|
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";
|
|
36
67
|
}
|
|
37
68
|
catch {
|
|
38
69
|
return "[unserializable options]";
|
|
39
70
|
}
|
|
40
71
|
}
|
|
41
72
|
/**
|
|
73
|
+
* A token that has bindings, none of whose slots match the given `ResolveOptions`.
|
|
74
|
+
*
|
|
42
75
|
* @since 0.3.16-canary.0
|
|
43
76
|
*/
|
|
44
77
|
export class NoMatchingBindingError extends DiError {
|
|
@@ -56,6 +89,8 @@ export class NoMatchingBindingError extends DiError {
|
|
|
56
89
|
}
|
|
57
90
|
}
|
|
58
91
|
/**
|
|
92
|
+
* Two or more candidate bindings that matched without the more-specific rule deciding a winner.
|
|
93
|
+
*
|
|
59
94
|
* @since 0.3.16-canary.0
|
|
60
95
|
*/
|
|
61
96
|
export class AmbiguousBindingError extends DiError {
|
|
@@ -69,6 +104,8 @@ export class AmbiguousBindingError extends DiError {
|
|
|
69
104
|
}
|
|
70
105
|
}
|
|
71
106
|
/**
|
|
107
|
+
* A dependency cycle detected along the resolution path, alias chains included.
|
|
108
|
+
*
|
|
72
109
|
* @since 0.3.16-canary.0
|
|
73
110
|
*/
|
|
74
111
|
export class CircularDependencyError extends DiError {
|
|
@@ -80,6 +117,8 @@ export class CircularDependencyError extends DiError {
|
|
|
80
117
|
}
|
|
81
118
|
}
|
|
82
119
|
/**
|
|
120
|
+
* A sync `resolve()` of a token whose factory — or a dependency's factory — is async.
|
|
121
|
+
*
|
|
83
122
|
* @since 0.3.16-canary.0
|
|
84
123
|
*/
|
|
85
124
|
export class AsyncResolutionError extends DiError {
|
|
@@ -97,6 +136,8 @@ export class AsyncResolutionError extends DiError {
|
|
|
97
136
|
}
|
|
98
137
|
}
|
|
99
138
|
/**
|
|
139
|
+
* A sync `unbind()` of a binding whose `onDeactivation` handler is async.
|
|
140
|
+
*
|
|
100
141
|
* @since 0.3.16-canary.0
|
|
101
142
|
*/
|
|
102
143
|
export class AsyncDeactivationError extends DiError {
|
|
@@ -108,6 +149,8 @@ export class AsyncDeactivationError extends DiError {
|
|
|
108
149
|
}
|
|
109
150
|
}
|
|
110
151
|
/**
|
|
152
|
+
* A captive dependency — a longer-lived binding depending on a shorter-lived one.
|
|
153
|
+
*
|
|
111
154
|
* @since 0.3.16-canary.0
|
|
112
155
|
*/
|
|
113
156
|
export class ScopeViolationError extends DiError {
|
|
@@ -195,6 +238,8 @@ export class InvalidMetadataError extends DiError {
|
|
|
195
238
|
}
|
|
196
239
|
}
|
|
197
240
|
/**
|
|
241
|
+
* A class the container must construct but that carries no `@injectable()` metadata.
|
|
242
|
+
*
|
|
198
243
|
* @since 0.3.16-canary.0
|
|
199
244
|
*/
|
|
200
245
|
export class MissingMetadataError extends DiError {
|
|
@@ -206,6 +251,8 @@ export class MissingMetadataError extends DiError {
|
|
|
206
251
|
}
|
|
207
252
|
}
|
|
208
253
|
/**
|
|
254
|
+
* A sync `load()` given a module that needs async setup.
|
|
255
|
+
*
|
|
209
256
|
* @since 0.3.16-canary.0
|
|
210
257
|
*/
|
|
211
258
|
export class AsyncModuleLoadError extends DiError {
|
|
@@ -217,6 +264,8 @@ export class AsyncModuleLoadError extends DiError {
|
|
|
217
264
|
}
|
|
218
265
|
}
|
|
219
266
|
/**
|
|
267
|
+
* A synchronous disposal attempt on a container whose `onDeactivation` handlers may be async.
|
|
268
|
+
*
|
|
220
269
|
* @since 0.3.16-canary.0
|
|
221
270
|
*/
|
|
222
271
|
export class SyncDisposalNotSupportedError extends DiError {
|
|
@@ -226,6 +275,8 @@ export class SyncDisposalNotSupportedError extends DiError {
|
|
|
226
275
|
}
|
|
227
276
|
}
|
|
228
277
|
/**
|
|
278
|
+
* A `scoped` binding resolved from a container with no child scope context.
|
|
279
|
+
*
|
|
229
280
|
* @since 0.3.16-canary.0
|
|
230
281
|
*/
|
|
231
282
|
export class MissingScopeContextError extends DiError {
|
|
@@ -277,6 +328,8 @@ export class ChainNotRegisteredError extends DiError {
|
|
|
277
328
|
}
|
|
278
329
|
}
|
|
279
330
|
/**
|
|
331
|
+
* A `rebind()` of a token that has no own binding in this container.
|
|
332
|
+
*
|
|
280
333
|
* @since 0.3.16-canary.0
|
|
281
334
|
*/
|
|
282
335
|
export class RebindUnboundTokenError extends DiError {
|
|
@@ -320,6 +373,8 @@ export class StaticMemberDecoratorError extends DiError {
|
|
|
320
373
|
}
|
|
321
374
|
}
|
|
322
375
|
/**
|
|
376
|
+
* An operation attempted on a container that has already been disposed.
|
|
377
|
+
*
|
|
323
378
|
* @since 0.3.16-canary.0
|
|
324
379
|
*/
|
|
325
380
|
export class DisposedContainerError extends DiError {
|
|
@@ -329,6 +384,8 @@ export class DisposedContainerError extends DiError {
|
|
|
329
384
|
}
|
|
330
385
|
}
|
|
331
386
|
/**
|
|
387
|
+
* A `@postConstruct` or `onActivation` hook that returned a `Promise` on a sync resolution path.
|
|
388
|
+
*
|
|
332
389
|
* @since 0.3.16-canary.0
|
|
333
390
|
*/
|
|
334
391
|
export class AsyncActivationError extends DiError {
|
|
@@ -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":"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"}
|
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"}
|
|
@@ -3,6 +3,8 @@ import type { Token } from "#/core/token";
|
|
|
3
3
|
import type { BindingTag, Constructor, TokenValue } from "#/core/types";
|
|
4
4
|
import type { DependencySlot } from "#/injection/resolve-options";
|
|
5
5
|
/**
|
|
6
|
+
* Slot-selection options — a name and tags — a declared dependency narrows its binding with.
|
|
7
|
+
*
|
|
6
8
|
* @since 0.3.16-canary.0
|
|
7
9
|
*/
|
|
8
10
|
export interface InjectOptions {
|
|
@@ -28,6 +30,8 @@ export interface InjectionDescriptor<out Value = unknown> extends DependencySlot
|
|
|
28
30
|
readonly token: Token<Value> | Constructor<Value>;
|
|
29
31
|
}
|
|
30
32
|
/**
|
|
33
|
+
* A dependency as declared: a bare token, a class, or a full injection descriptor.
|
|
34
|
+
*
|
|
31
35
|
* @since 0.3.16-canary.0
|
|
32
36
|
*/
|
|
33
37
|
export type InjectableDependency<Value = unknown> = Token<Value> | Constructor<Value> | InjectionDescriptor<Value>;
|
|
@@ -54,10 +58,14 @@ export type ResolvedDependencyValue<Dependency> = Dependency extends {
|
|
|
54
58
|
*/
|
|
55
59
|
type DescribedValue<Dependency> = Dependency extends InjectionDescriptor<infer Value> ? Value : TokenValue<Dependency>;
|
|
56
60
|
/**
|
|
61
|
+
* Returns whether the value is an `InjectionDescriptor`, dual-role `inject()` functions included.
|
|
62
|
+
*
|
|
57
63
|
* @since 0.3.16-canary.0
|
|
58
64
|
*/
|
|
59
65
|
export declare function isInjectionDescriptor(value: unknown): value is InjectionDescriptor;
|
|
60
66
|
/**
|
|
67
|
+
* Normalises a declared dependency to a plain `InjectionDescriptor`.
|
|
68
|
+
*
|
|
61
69
|
* @since 0.3.16-canary.0
|
|
62
70
|
*/
|
|
63
71
|
export declare function normalizeToDescriptor(dependency: InjectableDependency): InjectionDescriptor;
|
|
@@ -68,10 +76,14 @@ export declare function normalizeToDescriptor(dependency: InjectableDependency):
|
|
|
68
76
|
*/
|
|
69
77
|
export declare function buildInjectionDescriptor<Value>(token: Token<Value> | Constructor<Value>, options?: InjectOptions): InjectionDescriptor<Value>;
|
|
70
78
|
/**
|
|
79
|
+
* Creates a descriptor that resolves to `undefined` instead of throwing when no binding matches.
|
|
80
|
+
*
|
|
71
81
|
* @since 0.3.16-canary.0
|
|
72
82
|
*/
|
|
73
83
|
export declare function optional<Value>(token: Token<Value> | Constructor<Value>, options?: InjectOptions): InjectionDescriptor<Value | undefined>;
|
|
74
84
|
/**
|
|
85
|
+
* Creates a descriptor that resolves every matching binding for the token into an array.
|
|
86
|
+
*
|
|
75
87
|
* @since 0.3.16-canary.0
|
|
76
88
|
*/
|
|
77
89
|
export declare function injectAll<Value>(token: Token<Value> | Constructor<Value>, options?: InjectOptions): InjectionDescriptor<Array<Value>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"descriptor.d.ts","sourceRoot":"","sources":["../../src/injection/descriptor.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE
|
|
1
|
+
{"version":3,"file":"descriptor.d.ts","sourceRoot":"","sources":["../../src/injection/descriptor.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B;;;;;OAKG;IACH,GAAG,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC7B,IAAI,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;CAC9C;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAE,SAAQ,cAAc;IAC9E,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;CACnD;AAED;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,CAAC,KAAK,GAAG,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAEnH;;;;;;;GAOG;AACH,MAAM,MAAM,uBAAuB,CAAC,UAAU,IAAI,UAAU,SAAS;IAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAA;CAAE,GACzF,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,GACjC,UAAU,SAAS;IAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,GAC5C,cAAc,CAAC,UAAU,CAAC,GAAG,SAAS,GACtC,cAAc,CAAC,UAAU,CAAC,CAAC;AAEjC;;;;;;;GAOG;AACH,KAAK,cAAc,CAAC,UAAU,IAAI,UAAU,SAAS,mBAAmB,CAAC,MAAM,KAAK,CAAC,GAAG,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;AAEvH;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAgBlF;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,oBAAoB,GAAG,mBAAmB,CAK3F;AAuED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAC5C,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,EACxC,OAAO,CAAC,EAAE,aAAa,GACtB,mBAAmB,CAAC,KAAK,CAAC,CAE5B;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAC5B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,EACxC,OAAO,CAAC,EAAE,aAAa,GACtB,mBAAmB,CAAC,KAAK,GAAG,SAAS,CAAC,CASxC;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAC7B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,EACxC,OAAO,CAAC,EAAE,aAAa,GACtB,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CASnC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* Returns whether the value is an `InjectionDescriptor`, dual-role `inject()` functions included.
|
|
3
|
+
*
|
|
2
4
|
* @since 0.3.16-canary.0
|
|
3
5
|
*/
|
|
4
6
|
export function isInjectionDescriptor(value) {
|
|
@@ -17,6 +19,8 @@ export function isInjectionDescriptor(value) {
|
|
|
17
19
|
typeof value.multi === "boolean");
|
|
18
20
|
}
|
|
19
21
|
/**
|
|
22
|
+
* Normalises a declared dependency to a plain `InjectionDescriptor`.
|
|
23
|
+
*
|
|
20
24
|
* @since 0.3.16-canary.0
|
|
21
25
|
*/
|
|
22
26
|
export function normalizeToDescriptor(dependency) {
|
|
@@ -96,6 +100,8 @@ export function buildInjectionDescriptor(token, options) {
|
|
|
96
100
|
return withOptions({ token, optional: false, multi: false }, options);
|
|
97
101
|
}
|
|
98
102
|
/**
|
|
103
|
+
* Creates a descriptor that resolves to `undefined` instead of throwing when no binding matches.
|
|
104
|
+
*
|
|
99
105
|
* @since 0.3.16-canary.0
|
|
100
106
|
*/
|
|
101
107
|
export function optional(token, options) {
|
|
@@ -106,6 +112,8 @@ export function optional(token, options) {
|
|
|
106
112
|
}, options);
|
|
107
113
|
}
|
|
108
114
|
/**
|
|
115
|
+
* Creates a descriptor that resolves every matching binding for the token into an array.
|
|
116
|
+
*
|
|
109
117
|
* @since 0.3.16-canary.0
|
|
110
118
|
*/
|
|
111
119
|
export function injectAll(token, options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"descriptor.js","sourceRoot":"","sources":["../../src/injection/descriptor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"descriptor.js","sourceRoot":"","sources":["../../src/injection/descriptor.ts"],"names":[],"mappings":"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"}
|