ts-ioc-container 32.17.0 → 32.19.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/cjm/by.js +24 -4
- package/cjm/index.js +2 -2
- package/esm/by.js +22 -2
- package/esm/index.js +1 -1
- package/package.json +2 -2
- package/typings/by.d.ts +7 -3
- package/typings/index.d.ts +1 -1
package/cjm/by.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.depKey = exports.by = exports.byAlias = exports.byAliases = exports.IMemoKey = exports.all = void 0;
|
|
4
4
|
const Registration_1 = require("./registration/Registration");
|
|
5
5
|
const Provider_1 = require("./provider/Provider");
|
|
6
6
|
const utils_1 = require("./utils");
|
|
@@ -48,10 +48,30 @@ exports.by = {
|
|
|
48
48
|
create: (...tags) => (l) => l.createScope(...tags),
|
|
49
49
|
},
|
|
50
50
|
};
|
|
51
|
-
const
|
|
51
|
+
const depKey = (key = (0, utils_1.generateUUID)()) => {
|
|
52
|
+
let isValidWhen;
|
|
53
|
+
const mappers = [];
|
|
52
54
|
return {
|
|
53
|
-
register: (fn) =>
|
|
55
|
+
register: (fn) => {
|
|
56
|
+
const registration = new Registration_1.Registration(() => new Provider_1.Provider(fn), key).pipe(...mappers);
|
|
57
|
+
if (isValidWhen) {
|
|
58
|
+
registration.when(isValidWhen);
|
|
59
|
+
}
|
|
60
|
+
return registration;
|
|
61
|
+
},
|
|
54
62
|
resolve: (s, ...args) => exports.by.key(key)(s, ...args),
|
|
63
|
+
pipe(...values) {
|
|
64
|
+
mappers.push(...values);
|
|
65
|
+
return this;
|
|
66
|
+
},
|
|
67
|
+
to(target) {
|
|
68
|
+
key = target;
|
|
69
|
+
return this;
|
|
70
|
+
},
|
|
71
|
+
when(value) {
|
|
72
|
+
isValidWhen = value;
|
|
73
|
+
return this;
|
|
74
|
+
},
|
|
55
75
|
};
|
|
56
76
|
};
|
|
57
|
-
exports.
|
|
77
|
+
exports.depKey = depKey;
|
package/cjm/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getParameterMetadata = exports.getMethodMetadata = exports.setMethodMetadata = exports.setParameterMetadata = exports.getMetadata = exports.setMetadata = exports.
|
|
3
|
+
exports.getParameterMetadata = exports.getMethodMetadata = exports.setMethodMetadata = exports.setParameterMetadata = exports.getMetadata = exports.setMetadata = exports.depKey = exports.byAliases = exports.byAlias = exports.IMemoKey = exports.by = exports.HookContext = exports.injectProp = exports.runHooksAsync = exports.runHooks = exports.hasHooks = exports.hook = exports.getHooks = exports.ContainerDisposedError = exports.MethodNotImplementedError = exports.DependencyNotFoundError = exports.Registration = exports.register = exports.scope = exports.key = exports.decorate = exports.multiCache = exports.MultiCache = exports.SingletonProvider = exports.singleton = exports.Provider = exports.ProviderDecorator = exports.args = exports.argsFn = exports.alias = exports.visible = exports.provider = exports.ProxyInjector = exports.SimpleInjector = exports.MetadataInjector = exports.resolveArgs = exports.inject = exports.AutoMockedContainer = exports.EmptyContainer = exports.Container = exports.isDependencyKey = void 0;
|
|
4
4
|
// Containers
|
|
5
5
|
var IContainer_1 = require("./container/IContainer");
|
|
6
6
|
Object.defineProperty(exports, "isDependencyKey", { enumerable: true, get: function () { return IContainer_1.isDependencyKey; } });
|
|
@@ -68,7 +68,7 @@ Object.defineProperty(exports, "by", { enumerable: true, get: function () { retu
|
|
|
68
68
|
Object.defineProperty(exports, "IMemoKey", { enumerable: true, get: function () { return by_1.IMemoKey; } });
|
|
69
69
|
Object.defineProperty(exports, "byAlias", { enumerable: true, get: function () { return by_1.byAlias; } });
|
|
70
70
|
Object.defineProperty(exports, "byAliases", { enumerable: true, get: function () { return by_1.byAliases; } });
|
|
71
|
-
Object.defineProperty(exports, "
|
|
71
|
+
Object.defineProperty(exports, "depKey", { enumerable: true, get: function () { return by_1.depKey; } });
|
|
72
72
|
var metadata_1 = require("./metadata");
|
|
73
73
|
Object.defineProperty(exports, "setMetadata", { enumerable: true, get: function () { return metadata_1.setMetadata; } });
|
|
74
74
|
Object.defineProperty(exports, "getMetadata", { enumerable: true, get: function () { return metadata_1.getMetadata; } });
|
package/esm/by.js
CHANGED
|
@@ -42,9 +42,29 @@ export const by = {
|
|
|
42
42
|
create: (...tags) => (l) => l.createScope(...tags),
|
|
43
43
|
},
|
|
44
44
|
};
|
|
45
|
-
export const
|
|
45
|
+
export const depKey = (key = generateUUID()) => {
|
|
46
|
+
let isValidWhen;
|
|
47
|
+
const mappers = [];
|
|
46
48
|
return {
|
|
47
|
-
register: (fn) =>
|
|
49
|
+
register: (fn) => {
|
|
50
|
+
const registration = new Registration(() => new Provider(fn), key).pipe(...mappers);
|
|
51
|
+
if (isValidWhen) {
|
|
52
|
+
registration.when(isValidWhen);
|
|
53
|
+
}
|
|
54
|
+
return registration;
|
|
55
|
+
},
|
|
48
56
|
resolve: (s, ...args) => by.key(key)(s, ...args),
|
|
57
|
+
pipe(...values) {
|
|
58
|
+
mappers.push(...values);
|
|
59
|
+
return this;
|
|
60
|
+
},
|
|
61
|
+
to(target) {
|
|
62
|
+
key = target;
|
|
63
|
+
return this;
|
|
64
|
+
},
|
|
65
|
+
when(value) {
|
|
66
|
+
isValidWhen = value;
|
|
67
|
+
return this;
|
|
68
|
+
},
|
|
49
69
|
};
|
|
50
70
|
};
|
package/esm/index.js
CHANGED
|
@@ -25,5 +25,5 @@ export { ContainerDisposedError } from './errors/ContainerDisposedError';
|
|
|
25
25
|
export { getHooks, hook, hasHooks, runHooks, runHooksAsync, injectProp } from './hooks/hook';
|
|
26
26
|
export { HookContext } from './hooks/HookContext';
|
|
27
27
|
// Others
|
|
28
|
-
export { by, IMemoKey, byAlias, byAliases,
|
|
28
|
+
export { by, IMemoKey, byAlias, byAliases, depKey } from './by';
|
|
29
29
|
export { setMetadata, getMetadata, setParameterMetadata, setMethodMetadata, getMethodMetadata, getParameterMetadata, } from './metadata';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-ioc-container",
|
|
3
|
-
"version": "32.
|
|
3
|
+
"version": "32.19.0",
|
|
4
4
|
"description": "Typescript IoC container",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
@@ -59,5 +59,5 @@
|
|
|
59
59
|
"ts-node": "^10.9.1",
|
|
60
60
|
"typescript": "5.4.3"
|
|
61
61
|
},
|
|
62
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "a7029ca6a8b1260364a2440bb93fe93e138bae12"
|
|
63
63
|
}
|
package/typings/by.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { DependencyKey, IContainer, InjectionToken } from './container/IContainer';
|
|
2
|
-
import { ProviderResolveOptions } from './provider/IProvider';
|
|
2
|
+
import { IProvider, ProviderResolveOptions } from './provider/IProvider';
|
|
3
3
|
import { InjectFn } from './hooks/HookContext';
|
|
4
|
-
import { IRegistration } from './registration/IRegistration';
|
|
4
|
+
import { IRegistration, ScopePredicate } from './registration/IRegistration';
|
|
5
|
+
import { MapFn } from './utils';
|
|
5
6
|
export type InstancePredicate = (dep: unknown) => boolean;
|
|
6
7
|
export declare const all: InstancePredicate;
|
|
7
8
|
export type IMemo = Map<string, DependencyKey[]>;
|
|
@@ -25,8 +26,11 @@ export declare const by: {
|
|
|
25
26
|
create: (...tags: string[]) => (l: IContainer) => IContainer;
|
|
26
27
|
};
|
|
27
28
|
};
|
|
28
|
-
export declare const
|
|
29
|
+
export declare const depKey: <T>(key?: DependencyKey) => {
|
|
29
30
|
register: (fn: (s: IContainer, ...args: unknown[]) => T) => IRegistration<T>;
|
|
30
31
|
resolve: (s: IContainer, ...args: unknown[]) => T;
|
|
32
|
+
pipe(...values: MapFn<IProvider<T>>[]): any;
|
|
33
|
+
to(target: DependencyKey): any;
|
|
34
|
+
when(value: ScopePredicate): any;
|
|
31
35
|
};
|
|
32
36
|
export {};
|
package/typings/index.d.ts
CHANGED
|
@@ -20,6 +20,6 @@ export { MethodNotImplementedError } from './errors/MethodNotImplementedError';
|
|
|
20
20
|
export { ContainerDisposedError } from './errors/ContainerDisposedError';
|
|
21
21
|
export { getHooks, hook, hasHooks, Hook, runHooks, runHooksAsync, injectProp } from './hooks/hook';
|
|
22
22
|
export { HookContext, InjectFn, IHookContext } from './hooks/HookContext';
|
|
23
|
-
export { by, InstancePredicate, IMemo, IMemoKey, byAlias, byAliases,
|
|
23
|
+
export { by, InstancePredicate, IMemo, IMemoKey, byAlias, byAliases, depKey } from './by';
|
|
24
24
|
export { constructor } from './utils';
|
|
25
25
|
export { setMetadata, getMetadata, setParameterMetadata, setMethodMetadata, getMethodMetadata, getParameterMetadata, } from './metadata';
|