ts-ioc-container 62.0.0 → 63.0.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/hooks/onResolved.js +1 -2
- package/cjm/hooks/resolveHooks.js +3 -4
- package/cjm/index.js +2 -2
- package/esm/hooks/onResolved.js +1 -2
- package/esm/hooks/resolveHooks.js +1 -2
- package/esm/index.js +2 -2
- package/package.json +1 -1
- package/typings/hooks/onResolved.d.ts +0 -1
- package/typings/hooks/resolveHooks.d.ts +1 -1
- package/typings/index.d.ts +2 -2
package/cjm/hooks/onResolved.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resolved = exports.OnResolvedModule = exports.
|
|
3
|
+
exports.resolved = exports.OnResolvedModule = exports.onResolved = exports.onResolvedHooksRunner = void 0;
|
|
4
4
|
const HooksRunner_1 = require("./HooksRunner");
|
|
5
5
|
const IRegistration_1 = require("../registration/IRegistration");
|
|
6
6
|
const resolveHooks_1 = require("./resolveHooks");
|
|
7
7
|
exports.onResolvedHooksRunner = new HooksRunner_1.HooksRunner('onResolved');
|
|
8
8
|
exports.onResolved = (0, resolveHooks_1.resolvedHook)('onResolved');
|
|
9
|
-
exports.onceResolved = (0, resolveHooks_1.onceResolvedHook)('onResolved');
|
|
10
9
|
const runHooks = (onException) => (0, resolveHooks_1.forEachResolvedObject)((0, resolveHooks_1.executeHooks)(exports.onResolvedHooksRunner, onException));
|
|
11
10
|
class OnResolvedModule {
|
|
12
11
|
runHooks;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.executeHooks = exports.forEachResolvedObject = exports.
|
|
3
|
+
exports.executeHooks = exports.forEachResolvedObject = exports.resolvedHook = exports.oncePerInstance = exports.invokeMethod = void 0;
|
|
4
4
|
const HooksRunner_1 = require("./HooksRunner");
|
|
5
5
|
const hook_1 = require("./hook");
|
|
6
6
|
const basic_1 = require("../utils/basic");
|
|
@@ -9,7 +9,7 @@ const invokeMethod = (context) => {
|
|
|
9
9
|
};
|
|
10
10
|
exports.invokeMethod = invokeMethod;
|
|
11
11
|
const toHooks = (hooks) => (hooks.length > 0 ? hooks : [exports.invokeMethod]);
|
|
12
|
-
const
|
|
12
|
+
const oncePerInstance = (execute) => {
|
|
13
13
|
const invokedInstances = new WeakSet();
|
|
14
14
|
return (context) => {
|
|
15
15
|
if (invokedInstances.has(context.instance)) {
|
|
@@ -19,10 +19,9 @@ const onceForEachInstance = (execute) => {
|
|
|
19
19
|
return (0, hook_1.toHookFn)(execute)(context);
|
|
20
20
|
};
|
|
21
21
|
};
|
|
22
|
+
exports.oncePerInstance = oncePerInstance;
|
|
22
23
|
const resolvedHook = (key) => (...hooks) => (0, hook_1.hook)(key, (0, hook_1.prependHooks)(...toHooks(hooks)));
|
|
23
24
|
exports.resolvedHook = resolvedHook;
|
|
24
|
-
const onceResolvedHook = (key) => (...hooks) => (0, hook_1.hook)(key, (0, hook_1.prependHooks)(...toHooks(hooks).map(onceForEachInstance)));
|
|
25
|
-
exports.onceResolvedHook = onceResolvedHook;
|
|
26
25
|
const forEachResolvedObject = (run) => (dependency, scope) => {
|
|
27
26
|
if (basic_1.Is.object(dependency)) {
|
|
28
27
|
run(dependency, scope);
|
package/cjm/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createHookContext = exports.createHookContextFactory = exports.HookContext = exports.prepend = exports.append = exports.prependHooks = exports.appendHooks = exports.hasHooks = exports.hook = exports.getHooks = exports.UnsupportedTokenTypeError = exports.CannonSingletonApplyTwiceError = exports.ProviderDisposedError = exports.ContainerDisposedError = exports.MethodNotImplementedError = exports.DependencyMissingKeyError = exports.ContainerNotFoundError = exports.DependencyNotFoundError = exports.ContainerError = exports.Registration = exports.onResolve = exports.appendArgsFn = exports.appendArgs = exports.decorate = exports.singleton = exports.autoResolve = exports.lazy = exports.scopeAccess = exports.scope = exports.bindTo = exports.register = exports.toRegistrationFn = exports.toProviderFn = exports.toBindToken = exports.registerPipe = exports.isProviderPipe = exports.Provider = exports.ProxyInjector = exports.SimpleInjector = exports.resolveArgs = exports.argsFn = exports.args = exports.arg = exports.inject = exports.MetadataInjector = exports.Injector = exports.EmptyContainer = exports.AutoResolveModule = exports.Container = exports.isDependencyKey = void 0;
|
|
4
|
-
exports.throttle = exports.handleAsyncError = exports.handleError = exports.getMethodTags = exports.addMethodTag = exports.getMethodLabels = exports.addMethodLabel = exports.getMethodMeta = exports.addMethodMeta = exports.getParamTags = exports.addParamTag = exports.getParamLabels = exports.addParamLabel = exports.getParamMeta = exports.addParamMeta = exports.getClassTags = exports.addClassTag = exports.getClassLabels = exports.addClassLabel = exports.getClassMeta = exports.addClassMeta = exports.resolveConstructor = exports.GroupInstanceToken = exports.ConstantToken = exports.FunctionToken = exports.SingleToken = exports.ClassToken = exports.toSingleAlias = exports.SingleAliasToken = exports.toGroupAlias = exports.GroupAliasToken = exports.argToToken = exports.toMappedToken = exports.toToken = exports.InjectionToken = exports.runHooks = exports.HooksRunner = exports.
|
|
4
|
+
exports.throttle = exports.handleAsyncError = exports.handleError = exports.getMethodTags = exports.addMethodTag = exports.getMethodLabels = exports.addMethodLabel = exports.getMethodMeta = exports.addMethodMeta = exports.getParamTags = exports.addParamTag = exports.getParamLabels = exports.addParamLabel = exports.getParamMeta = exports.addParamMeta = exports.getClassTags = exports.addClassTag = exports.getClassLabels = exports.addClassLabel = exports.getClassMeta = exports.addClassMeta = exports.resolveConstructor = exports.GroupInstanceToken = exports.ConstantToken = exports.FunctionToken = exports.SingleToken = exports.ClassToken = exports.toSingleAlias = exports.SingleAliasToken = exports.toGroupAlias = exports.GroupAliasToken = exports.argToToken = exports.toMappedToken = exports.toToken = exports.InjectionToken = exports.runHooks = exports.HooksRunner = exports.oncePerInstance = exports.invokeMethod = exports.resolved = exports.OnResolvedModule = exports.onResolved = exports.onResolvedHooksRunner = exports.OnDisposeModule = exports.onScopeDisposed = exports.onScopeDisposedHooksRunner = exports.OnConstructModule = exports.onConstruct = exports.onConstructHooksRunner = exports.injectProp = void 0;
|
|
5
5
|
exports.Is = exports.unwrapProxy = exports.ProxyRegistry = exports.pipe = exports.select = exports.once = exports.shallowCache = exports.debounce = void 0;
|
|
6
6
|
var IContainer_1 = require("./container/IContainer");
|
|
7
7
|
Object.defineProperty(exports, "isDependencyKey", { enumerable: true, get: function () { return IContainer_1.isDependencyKey; } });
|
|
@@ -88,11 +88,11 @@ Object.defineProperty(exports, "OnDisposeModule", { enumerable: true, get: funct
|
|
|
88
88
|
var onResolved_1 = require("./hooks/onResolved");
|
|
89
89
|
Object.defineProperty(exports, "onResolvedHooksRunner", { enumerable: true, get: function () { return onResolved_1.onResolvedHooksRunner; } });
|
|
90
90
|
Object.defineProperty(exports, "onResolved", { enumerable: true, get: function () { return onResolved_1.onResolved; } });
|
|
91
|
-
Object.defineProperty(exports, "onceResolved", { enumerable: true, get: function () { return onResolved_1.onceResolved; } });
|
|
92
91
|
Object.defineProperty(exports, "OnResolvedModule", { enumerable: true, get: function () { return onResolved_1.OnResolvedModule; } });
|
|
93
92
|
Object.defineProperty(exports, "resolved", { enumerable: true, get: function () { return onResolved_1.resolved; } });
|
|
94
93
|
var resolveHooks_1 = require("./hooks/resolveHooks");
|
|
95
94
|
Object.defineProperty(exports, "invokeMethod", { enumerable: true, get: function () { return resolveHooks_1.invokeMethod; } });
|
|
95
|
+
Object.defineProperty(exports, "oncePerInstance", { enumerable: true, get: function () { return resolveHooks_1.oncePerInstance; } });
|
|
96
96
|
var HooksRunner_1 = require("./hooks/HooksRunner");
|
|
97
97
|
Object.defineProperty(exports, "HooksRunner", { enumerable: true, get: function () { return HooksRunner_1.HooksRunner; } });
|
|
98
98
|
Object.defineProperty(exports, "runHooks", { enumerable: true, get: function () { return HooksRunner_1.runHooks; } });
|
package/esm/hooks/onResolved.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { HooksRunner } from './HooksRunner.js';
|
|
2
2
|
import { registerPipe } from '../registration/IRegistration.js';
|
|
3
|
-
import { executeHooks, forEachResolvedObject,
|
|
3
|
+
import { executeHooks, forEachResolvedObject, resolvedHook } from './resolveHooks.js';
|
|
4
4
|
export const onResolvedHooksRunner = new HooksRunner('onResolved');
|
|
5
5
|
export const onResolved = resolvedHook('onResolved');
|
|
6
|
-
export const onceResolved = onceResolvedHook('onResolved');
|
|
7
6
|
const runHooks = (onException) => forEachResolvedObject(executeHooks(onResolvedHooksRunner, onException));
|
|
8
7
|
export class OnResolvedModule {
|
|
9
8
|
runHooks;
|
|
@@ -5,7 +5,7 @@ export const invokeMethod = (context) => {
|
|
|
5
5
|
context.invokeMethod();
|
|
6
6
|
};
|
|
7
7
|
const toHooks = (hooks) => (hooks.length > 0 ? hooks : [invokeMethod]);
|
|
8
|
-
const
|
|
8
|
+
export const oncePerInstance = (execute) => {
|
|
9
9
|
const invokedInstances = new WeakSet();
|
|
10
10
|
return (context) => {
|
|
11
11
|
if (invokedInstances.has(context.instance)) {
|
|
@@ -16,7 +16,6 @@ const onceForEachInstance = (execute) => {
|
|
|
16
16
|
};
|
|
17
17
|
};
|
|
18
18
|
export const resolvedHook = (key) => (...hooks) => hook(key, prependHooks(...toHooks(hooks)));
|
|
19
|
-
export const onceResolvedHook = (key) => (...hooks) => hook(key, prependHooks(...toHooks(hooks).map(onceForEachInstance)));
|
|
20
19
|
export const forEachResolvedObject = (run) => (dependency, scope) => {
|
|
21
20
|
if (Is.object(dependency)) {
|
|
22
21
|
run(dependency, scope);
|
package/esm/index.js
CHANGED
|
@@ -23,8 +23,8 @@ export { HookContext, createHookContextFactory, createHookContext } from './hook
|
|
|
23
23
|
export { injectProp } from './hooks/injectProp.js';
|
|
24
24
|
export { onConstructHooksRunner, onConstruct, OnConstructModule } from './hooks/onConstruct.js';
|
|
25
25
|
export { onScopeDisposedHooksRunner, onScopeDisposed, OnDisposeModule } from './hooks/onScopeDisposed.js';
|
|
26
|
-
export { onResolvedHooksRunner, onResolved,
|
|
27
|
-
export { invokeMethod } from './hooks/resolveHooks.js';
|
|
26
|
+
export { onResolvedHooksRunner, onResolved, OnResolvedModule, resolved } from './hooks/onResolved.js';
|
|
27
|
+
export { invokeMethod, oncePerInstance } from './hooks/resolveHooks.js';
|
|
28
28
|
export { HooksRunner, runHooks, } from './hooks/HooksRunner.js';
|
|
29
29
|
export { InjectionToken } from './token/InjectionToken.js';
|
|
30
30
|
export { toToken, toMappedToken, argToToken } from './token/toToken.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-ioc-container",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "63.0.0",
|
|
4
4
|
"description": "Fast, lightweight TypeScript dependency injection container with a clean API, scoped lifecycles, decorators, tokens, hooks, lazy injection, customizable providers, and no global container objects.",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
@@ -2,7 +2,6 @@ import type { IContainer, IContainerModule } from '../container/IContainer.js';
|
|
|
2
2
|
import { HooksRunner, type OnExceptionHandler } from './HooksRunner.js';
|
|
3
3
|
export declare const onResolvedHooksRunner: HooksRunner;
|
|
4
4
|
export declare const onResolved: (...hooks: import("./hook.js").HookType[]) => (target: object, propertyKey: string | symbol) => void;
|
|
5
|
-
export declare const onceResolved: (...hooks: import("./hook.js").HookType[]) => (target: object, propertyKey: string | symbol) => void;
|
|
6
5
|
export declare class OnResolvedModule implements IContainerModule {
|
|
7
6
|
private readonly runHooks;
|
|
8
7
|
constructor(onException?: OnExceptionHandler);
|
|
@@ -4,7 +4,7 @@ import { type HooksRunner, type OnExceptionHandler } from './HooksRunner.js';
|
|
|
4
4
|
import { type HookFn, type HookType } from './hook.js';
|
|
5
5
|
export type ResolvedObjectHook = (dependency: object, scope: IContainer) => void;
|
|
6
6
|
export declare const invokeMethod: HookFn;
|
|
7
|
+
export declare const oncePerInstance: (execute: HookType) => HookFn;
|
|
7
8
|
export declare const resolvedHook: (key: string) => (...hooks: HookType[]) => (target: object, propertyKey: string | symbol) => void;
|
|
8
|
-
export declare const onceResolvedHook: (key: string) => (...hooks: HookType[]) => (target: object, propertyKey: string | symbol) => void;
|
|
9
9
|
export declare const forEachResolvedObject: (run: ResolvedObjectHook) => ProviderHook;
|
|
10
10
|
export declare const executeHooks: (runner: HooksRunner, onException?: OnExceptionHandler) => ResolvedObjectHook;
|
package/typings/index.d.ts
CHANGED
|
@@ -24,8 +24,8 @@ export { HookContext, createHookContextFactory, createHookContext, type IHookCon
|
|
|
24
24
|
export { injectProp } from './hooks/injectProp.js';
|
|
25
25
|
export { onConstructHooksRunner, onConstruct, OnConstructModule } from './hooks/onConstruct.js';
|
|
26
26
|
export { onScopeDisposedHooksRunner, onScopeDisposed, OnDisposeModule } from './hooks/onScopeDisposed.js';
|
|
27
|
-
export { onResolvedHooksRunner, onResolved,
|
|
28
|
-
export { invokeMethod, type ResolvedObjectHook } from './hooks/resolveHooks.js';
|
|
27
|
+
export { onResolvedHooksRunner, onResolved, OnResolvedModule, resolved } from './hooks/onResolved.js';
|
|
28
|
+
export { invokeMethod, oncePerInstance, type ResolvedObjectHook } from './hooks/resolveHooks.js';
|
|
29
29
|
export { HooksRunner, runHooks, type HooksRunnerContext, type MapHookContext, type OnExceptionHandler, } from './hooks/HooksRunner.js';
|
|
30
30
|
export { InjectionToken } from './token/InjectionToken.js';
|
|
31
31
|
export { type Injectable, toToken, toMappedToken, argToToken } from './token/toToken.js';
|