ts-ioc-container 35.3.0 → 35.5.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/container/Container.js +2 -0
- package/cjm/hooks/hook.js +5 -1
- package/cjm/index.js +4 -2
- package/esm/container/Container.js +2 -0
- package/esm/hooks/hook.js +2 -0
- package/esm/index.js +1 -1
- package/package.json +2 -2
- package/typings/hooks/hook.d.ts +2 -0
- package/typings/index.d.ts +1 -1
|
@@ -67,7 +67,9 @@ class Container {
|
|
|
67
67
|
}
|
|
68
68
|
dispose() {
|
|
69
69
|
this.validateContainer();
|
|
70
|
+
this.onConstruct.dispose();
|
|
70
71
|
this.onDispose.emit(this);
|
|
72
|
+
this.onDispose.dispose();
|
|
71
73
|
this.isDisposed = true;
|
|
72
74
|
this.parent.removeScope(this);
|
|
73
75
|
this.parent = new EmptyContainer_1.EmptyContainer();
|
package/cjm/hooks/hook.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.onDispose = exports.onConstruct = exports.injectProp = exports.runHooksAsync = exports.runHooks = exports.hasHooks = exports.getHooks = exports.hook = void 0;
|
|
3
|
+
exports.runOnDisposeHooks = exports.onDispose = exports.runOnConstructHooks = exports.onConstruct = exports.injectProp = exports.runHooksAsync = exports.runHooks = exports.hasHooks = exports.getHooks = exports.hook = void 0;
|
|
4
4
|
const HookContext_1 = require("./HookContext");
|
|
5
5
|
const utils_1 = require("../utils");
|
|
6
6
|
const UnexpectedHookResultError_1 = require("../errors/UnexpectedHookResultError");
|
|
@@ -51,6 +51,10 @@ const injectProp = (fn) => (context) => context.setProperty(fn);
|
|
|
51
51
|
exports.injectProp = injectProp;
|
|
52
52
|
const onConstruct = (fn) => (0, exports.hook)('onConstruct', fn);
|
|
53
53
|
exports.onConstruct = onConstruct;
|
|
54
|
+
const runOnConstructHooks = (target, scope) => (0, exports.runHooks)(target, 'onConstruct', { scope });
|
|
55
|
+
exports.runOnConstructHooks = runOnConstructHooks;
|
|
54
56
|
exports.onDispose = (0, exports.hook)('onDispose', (context) => {
|
|
55
57
|
context.invokeMethod({});
|
|
56
58
|
});
|
|
59
|
+
const runOnDisposeHooks = (target, scope) => (0, exports.runHooks)(target, 'onDispose', { scope });
|
|
60
|
+
exports.runOnDisposeHooks = runOnDisposeHooks;
|
package/cjm/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.TypedEvent = void 0;
|
|
3
|
+
exports.setMethodMetadata = exports.setParameterMetadata = exports.getMetadata = exports.setMetadata = exports.depKey = exports.byAliases = exports.byAlias = exports.IMemoKey = exports.by = exports.HookContext = exports.runOnDisposeHooks = exports.runOnConstructHooks = exports.onConstruct = exports.onDispose = exports.injectProp = exports.runHooksAsync = exports.runHooks = exports.hasHooks = exports.hook = exports.getHooks = exports.UnexpectedHookResultError = exports.ContainerDisposedError = exports.MethodNotImplementedError = exports.DependencyNotFoundError = exports.Registration = exports.redirectFrom = 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
|
+
exports.TypedEvent = exports.getParameterMetadata = exports.getMethodMetadata = void 0;
|
|
5
5
|
// Containers
|
|
6
6
|
var IContainer_1 = require("./container/IContainer");
|
|
7
7
|
Object.defineProperty(exports, "isDependencyKey", { enumerable: true, get: function () { return IContainer_1.isDependencyKey; } });
|
|
@@ -66,6 +66,8 @@ Object.defineProperty(exports, "runHooksAsync", { enumerable: true, get: functio
|
|
|
66
66
|
Object.defineProperty(exports, "injectProp", { enumerable: true, get: function () { return hook_1.injectProp; } });
|
|
67
67
|
Object.defineProperty(exports, "onDispose", { enumerable: true, get: function () { return hook_1.onDispose; } });
|
|
68
68
|
Object.defineProperty(exports, "onConstruct", { enumerable: true, get: function () { return hook_1.onConstruct; } });
|
|
69
|
+
Object.defineProperty(exports, "runOnConstructHooks", { enumerable: true, get: function () { return hook_1.runOnConstructHooks; } });
|
|
70
|
+
Object.defineProperty(exports, "runOnDisposeHooks", { enumerable: true, get: function () { return hook_1.runOnDisposeHooks; } });
|
|
69
71
|
var HookContext_1 = require("./hooks/HookContext");
|
|
70
72
|
Object.defineProperty(exports, "HookContext", { enumerable: true, get: function () { return HookContext_1.HookContext; } });
|
|
71
73
|
// Others
|
|
@@ -64,7 +64,9 @@ export class Container {
|
|
|
64
64
|
}
|
|
65
65
|
dispose() {
|
|
66
66
|
this.validateContainer();
|
|
67
|
+
this.onConstruct.dispose();
|
|
67
68
|
this.onDispose.emit(this);
|
|
69
|
+
this.onDispose.dispose();
|
|
68
70
|
this.isDisposed = true;
|
|
69
71
|
this.parent.removeScope(this);
|
|
70
72
|
this.parent = new EmptyContainer();
|
package/esm/hooks/hook.js
CHANGED
|
@@ -41,6 +41,8 @@ export const runHooksAsync = (target, key, { scope, createContext = createHookCo
|
|
|
41
41
|
};
|
|
42
42
|
export const injectProp = (fn) => (context) => context.setProperty(fn);
|
|
43
43
|
export const onConstruct = (fn) => hook('onConstruct', fn);
|
|
44
|
+
export const runOnConstructHooks = (target, scope) => runHooks(target, 'onConstruct', { scope });
|
|
44
45
|
export const onDispose = hook('onDispose', (context) => {
|
|
45
46
|
context.invokeMethod({});
|
|
46
47
|
});
|
|
48
|
+
export const runOnDisposeHooks = (target, scope) => runHooks(target, 'onDispose', { scope });
|
package/esm/index.js
CHANGED
|
@@ -23,7 +23,7 @@ export { MethodNotImplementedError } from './errors/MethodNotImplementedError';
|
|
|
23
23
|
export { ContainerDisposedError } from './errors/ContainerDisposedError';
|
|
24
24
|
export { UnexpectedHookResultError } from './errors/UnexpectedHookResultError';
|
|
25
25
|
// Hooks
|
|
26
|
-
export { getHooks, hook, hasHooks, runHooks, runHooksAsync, injectProp, onDispose, onConstruct, } from './hooks/hook';
|
|
26
|
+
export { getHooks, hook, hasHooks, runHooks, runHooksAsync, injectProp, onDispose, onConstruct, runOnConstructHooks, runOnDisposeHooks, } from './hooks/hook';
|
|
27
27
|
export { HookContext } from './hooks/HookContext';
|
|
28
28
|
// Others
|
|
29
29
|
export { by, IMemoKey, byAlias, byAliases, depKey } from './by';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-ioc-container",
|
|
3
|
-
"version": "35.
|
|
3
|
+
"version": "35.5.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": "cad5efe78c49477ed0b69e9f381649c6b339f58a"
|
|
63
63
|
}
|
package/typings/hooks/hook.d.ts
CHANGED
|
@@ -21,5 +21,7 @@ export declare const runHooksAsync: (target: object, key: string | symbol, { sco
|
|
|
21
21
|
}) => Promise<void[]>;
|
|
22
22
|
export declare const injectProp: (fn: InjectFn) => HookFn;
|
|
23
23
|
export declare const onConstruct: (fn: HookFn) => (target: object, propertyKey: string | symbol) => void;
|
|
24
|
+
export declare const runOnConstructHooks: (target: object, scope: IContainer) => void;
|
|
24
25
|
export declare const onDispose: (target: object, propertyKey: string | symbol) => void;
|
|
26
|
+
export declare const runOnDisposeHooks: (target: object, scope: IContainer) => void;
|
|
25
27
|
export {};
|
package/typings/index.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export { DependencyNotFoundError } from './errors/DependencyNotFoundError';
|
|
|
19
19
|
export { MethodNotImplementedError } from './errors/MethodNotImplementedError';
|
|
20
20
|
export { ContainerDisposedError } from './errors/ContainerDisposedError';
|
|
21
21
|
export { UnexpectedHookResultError } from './errors/UnexpectedHookResultError';
|
|
22
|
-
export { getHooks, hook, hasHooks, HookFn, HookClass, runHooks, runHooksAsync, injectProp, onDispose, onConstruct, } from './hooks/hook';
|
|
22
|
+
export { getHooks, hook, hasHooks, HookFn, HookClass, runHooks, runHooksAsync, injectProp, onDispose, onConstruct, runOnConstructHooks, runOnDisposeHooks, } from './hooks/hook';
|
|
23
23
|
export { HookContext, InjectFn, IHookContext } from './hooks/HookContext';
|
|
24
24
|
export { by, InstancePredicate, IMemo, IMemoKey, byAlias, byAliases, depKey, DepKey } from './by';
|
|
25
25
|
export { constructor, Branded } from './utils';
|