ts-ioc-container 30.7.0 → 30.9.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.
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AutoMockedContainer = void 0;
4
4
  const MethodNotImplementedError_1 = require("../errors/MethodNotImplementedError");
5
5
  class AutoMockedContainer {
6
+ constructor() {
7
+ this.isDisposed = false;
8
+ }
6
9
  getKeysByAlias(alias) {
7
10
  return [];
8
11
  }
@@ -7,9 +7,9 @@ const ContainerDisposedError_1 = require("../errors/ContainerDisposedError");
7
7
  class Container {
8
8
  constructor(injector, options = {}) {
9
9
  this.injector = injector;
10
+ this.isDisposed = false;
10
11
  this.providers = new Map();
11
12
  this.aliases = new Map();
12
- this.isDisposed = false;
13
13
  this.scopes = new Set();
14
14
  this.instances = new Set();
15
15
  this.parent = options.parent ?? new EmptyContainer_1.EmptyContainer();
@@ -4,6 +4,9 @@ exports.EmptyContainer = void 0;
4
4
  const MethodNotImplementedError_1 = require("../errors/MethodNotImplementedError");
5
5
  const DependencyNotFoundError_1 = require("../errors/DependencyNotFoundError");
6
6
  class EmptyContainer {
7
+ constructor() {
8
+ this.isDisposed = false;
9
+ }
7
10
  getKeysByAlias(alias) {
8
11
  return [];
9
12
  }
package/cjm/hook.js CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getHooks = exports.hook = void 0;
4
4
  const hook = (key) => (target, propertyKey) => {
5
- const hooks = Reflect.hasMetadata(key, target.constructor) ? Reflect.getMetadata(key, target) : [];
5
+ const hooks = Reflect.hasMetadata(key, target.constructor) ? Reflect.getMetadata(key, target.constructor) : [];
6
6
  Reflect.defineMetadata(key, [...hooks, propertyKey], target.constructor); // eslint-disable-line @typescript-eslint/ban-types
7
7
  };
8
8
  exports.hook = hook;
package/cjm/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setParameterMetadata = exports.getMetadata = exports.setMetadata = exports.by = exports.hook = exports.getHooks = exports.ProxyInjector = exports.SimpleInjector = exports.inject = exports.MetadataInjector = exports.alias = exports.register = exports.Registration = exports.key = exports.AutoMockedContainer = exports.SingletonProvider = exports.singleton = exports.ArgsProvider = exports.args = exports.argsFn = exports.Provider = exports.ContainerDisposedError = exports.MethodNotImplementedError = exports.DependencyNotFoundError = exports.visible = exports.scope = exports.provider = exports.EmptyContainer = exports.Container = exports.isDependencyKey = void 0;
3
+ exports.setParameterMetadata = exports.getMetadata = exports.setMetadata = exports.by = exports.hook = exports.getHooks = exports.ProxyInjector = exports.SimpleInjector = exports.inject = exports.MetadataInjector = exports.alias = exports.register = exports.Registration = exports.key = exports.AutoMockedContainer = exports.SingletonProvider = exports.singleton = exports.ArgsProvider = exports.args = exports.argsFn = exports.ProviderDecorator = exports.Provider = exports.ContainerDisposedError = exports.MethodNotImplementedError = exports.DependencyNotFoundError = exports.visible = exports.scope = exports.provider = exports.EmptyContainer = exports.Container = exports.isDependencyKey = void 0;
4
4
  var IContainer_1 = require("./container/IContainer");
5
5
  Object.defineProperty(exports, "isDependencyKey", { enumerable: true, get: function () { return IContainer_1.isDependencyKey; } });
6
6
  var Container_1 = require("./container/Container");
@@ -19,6 +19,8 @@ var ContainerDisposedError_1 = require("./errors/ContainerDisposedError");
19
19
  Object.defineProperty(exports, "ContainerDisposedError", { enumerable: true, get: function () { return ContainerDisposedError_1.ContainerDisposedError; } });
20
20
  var Provider_1 = require("./provider/Provider");
21
21
  Object.defineProperty(exports, "Provider", { enumerable: true, get: function () { return Provider_1.Provider; } });
22
+ var ProviderDecorator_1 = require("./provider/ProviderDecorator");
23
+ Object.defineProperty(exports, "ProviderDecorator", { enumerable: true, get: function () { return ProviderDecorator_1.ProviderDecorator; } });
22
24
  var ArgsProvider_1 = require("./provider/ArgsProvider");
23
25
  Object.defineProperty(exports, "argsFn", { enumerable: true, get: function () { return ArgsProvider_1.argsFn; } });
24
26
  Object.defineProperty(exports, "args", { enumerable: true, get: function () { return ArgsProvider_1.args; } });
@@ -1,5 +1,8 @@
1
1
  import { MethodNotImplementedError } from '../errors/MethodNotImplementedError';
2
2
  export class AutoMockedContainer {
3
+ constructor() {
4
+ this.isDisposed = false;
5
+ }
3
6
  getKeysByAlias(alias) {
4
7
  return [];
5
8
  }
@@ -4,9 +4,9 @@ import { ContainerDisposedError } from '../errors/ContainerDisposedError';
4
4
  export class Container {
5
5
  constructor(injector, options = {}) {
6
6
  this.injector = injector;
7
+ this.isDisposed = false;
7
8
  this.providers = new Map();
8
9
  this.aliases = new Map();
9
- this.isDisposed = false;
10
10
  this.scopes = new Set();
11
11
  this.instances = new Set();
12
12
  this.parent = options.parent ?? new EmptyContainer();
@@ -1,6 +1,9 @@
1
1
  import { MethodNotImplementedError } from '../errors/MethodNotImplementedError';
2
2
  import { DependencyNotFoundError } from '../errors/DependencyNotFoundError';
3
3
  export class EmptyContainer {
4
+ constructor() {
5
+ this.isDisposed = false;
6
+ }
4
7
  getKeysByAlias(alias) {
5
8
  return [];
6
9
  }
package/esm/hook.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export const hook = (key) => (target, propertyKey) => {
2
- const hooks = Reflect.hasMetadata(key, target.constructor) ? Reflect.getMetadata(key, target) : [];
2
+ const hooks = Reflect.hasMetadata(key, target.constructor) ? Reflect.getMetadata(key, target.constructor) : [];
3
3
  Reflect.defineMetadata(key, [...hooks, propertyKey], target.constructor); // eslint-disable-line @typescript-eslint/ban-types
4
4
  };
5
5
  // eslint-disable-next-line @typescript-eslint/ban-types
package/esm/index.js CHANGED
@@ -6,6 +6,7 @@ export { DependencyNotFoundError } from './errors/DependencyNotFoundError';
6
6
  export { MethodNotImplementedError } from './errors/MethodNotImplementedError';
7
7
  export { ContainerDisposedError } from './errors/ContainerDisposedError';
8
8
  export { Provider } from './provider/Provider';
9
+ export { ProviderDecorator } from './provider/ProviderDecorator';
9
10
  export { argsFn, args, ArgsProvider } from './provider/ArgsProvider';
10
11
  export { singleton, SingletonProvider } from './provider/SingletonProvider';
11
12
  export { AutoMockedContainer } from './container/AutoMockedContainer';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-ioc-container",
3
- "version": "30.7.0",
3
+ "version": "30.9.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": "406ecdc2fbd80cece9bffa1af64d4c06291e9177"
62
+ "gitHead": "6ba99459b0ea7f62f3b7768e32063715c5d78f76"
63
63
  }
@@ -1,6 +1,7 @@
1
1
  import { AliasPredicate, DependencyKey, IContainer, InjectionToken, ResolveOptions } from './IContainer';
2
2
  import { IProvider } from '../provider/IProvider';
3
3
  export declare abstract class AutoMockedContainer implements IContainer {
4
+ isDisposed: boolean;
4
5
  getKeysByAlias(alias: AliasPredicate): DependencyKey[];
5
6
  hasDependency(key: string): boolean;
6
7
  createScope(): IContainer;
@@ -3,10 +3,10 @@ import { IInjector } from '../injector/IInjector';
3
3
  import { IProvider } from '../provider/IProvider';
4
4
  export declare class Container implements IContainer {
5
5
  private readonly injector;
6
+ isDisposed: boolean;
6
7
  private readonly providers;
7
8
  private readonly aliases;
8
9
  private tags;
9
- private isDisposed;
10
10
  private parent;
11
11
  private scopes;
12
12
  private instances;
@@ -1,6 +1,7 @@
1
1
  import { AliasPredicate, DependencyKey, IContainer, IContainerModule, InjectionToken, ResolveOptions } from './IContainer';
2
2
  import { IProvider } from '../provider/IProvider';
3
3
  export declare class EmptyContainer implements IContainer {
4
+ isDisposed: boolean;
4
5
  getKeysByAlias(alias: AliasPredicate): DependencyKey[];
5
6
  hasDependency(key: string): boolean;
6
7
  hasTag(): boolean;
@@ -21,6 +21,7 @@ export interface Tagged {
21
21
  export type Alias = string;
22
22
  export type AliasPredicate = (aliases: Alias[]) => boolean;
23
23
  export interface IContainer extends Resolvable, Tagged {
24
+ readonly isDisposed: boolean;
24
25
  createScope(...tags: Tag[]): IContainer;
25
26
  register(key: DependencyKey, value: IProvider, aliases?: Alias[]): this;
26
27
  removeScope(child: IContainer): void;
@@ -8,6 +8,7 @@ export { DependencyNotFoundError } from './errors/DependencyNotFoundError';
8
8
  export { MethodNotImplementedError } from './errors/MethodNotImplementedError';
9
9
  export { ContainerDisposedError } from './errors/ContainerDisposedError';
10
10
  export { Provider } from './provider/Provider';
11
+ export { ProviderDecorator } from './provider/ProviderDecorator';
11
12
  export { ArgsFn, argsFn, args, ArgsProvider } from './provider/ArgsProvider';
12
13
  export { singleton, SingletonProvider } from './provider/SingletonProvider';
13
14
  export { AutoMockedContainer } from './container/AutoMockedContainer';
@@ -9,6 +9,6 @@ export declare abstract class ProviderDecorator<T> implements IProvider<T> {
9
9
  abstract clone(): IProvider<T>;
10
10
  isValidToClone(container: Tagged): boolean;
11
11
  isVisible(parent: IContainer, child: Tagged): boolean;
12
- resolve(container: IContainer, ...args: any[]): T;
12
+ resolve(container: IContainer, ...args: unknown[]): T;
13
13
  pipe(...mappers: MapFn<IProvider<T>>[]): IProvider<T>;
14
14
  }