ts-ioc-container 47.1.1 → 47.2.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/README.md CHANGED
@@ -1572,7 +1572,7 @@ describe('ProxyInjector', function () {
1572
1572
  // In a real scenario, you'd register multiple loggers with the same alias.
1573
1573
  const mockLoggers = [new FileLogger(), new ConsoleLogger()];
1574
1574
 
1575
- container.resolveByAlias = jest.fn().mockReturnValue(mockLoggers);
1575
+ container.resolveByAlias = vi.fn().mockReturnValue(mockLoggers);
1576
1576
 
1577
1577
  const app = container.resolve(App);
1578
1578
 
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createHookContext = exports.HookContext = void 0;
3
+ exports.createHookContextFactory = exports.createHookContext = exports.HookContext = void 0;
4
4
  const inject_1 = require("../injector/inject");
5
5
  const proxy_1 = require("../utils/proxy");
6
6
  class HookContext {
@@ -32,3 +32,5 @@ class HookContext {
32
32
  exports.HookContext = HookContext;
33
33
  const createHookContext = (Target, scope, methodName = 'constructor') => new HookContext(Target, scope, methodName);
34
34
  exports.createHookContext = createHookContext;
35
+ const createHookContextFactory = ({ args = [] } = {}) => (Target, scope, methodName) => (0, exports.createHookContext)(Target, scope, methodName).setInitialArgs(...args);
36
+ exports.createHookContextFactory = createHookContextFactory;
package/cjm/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FunctionToken = exports.SingleToken = exports.ClassToken = exports.toSingleAlias = exports.SingleAliasToken = exports.toGroupAlias = exports.GroupAliasToken = exports.InjectionToken = exports.HooksRunner = exports.AddOnDisposeHookModule = exports.onDispose = exports.onDisposeHooksRunner = exports.AddOnConstructHookModule = exports.onConstruct = exports.onConstructHooksRunner = exports.injectProp = exports.HookContext = exports.hasHooks = exports.hook = exports.getHooks = exports.UnexpectedHookResultError = exports.ContainerDisposedError = exports.MethodNotImplementedError = exports.DependencyMissingKeyError = exports.DependencyNotFoundError = exports.Registration = exports.bindTo = exports.register = exports.scope = exports.decorate = exports.MultiCache = exports.multiCache = exports.SingletonProvider = exports.singleton = exports.Provider = exports.resolveByArgs = exports.ProviderDecorator = exports.args = exports.argsFn = exports.lazy = exports.scopeAccess = exports.ProxyInjector = exports.SimpleInjector = exports.MetadataInjector = exports.Injector = exports.resolveArgs = exports.inject = exports.EmptyContainer = exports.Container = exports.isDependencyKey = void 0;
4
- exports.resolveConstructor = exports.Is = exports.pipe = exports.select = exports.getMethodTags = exports.methodTag = exports.getMethodLabels = exports.methodLabel = exports.getMethodMeta = exports.methodMeta = exports.getParamTags = exports.paramTag = exports.getParamLabels = exports.paramLabel = exports.getParamMeta = exports.paramMeta = exports.getClassTags = exports.classTag = exports.getClassLabels = exports.classLabel = exports.getClassMeta = exports.classMeta = exports.handleAsyncError = exports.handleError = exports.GroupInstanceToken = exports.ConstantToken = void 0;
3
+ exports.ClassToken = exports.toSingleAlias = exports.SingleAliasToken = exports.toGroupAlias = exports.GroupAliasToken = exports.InjectionToken = exports.HooksRunner = exports.AddOnDisposeHookModule = exports.onDispose = exports.onDisposeHooksRunner = exports.AddOnConstructHookModule = exports.onConstruct = exports.onConstructHooksRunner = exports.injectProp = exports.createHookContext = exports.createHookContextFactory = exports.HookContext = exports.hasHooks = exports.hook = exports.getHooks = exports.UnexpectedHookResultError = exports.ContainerDisposedError = exports.MethodNotImplementedError = exports.DependencyMissingKeyError = exports.DependencyNotFoundError = exports.Registration = exports.bindTo = exports.register = exports.scope = exports.decorate = exports.MultiCache = exports.multiCache = exports.SingletonProvider = exports.singleton = exports.Provider = exports.resolveByArgs = exports.ProviderDecorator = exports.args = exports.argsFn = exports.lazy = exports.scopeAccess = exports.ProxyInjector = exports.SimpleInjector = exports.MetadataInjector = exports.Injector = exports.resolveArgs = exports.inject = exports.EmptyContainer = exports.Container = exports.isDependencyKey = void 0;
4
+ exports.resolveConstructor = exports.Is = exports.pipe = exports.select = exports.getMethodTags = exports.methodTag = exports.getMethodLabels = exports.methodLabel = exports.getMethodMeta = exports.methodMeta = exports.getParamTags = exports.paramTag = exports.getParamLabels = exports.paramLabel = exports.getParamMeta = exports.paramMeta = exports.getClassTags = exports.classTag = exports.getClassLabels = exports.classLabel = exports.getClassMeta = exports.classMeta = exports.handleAsyncError = exports.handleError = exports.GroupInstanceToken = exports.ConstantToken = exports.FunctionToken = exports.SingleToken = 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; } });
@@ -64,6 +64,8 @@ Object.defineProperty(exports, "hook", { enumerable: true, get: function () { re
64
64
  Object.defineProperty(exports, "hasHooks", { enumerable: true, get: function () { return hook_1.hasHooks; } });
65
65
  var HookContext_1 = require("./hooks/HookContext");
66
66
  Object.defineProperty(exports, "HookContext", { enumerable: true, get: function () { return HookContext_1.HookContext; } });
67
+ Object.defineProperty(exports, "createHookContextFactory", { enumerable: true, get: function () { return HookContext_1.createHookContextFactory; } });
68
+ Object.defineProperty(exports, "createHookContext", { enumerable: true, get: function () { return HookContext_1.createHookContext; } });
67
69
  var injectProp_1 = require("./hooks/injectProp");
68
70
  Object.defineProperty(exports, "injectProp", { enumerable: true, get: function () { return injectProp_1.injectProp; } });
69
71
  var onConstruct_1 = require("./hooks/onConstruct");
@@ -27,3 +27,4 @@ export class HookContext {
27
27
  }
28
28
  }
29
29
  export const createHookContext = (Target, scope, methodName = 'constructor') => new HookContext(Target, scope, methodName);
30
+ export const createHookContextFactory = ({ args = [] } = {}) => (Target, scope, methodName) => createHookContext(Target, scope, methodName).setInitialArgs(...args);
package/esm/index.js CHANGED
@@ -25,7 +25,7 @@ export { ContainerDisposedError } from './errors/ContainerDisposedError';
25
25
  export { UnexpectedHookResultError } from './errors/UnexpectedHookResultError';
26
26
  // Hooks
27
27
  export { getHooks, hook, hasHooks } from './hooks/hook';
28
- export { HookContext } from './hooks/HookContext';
28
+ export { HookContext, createHookContextFactory, createHookContext } from './hooks/HookContext';
29
29
  export { injectProp } from './hooks/injectProp';
30
30
  export { onConstructHooksRunner, onConstruct, AddOnConstructHookModule } from './hooks/onConstruct';
31
31
  export { onDisposeHooksRunner, onDispose, AddOnDisposeHookModule } from './hooks/onDispose';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-ioc-container",
3
- "version": "47.1.1",
3
+ "version": "47.2.0",
4
4
  "description": "Typescript IoC container",
5
5
  "workspaces": [
6
6
  "docs"
@@ -46,8 +46,8 @@
46
46
  "build:types": "rimraf typings && tsc -p tsconfig.production.json --outDir typings --emitDeclarationOnly --declaration",
47
47
  "generate:docs": "scripts/generate-readme/generate-readme.ts && git add README.md",
48
48
  "build": "npm run build:cjm && npm run build:esm && npm run build:types",
49
- "test": "jest",
50
- "test:coverage": "jest --coverage --coverageReporters=lcov --coverageReporters=text-summary",
49
+ "test": "vitest run",
50
+ "test:coverage": "vitest run --coverage --coverage.reporter=lcov",
51
51
  "type-check": "tsc --noEmit",
52
52
  "type-check:watch": "tsc --noEmit --watch",
53
53
  "commit": "cz",
@@ -71,27 +71,29 @@
71
71
  "@semantic-release/git": "^10.0.1",
72
72
  "@semantic-release/github": "^12.0.2",
73
73
  "@semantic-release/npm": "^13.1.2",
74
- "@types/jest": "29.5.14",
74
+ "@swc/core": "^1.15.24",
75
75
  "@types/node": "^25.5.2",
76
76
  "@typescript-eslint/eslint-plugin": "8.29.1",
77
77
  "@typescript-eslint/parser": "8.29.1",
78
+ "@vitest/coverage-v8": "^4.1.2",
78
79
  "cz-conventional-changelog": "^3.3.0",
79
80
  "eslint": "9.24.0",
80
81
  "eslint-config-prettier": "10.1.1",
81
82
  "eslint-plugin-prettier": "5.2.6",
82
83
  "handlebars": "^4.7.8",
83
84
  "husky": "^9.1.7",
84
- "jest": "29.7.0",
85
85
  "lint-staged": "^15.5.0",
86
- "moq.ts": "^7.4.1",
86
+ "moq.ts": "^10.0.8",
87
87
  "prettier": "3.5.3",
88
88
  "prettier-plugin-astro": "^0.14.1",
89
89
  "reflect-metadata": "^0.2.2",
90
90
  "rimraf": "6.0.1",
91
91
  "semantic-release": "^25.0.2",
92
- "ts-jest": "29.3.1",
93
92
  "tsx": "^4.21.0",
94
- "typescript": "5.8.3"
93
+ "typescript": "5.8.3",
94
+ "unplugin-swc": "^1.5.9",
95
+ "vite": "^6.4.1",
96
+ "vitest": "^4.1.2"
95
97
  },
96
98
  "lint-staged": {
97
99
  "*.{js,ts,tsx}": [
@@ -26,3 +26,6 @@ export declare class HookContext implements IHookContext {
26
26
  }
27
27
  export type CreateHookContext = (Target: object, scope: IContainer, methodName?: string) => IHookContext;
28
28
  export declare const createHookContext: CreateHookContext;
29
+ export declare const createHookContextFactory: ({ args }?: {
30
+ args?: unknown[];
31
+ }) => CreateHookContext;
@@ -20,7 +20,7 @@ export { MethodNotImplementedError } from './errors/MethodNotImplementedError';
20
20
  export { ContainerDisposedError } from './errors/ContainerDisposedError';
21
21
  export { UnexpectedHookResultError } from './errors/UnexpectedHookResultError';
22
22
  export { getHooks, hook, hasHooks, type HookFn, type HookClass, type InjectFn, type HooksOfClass } from './hooks/hook';
23
- export { HookContext, type IHookContext } from './hooks/HookContext';
23
+ export { HookContext, createHookContextFactory, createHookContext, type IHookContext } from './hooks/HookContext';
24
24
  export { injectProp } from './hooks/injectProp';
25
25
  export { onConstructHooksRunner, onConstruct, AddOnConstructHookModule } from './hooks/onConstruct';
26
26
  export { onDisposeHooksRunner, onDispose, AddOnDisposeHookModule } from './hooks/onDispose';