diff --git a/classes/classes_TSinjex.TSinjex.html b/classes/classes_TSinjex.TSinjex.html index 677a6c0..c6db25f 100644 --- a/classes/classes_TSinjex.TSinjex.html +++ b/classes/classes_TSinjex.TSinjex.html @@ -1,4 +1,4 @@ -TSinjex | ts-injex - v0.1.0

TSinjex

The main class for the Dependency Injection Container TSinjex.

+TSinjex | ts-injex - v0.2.0

TSinjex

The main class for the Dependency Injection Container TSinjex.

  • Register for registering a class in the DI container.
  • RegisterInstance for registering an instance in the DI container.
  • @@ -9,7 +9,7 @@
  • register for registering a dependency (class or instance) as a function.
  • resolve for resolving a dependency as a function.
-

Implements

Constructors

Implements

Constructors

Properties

Methods

register @@ -18,22 +18,22 @@ register resolve

Constructors

Properties

_dependencies: Map<Identifier, IDependency> = ...

The dependencies map.

-
_instance: TSinjex

The singleton instance of the TSinjex class.

-

Methods

Properties

_dependencies: Map<Identifier, IDependency> = ...

The dependencies map.

+
_instance: TSinjex

The singleton instance of the TSinjex class.

+

Methods

  • Register a dependency.

    Type Parameters

    • T

    Parameters

    • identifier: Identifier

      The identifier of the dependency.

    • dependency: T

      The dependency to register.

    • deprecated: boolean = false

      If true, the dependency is deprecated => a warning is logged when the dependency is resolved.

      -

    Returns void

  • Resolve a dependency

    +

Returns void

  • Resolve a dependency

    Type Parameters

    • T

    Parameters

    • identifier: Identifier

      The identifier of the dependency

    • necessary: boolean = true

      If true, throws an error if the dependency is not found

    Returns undefined | T

    The resolved dependency or undefined if the dependency is not found

    A DependencyResolutionError if the dependency is not found and necessary.

    -
+
diff --git a/classes/interfaces_Exceptions.DependencyResolutionError.html b/classes/interfaces_Exceptions.DependencyResolutionError.html index c243eb9..91f3415 100644 --- a/classes/interfaces_Exceptions.DependencyResolutionError.html +++ b/classes/interfaces_Exceptions.DependencyResolutionError.html @@ -1,6 +1,6 @@ -DependencyResolutionError | ts-injex - v0.1.0

Error class for dependency resolution errors in ITSinjex.

+DependencyResolutionError | ts-injex - v0.2.0

Error class for dependency resolution errors in ITSinjex.

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

message name stack? @@ -9,7 +9,7 @@

Methods

Constructors

Properties

message: string
name: string
stack?: string
prepareStackTrace?: ((err: Error, stackTraces: CallSite[]) => any)

Optional override for formatting stack traces

+

Returns DependencyResolutionError

Properties

message: string
name: string
stack?: string
prepareStackTrace?: ((err: Error, stackTraces: CallSite[]) => any)

Optional override for formatting stack traces

stackTraceLimit: number

Methods

  • Create .stack property on a target object

    -

    Parameters

    • targetObject: object
    • OptionalconstructorOpt: Function

    Returns void

+

Parameters

  • targetObject: object
  • OptionalconstructorOpt: Function

Returns void

diff --git a/classes/interfaces_Exceptions.InitializationError.html b/classes/interfaces_Exceptions.InitializationError.html index 33e1251..26d7d54 100644 --- a/classes/interfaces_Exceptions.InitializationError.html +++ b/classes/interfaces_Exceptions.InitializationError.html @@ -1,6 +1,6 @@ -InitializationError | ts-injex - v0.1.0

Error class for errors during the initialization of a dependency in ITSinjex.

+InitializationError | ts-injex - v0.2.0

Error class for errors during the initialization of a dependency in ITSinjex.

ITSinjex.inject

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

message name stack? @@ -10,7 +10,7 @@

Constructors

Properties

message: string
name: string
stack?: string
prepareStackTrace?: ((err: Error, stackTraces: CallSite[]) => any)

Optional override for formatting stack traces

+

Returns InitializationError

Properties

message: string
name: string
stack?: string
prepareStackTrace?: ((err: Error, stackTraces: CallSite[]) => any)

Optional override for formatting stack traces

stackTraceLimit: number

Methods

  • Create .stack property on a target object

    -

    Parameters

    • targetObject: object
    • OptionalconstructorOpt: Function

    Returns void

+

Parameters

  • targetObject: object
  • OptionalconstructorOpt: Function

Returns void

diff --git a/classes/interfaces_Exceptions.InjectorError.html b/classes/interfaces_Exceptions.InjectorError.html index c185cce..00c3a12 100644 --- a/classes/interfaces_Exceptions.InjectorError.html +++ b/classes/interfaces_Exceptions.InjectorError.html @@ -1,6 +1,6 @@ -InjectorError | ts-injex - v0.1.0

Error class for Injector errors in ITSinjex.

+InjectorError | ts-injex - v0.2.0

Error class for Injector errors in ITSinjex.

ITSinjex.inject

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

message name stack? @@ -10,7 +10,7 @@

Constructors

Properties

message: string
name: string
stack?: string
prepareStackTrace?: ((err: Error, stackTraces: CallSite[]) => any)

Optional override for formatting stack traces

+

Returns InjectorError

Properties

message: string
name: string
stack?: string
prepareStackTrace?: ((err: Error, stackTraces: CallSite[]) => any)

Optional override for formatting stack traces

stackTraceLimit: number

Methods

  • Create .stack property on a target object

    -

    Parameters

    • targetObject: object
    • OptionalconstructorOpt: Function

    Returns void

+

Parameters

  • targetObject: object
  • OptionalconstructorOpt: Function

Returns void

diff --git a/classes/interfaces_Exceptions.NoInstantiationMethodError.html b/classes/interfaces_Exceptions.NoInstantiationMethodError.html index c4b4493..e1b1dd1 100644 --- a/classes/interfaces_Exceptions.NoInstantiationMethodError.html +++ b/classes/interfaces_Exceptions.NoInstantiationMethodError.html @@ -1,6 +1,6 @@ -NoInstantiationMethodError | ts-injex - v0.1.0

Error class for missing instantiation methods in ITSinjex.

+NoInstantiationMethodError | ts-injex - v0.2.0

Error class for missing instantiation methods in ITSinjex.

ITSinjex.inject

-

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Properties

message name stack? @@ -9,7 +9,7 @@

Methods

Constructors

Properties

message: string
name: string
stack?: string
prepareStackTrace?: ((err: Error, stackTraces: CallSite[]) => any)

Optional override for formatting stack traces

+

Returns NoInstantiationMethodError

Properties

message: string
name: string
stack?: string
prepareStackTrace?: ((err: Error, stackTraces: CallSite[]) => any)

Optional override for formatting stack traces

stackTraceLimit: number

Methods

  • Create .stack property on a target object

    -

    Parameters

    • targetObject: object
    • OptionalconstructorOpt: Function

    Returns void

+

Parameters

  • targetObject: object
  • OptionalconstructorOpt: Function

Returns void

diff --git a/classes/interfaces_Exceptions.TSinjexError.html b/classes/interfaces_Exceptions.TSinjexError.html index dfd5340..0fe0244 100644 --- a/classes/interfaces_Exceptions.TSinjexError.html +++ b/classes/interfaces_Exceptions.TSinjexError.html @@ -1,5 +1,5 @@ -TSinjexError | ts-injex - v0.1.0

General error class for ITSinjex interface.

-

Hierarchy (view full)

Constructors

constructor +TSinjexError | ts-injex - v0.2.0

General error class for ITSinjex interface.

+

Hierarchy (view full)

Constructors

Properties

message name stack? @@ -8,7 +8,7 @@

Methods

Constructors

Properties

message: string
name: string
stack?: string
prepareStackTrace?: ((err: Error, stackTraces: CallSite[]) => any)

Optional override for formatting stack traces

+

Returns TSinjexError

Properties

message: string
name: string
stack?: string
prepareStackTrace?: ((err: Error, stackTraces: CallSite[]) => any)

Optional override for formatting stack traces

stackTraceLimit: number

Methods

  • Create .stack property on a target object

    -

    Parameters

    • targetObject: object
    • OptionalconstructorOpt: Function

    Returns void

+

Parameters

Returns void

diff --git a/coverage/badges/badge-branches.svg b/coverage/badges/badge-branches.svg index 4aa8528..b6e8c5a 100644 --- a/coverage/badges/badge-branches.svg +++ b/coverage/badges/badge-branches.svg @@ -1 +1 @@ -branches: 91.66%branches91.66% \ No newline at end of file +branches: 91.66%branches91.66% \ No newline at end of file diff --git a/coverage/badges/badge-functions.svg b/coverage/badges/badge-functions.svg index 820762a..237a902 100644 --- a/coverage/badges/badge-functions.svg +++ b/coverage/badges/badge-functions.svg @@ -1 +1 @@ -functions: 96.42%functions96.42% \ No newline at end of file +functions: 96.42%functions96.42% \ No newline at end of file diff --git a/coverage/badges/badge-lines.svg b/coverage/badges/badge-lines.svg index 4a9991c..d5c5d62 100644 --- a/coverage/badges/badge-lines.svg +++ b/coverage/badges/badge-lines.svg @@ -1 +1 @@ -lines: 96.73%lines96.73% \ No newline at end of file +lines: 96.73%lines96.73% \ No newline at end of file diff --git a/coverage/badges/badge-statements.svg b/coverage/badges/badge-statements.svg index eb4b8f5..239624c 100644 --- a/coverage/badges/badge-statements.svg +++ b/coverage/badges/badge-statements.svg @@ -1 +1 @@ -statements: 96.84%statements96.84% \ No newline at end of file +statements: 96.84%statements96.84% \ No newline at end of file diff --git a/coverage/lcov-report/classes/TSinjex.ts.html b/coverage/lcov-report/classes/TSinjex.ts.html index 0cec4ff..9f3b30c 100644 --- a/coverage/lcov-report/classes/TSinjex.ts.html +++ b/coverage/lcov-report/classes/TSinjex.ts.html @@ -451,7 +451,7 @@ export class TSinjex implements ITSinjex {
  • A decorator to inject a dependency from a DI (Dependency Injection) container into a class property.

    +Inject | ts-injex - v0.2.0
    • A decorator to inject a dependency from a DI (Dependency Injection) container into a class property.

      Type Parameters

      • T

        The type of the dependency to be injected.

      • U

        The type of the property to be injected.

      Parameters

      • identifier: Identifier

        The identifier used to resolve the class in the DI container.

        @@ -22,4 +22,4 @@ and not found, or throws an error if the dependency is necessary and not found.<
        class MyClass {
        @Inject('ILogger_', (x: ILogger_) => x.getLogger('Tags'), false)
        private _logger?: ILogger;
        }
        -
    +
diff --git a/functions/decorators_Register.Register.html b/functions/decorators_Register.Register.html index e345653..d4d4040 100644 --- a/functions/decorators_Register.Register.html +++ b/functions/decorators_Register.Register.html @@ -1,4 +1,4 @@ -Register | ts-injex - v0.1.0
  • A decorator to register a class in the TSinjex DI (Dependency Injection) container.

    +Register | ts-injex - v0.2.0
    • A decorator to register a class in the TSinjex DI (Dependency Injection) container.

      Type Parameters

      • TargetType extends (new (...args: unknown[]) => InstanceType<TargetType>)

        The type of the class to be registered.

      Parameters

      • identifier: Identifier

        The identifier used to register the class in the DI container.

      • Optionaldeprecated: boolean

        If true, the dependency is deprecated and a warning @@ -8,4 +8,4 @@ is logged only once upon the first resolution of the dependency.

        @Register('MyClassIdentifier')
        class MyClass {
        // ...
        }
        -
    +
diff --git a/functions/decorators_RegisterInstance.RegisterInstance.html b/functions/decorators_RegisterInstance.RegisterInstance.html index 2104886..8098df7 100644 --- a/functions/decorators_RegisterInstance.RegisterInstance.html +++ b/functions/decorators_RegisterInstance.RegisterInstance.html @@ -1,4 +1,4 @@ -RegisterInstance | ts-injex - v0.1.0
  • A decorator to register an instance of a class in the DI (Dependency Injection) container.

    +RegisterInstance | ts-injex - v0.2.0
    • A decorator to register an instance of a class in the DI (Dependency Injection) container.

      Type Parameters

      • TargetType extends (new (..._args: unknown[]) => InstanceType<TargetType>)

        The type of the class whose instance is to be registered.

      Parameters

      • identifier: Identifier

        The identifier used to register the instance in the DI container.

      • Optionalinit: InitDelegate<TargetType & (new (..._args: unknown[]) => InstanceType<TargetType>), InstanceType<TargetType>>

        An optional initializer function which get the constructor of the class @@ -11,4 +11,4 @@ as input and returns an instance of the class.

        @RegisterInstance('MyClassInstanceIdentifier', (constructor) => new constructor())
        class MyClass {
        // ...
        }
        -
    +
diff --git a/functions/functions_register.register.html b/functions/functions_register.register.html index 3cc10b9..67ef4e3 100644 --- a/functions/functions_register.register.html +++ b/functions/functions_register.register.html @@ -1,4 +1,4 @@ -register | ts-injex - v0.1.0

Register a dependency.

+register | ts-injex - v0.2.0

Register a dependency.

The identifier used to register the class in the DI container.

Identifier for more information on identifiers.

The dependency to register.

@@ -8,9 +8,9 @@ is logged when the dependency is resolved.

Type Parameters

  • T

Parameters

  • identifier: Identifier

    The identifier used to register the class in the DI container.

  • dependency: T

    The dependency to register.

Returns void

Identifier for more information on identifiers..

-
  • Register a dependency.

    +
  • Register a dependency.

    Type Parameters

    • T

    Parameters

    • identifier: Identifier

      The identifier used to register the class in the DI container.

    • dependency: T

      The dependency to register.

    • Optionaldeprecated: true

      A warning is logged when the dependency is resolved.

    Returns void

    Identifier for more information on identifiers.

    -
  • +
    diff --git a/functions/functions_resolve.resolve.html b/functions/functions_resolve.resolve.html index 33e879a..077bdb5 100644 --- a/functions/functions_resolve.resolve.html +++ b/functions/functions_resolve.resolve.html @@ -1,4 +1,4 @@ -resolve | ts-injex - v0.1.0

    Resolve a dependency.

    +resolve | ts-injex - v0.2.0

    Resolve a dependency.

    The identifier used to register the class in the DI container.

    Identifier for more information on identifiers.

    If true, throws an error if the dependency is not found.

    @@ -10,9 +10,9 @@ and not found, or throws an error if the dependency is necessary and not found.<

    Returns T

    The resolved dependency.

    Identifier for more information on identifiers.

    A DependencyResolutionError if the dependency is not found.

    -
  • Resolve a dependency

    +
  • Resolve a dependency

    Type Parameters

    • T

    Parameters

    • identifier: Identifier

      The identifier used to register the class in the DI container.

    • necessary: false

      The dependency is not necessary.

    Returns T | undefined

    The resolved dependency or undefined if the dependency is not found.

    Identifier for more information on identifiers.

    -
  • +
    diff --git a/functions/helper_ImplementsStatic.ImplementsStatic.html b/functions/helper_ImplementsStatic.ImplementsStatic.html index 1d1fb22..01a14d5 100644 --- a/functions/helper_ImplementsStatic.ImplementsStatic.html +++ b/functions/helper_ImplementsStatic.ImplementsStatic.html @@ -1,4 +1,4 @@ -ImplementsStatic | ts-injex - v0.1.0
    • Decorator to enforce static implementation of an interface. +ImplementsStatic | ts-injex - v0.2.0

      • Decorator to enforce static implementation of an interface. Warns on compile time if the interface is not implemented.

        Type Parameters

        • I

        Returns (<T>(constructor: T, ...args: unknown[]) => void)

        A decorator function

        -
          • <T>(constructor, ...args): void
          • Type Parameters

            • T

            Parameters

            • constructor: T
            • Rest...args: unknown[]

            Returns void

      +
        • <T>(constructor, ...args): void
        • Type Parameters

          • T

          Parameters

          • constructor: T
          • Rest...args: unknown[]

          Returns void

    diff --git a/hierarchy.html b/hierarchy.html index 648c08b..4c917aa 100644 --- a/hierarchy.html +++ b/hierarchy.html @@ -1 +1 @@ -ts-injex - v0.1.0

    ts-injex - v0.1.0

    Class Hierarchy

    +ts-injex - v0.2.0

    ts-injex - v0.2.0

    Class Hierarchy

    diff --git a/index.html b/index.html index 6a826ca..e36389a 100644 --- a/index.html +++ b/index.html @@ -1,8 +1,8 @@ -ts-injex - v0.1.0

    ts-injex - v0.1.0

    Time

    +ts-injex - v0.2.0

    ts-injex - v0.2.0

    Time

    Statements Branches Functions Lines

    TSinjex

    Strings and symbols are possible for the identifiers.

    For the use of TSinjex with Jest, the corresponding source files can be found under ./src of the TSinjex node_module folder. To use these files, the moduleNameMapper must be configured in the Jest configuration file. The following example shows how to configure the Jest configuration file to use the source files of TSinjex.

    module.exports = {
    setupFilesAfterEnv: ['./scripts/jest.setup.js'],
    preset: 'ts-jest',
    testEnvironment: 'node',
    testMatch: ['**/__tests__/**/*.test.ts', '**/?(*.)+(test).ts'],
    moduleDirectories: ['node_modules', 'src'],
    moduleNameMapper: {
    '^src/(.*)$': '<rootDir>/src/$1', // Map src to the source folder
    '^ts-injex$': '<rootDir>/node_modules/ts-injex/src', // Map ts-injex to the source folder
    },
    transformIgnorePatterns: [
    'node_modules/(?!ts-injex)' // **Dont** ignore ts-injex on preset `ts-jest`
    ],
    };
    -
    +
    diff --git a/interfaces/interfaces_IDependency.IDependency.html b/interfaces/interfaces_IDependency.IDependency.html index 1d65901..27aa6f0 100644 --- a/interfaces/interfaces_IDependency.IDependency.html +++ b/interfaces/interfaces_IDependency.IDependency.html @@ -1,7 +1,7 @@ -IDependency | ts-injex - v0.1.0

    Dependency Entry Interface

    -
    interface IDependency {
        dependency: unknown;
        deprecated?: boolean;
    }

    Properties

    dependency +IDependency | ts-injex - v0.2.0

    Dependency Entry Interface

    +
    interface IDependency {
        dependency: unknown;
        deprecated?: boolean;
    }

    Properties

    dependency: unknown

    The dependency itself

    -
    deprecated?: boolean

    If true, the dependency is deprecated => a warning +

    deprecated?: boolean

    If true, the dependency is deprecated => a warning is logged when the dependency is resolved

    -
    +
    diff --git a/interfaces/interfaces_ITSinjex.ITSinjex.html b/interfaces/interfaces_ITSinjex.ITSinjex.html index e61e68d..fc7b8d1 100644 --- a/interfaces/interfaces_ITSinjex.ITSinjex.html +++ b/interfaces/interfaces_ITSinjex.ITSinjex.html @@ -1,31 +1,31 @@ -ITSinjex | ts-injex - v0.1.0

    Instance TSinjex Interface

    -
    interface ITSinjex {
        register<T>(identifier: Identifier, dependency: T, deprecated?: boolean): void;
        register<T>(identifier: Identifier, dependency: T, deprecated?: true): void;
        register<T>(identifier: Identifier, dependency: T, deprecated?: false): void;
        resolve<T>(identifier: Identifier, necessary?: boolean): undefined | T;
        resolve<T>(identifier: Identifier, necessary?: true): T;
        resolve<T>(identifier: Identifier, necessary?: false): undefined | T;
    }

    Hierarchy (view full)

    Implemented by

    Methods

    register +ITSinjex | ts-injex - v0.2.0

    Instance TSinjex Interface

    +
    interface ITSinjex {
        register<T>(identifier: Identifier, dependency: T, deprecated?: boolean): void;
        register<T>(identifier: Identifier, dependency: T, deprecated?: true): void;
        register<T>(identifier: Identifier, dependency: T, deprecated?: false): void;
        resolve<T>(identifier: Identifier, necessary?: boolean): undefined | T;
        resolve<T>(identifier: Identifier, necessary?: true): T;
        resolve<T>(identifier: Identifier, necessary?: false): undefined | T;
    }

    Hierarchy (view full)

    Implemented by

    Methods

    • Register a dependency.

      Type Parameters

      • T

      Parameters

      • identifier: Identifier

        The identifier of the dependency.

      • dependency: T

        The dependency to register.

      • Optionaldeprecated: boolean

        If true, the dependency is deprecated => a warning is logged when the dependency is resolved.

        -

      Returns void

    • Register a deprecated dependency.

      +

    Returns void

  • Register a deprecated dependency.

    Type Parameters

    • T

    Parameters

    • identifier: Identifier

      The identifier of the dependency.

    • dependency: T

      The dependency to register.

    • Optionaldeprecated: true

      A warning is logged when the dependency is resolved.

      -

    Returns void

  • Register a dependency.

    +
  • Returns void

  • Register a dependency.

    Type Parameters

    • T

    Parameters

    • identifier: Identifier

      The identifier of the dependency.

    • dependency: T

      The dependency to register.

    • Optionaldeprecated: false

      No warning is logged when the dependency is resolved.

      -

    Returns void

    • Resolve a dependency

      +

    Returns void

    +
    diff --git a/interfaces/interfaces_ITSinjex.ITSinjexRegister.html b/interfaces/interfaces_ITSinjex.ITSinjexRegister.html index d6da177..6266c1f 100644 --- a/interfaces/interfaces_ITSinjex.ITSinjexRegister.html +++ b/interfaces/interfaces_ITSinjex.ITSinjexRegister.html @@ -1,16 +1,16 @@ -ITSinjexRegister | ts-injex - v0.1.0

    Register method for static and instance Dependency Injection Container.

    -
    interface ITSinjexRegister {
        register<T>(identifier: Identifier, dependency: T, deprecated?: boolean): void;
        register<T>(identifier: Identifier, dependency: T, deprecated?: true): void;
        register<T>(identifier: Identifier, dependency: T, deprecated?: false): void;
    }

    Hierarchy (view full)

    Methods

    register +ITSinjexRegister | ts-injex - v0.2.0

    Register method for static and instance Dependency Injection Container.

    +
    interface ITSinjexRegister {
        register<T>(identifier: Identifier, dependency: T, deprecated?: boolean): void;
        register<T>(identifier: Identifier, dependency: T, deprecated?: true): void;
        register<T>(identifier: Identifier, dependency: T, deprecated?: false): void;
    }

    Hierarchy (view full)

    Methods

    Methods

    • Register a dependency.

      Type Parameters

      • T

      Parameters

      • identifier: Identifier

        The identifier of the dependency.

      • dependency: T

        The dependency to register.

      • Optionaldeprecated: boolean

        If true, the dependency is deprecated => a warning is logged when the dependency is resolved.

        -

      Returns void

    • Register a deprecated dependency.

      +

    Returns void

  • Register a deprecated dependency.

    Type Parameters

    • T

    Parameters

    • identifier: Identifier

      The identifier of the dependency.

    • dependency: T

      The dependency to register.

    • Optionaldeprecated: true

      A warning is logged when the dependency is resolved.

      -

    Returns void

  • Register a dependency.

    +
  • Returns void

  • Register a dependency.

    Type Parameters

    • T

    Parameters

    • identifier: Identifier

      The identifier of the dependency.

    • dependency: T

      The dependency to register.

    • Optionaldeprecated: false

      No warning is logged when the dependency is resolved.

      -

    Returns void

  • +

    Returns void

    diff --git a/interfaces/interfaces_ITSinjex.ITSinjexResolve.html b/interfaces/interfaces_ITSinjex.ITSinjexResolve.html index d793f90..ccd7cd8 100644 --- a/interfaces/interfaces_ITSinjex.ITSinjexResolve.html +++ b/interfaces/interfaces_ITSinjex.ITSinjexResolve.html @@ -1,17 +1,17 @@ -ITSinjexResolve | ts-injex - v0.1.0

    Resolve method for static and instance Dependency Injection Container.

    -
    interface ITSinjexResolve {
        resolve<T>(identifier: Identifier, necessary?: boolean): undefined | T;
        resolve<T>(identifier: Identifier, necessary?: true): T;
        resolve<T>(identifier: Identifier, necessary?: false): undefined | T;
    }

    Hierarchy (view full)

    Methods

    resolve +ITSinjexResolve | ts-injex - v0.2.0

    Resolve method for static and instance Dependency Injection Container.

    +
    interface ITSinjexResolve {
        resolve<T>(identifier: Identifier, necessary?: boolean): undefined | T;
        resolve<T>(identifier: Identifier, necessary?: true): T;
        resolve<T>(identifier: Identifier, necessary?: false): undefined | T;
    }

    Hierarchy (view full)

    Methods

    Methods

    • Resolve a dependency

      Type Parameters

      • T

      Parameters

      • identifier: Identifier

        The identifier of the dependency

      • Optionalnecessary: boolean

        If true, throws an error if the dependency is not found

      Returns undefined | T

      The resolved dependency or undefined if the dependency is not found

      A DependencyResolutionError if the dependency is not found and necessary.

      -
    • Resolve a necessary dependency.

      +
    • Resolve a necessary dependency.

      Type Parameters

      • T

      Parameters

      • identifier: Identifier

        The identifier of the dependency.

      • Optionalnecessary: true

        If true, throws an error if the dependency is not found.

      Returns T

      The resolved dependency.

      A DependencyResolutionError if the dependency is not found.

      -
    • Resolve a non necessary dependency

      +
    • Resolve a non necessary dependency

      Type Parameters

      • T

      Parameters

      • identifier: Identifier

        The identifier of the dependency

      • Optionalnecessary: false

        Not necessary, does not throw an error if the dependency is not found.

      Returns undefined | T

      The resolved dependency or undefined if the dependency is not found

      -
    +
    diff --git a/interfaces/interfaces_ITSinjex.ITSinjex_.html b/interfaces/interfaces_ITSinjex.ITSinjex_.html index a76549e..f2a316d 100644 --- a/interfaces/interfaces_ITSinjex.ITSinjex_.html +++ b/interfaces/interfaces_ITSinjex.ITSinjex_.html @@ -1,34 +1,34 @@ -ITSinjex_ | ts-injex - v0.1.0

    Static TSInjex Interface

    -
    interface ITSinjex_ {
        getInstance(): ITSinjex;
        register<T>(identifier: Identifier, dependency: T, deprecated?: boolean): void;
        register<T>(identifier: Identifier, dependency: T, deprecated?: true): void;
        register<T>(identifier: Identifier, dependency: T, deprecated?: false): void;
        resolve<T>(identifier: Identifier, necessary?: boolean): undefined | T;
        resolve<T>(identifier: Identifier, necessary?: true): T;
        resolve<T>(identifier: Identifier, necessary?: false): undefined | T;
    }

    Hierarchy (view full)

    Methods

    getInstance +ITSinjex_ | ts-injex - v0.2.0

    Static TSInjex Interface

    +
    interface ITSinjex_ {
        getInstance(): ITSinjex;
        register<T>(identifier: Identifier, dependency: T, deprecated?: boolean): void;
        register<T>(identifier: Identifier, dependency: T, deprecated?: true): void;
        register<T>(identifier: Identifier, dependency: T, deprecated?: false): void;
        resolve<T>(identifier: Identifier, necessary?: boolean): undefined | T;
        resolve<T>(identifier: Identifier, necessary?: true): T;
        resolve<T>(identifier: Identifier, necessary?: false): undefined | T;
    }

    Hierarchy (view full)

    Methods

    • Register a dependency.

      Type Parameters

      • T

      Parameters

      • identifier: Identifier

        The identifier of the dependency.

      • dependency: T

        The dependency to register.

      • Optionaldeprecated: boolean

        If true, the dependency is deprecated => a warning is logged when the dependency is resolved.

        -

      Returns void

    • Register a deprecated dependency.

      +

    Returns void

  • Register a deprecated dependency.

    Type Parameters

    • T

    Parameters

    • identifier: Identifier

      The identifier of the dependency.

    • dependency: T

      The dependency to register.

    • Optionaldeprecated: true

      A warning is logged when the dependency is resolved.

      -

    Returns void

  • Register a dependency.

    +
  • Returns void

  • Register a dependency.

    Type Parameters

    • T

    Parameters

    • identifier: Identifier

      The identifier of the dependency.

    • dependency: T

      The dependency to register.

    • Optionaldeprecated: false

      No warning is logged when the dependency is resolved.

      -

    Returns void

    • Resolve a dependency

      +

    Returns void

    +
    diff --git a/modules/classes_TSinjex.html b/modules/classes_TSinjex.html index 088c004..f25a6b2 100644 --- a/modules/classes_TSinjex.html +++ b/modules/classes_TSinjex.html @@ -1,2 +1,2 @@ -classes/TSinjex | ts-injex - v0.1.0

    Module classes/TSinjex

    Index

    Classes

    +classes/TSinjex | ts-injex - v0.2.0

    Module classes/TSinjex

    Index

    Classes

    diff --git a/modules/decorators_Inject.html b/modules/decorators_Inject.html index 3a41118..ee4b353 100644 --- a/modules/decorators_Inject.html +++ b/modules/decorators_Inject.html @@ -1,2 +1,2 @@ -decorators/Inject | ts-injex - v0.1.0

    Module decorators/Inject

    Index

    Functions

    +decorators/Inject | ts-injex - v0.2.0

    Module decorators/Inject

    Index

    Functions

    diff --git a/modules/decorators_Register.html b/modules/decorators_Register.html index d12307d..3d2b815 100644 --- a/modules/decorators_Register.html +++ b/modules/decorators_Register.html @@ -1,2 +1,2 @@ -decorators/Register | ts-injex - v0.1.0

    Module decorators/Register

    Index

    Functions

    +decorators/Register | ts-injex - v0.2.0

    Module decorators/Register

    Index

    Functions

    diff --git a/modules/decorators_RegisterInstance.html b/modules/decorators_RegisterInstance.html index 749bfb7..35b37ff 100644 --- a/modules/decorators_RegisterInstance.html +++ b/modules/decorators_RegisterInstance.html @@ -1,2 +1,2 @@ -decorators/RegisterInstance | ts-injex - v0.1.0

    Module decorators/RegisterInstance

    Index

    Functions

    +decorators/RegisterInstance | ts-injex - v0.2.0

    Module decorators/RegisterInstance

    Index

    Functions

    diff --git a/modules/functions_register.html b/modules/functions_register.html index 674957e..33d954a 100644 --- a/modules/functions_register.html +++ b/modules/functions_register.html @@ -1,2 +1,2 @@ -functions/register | ts-injex - v0.1.0

    Module functions/register

    Index

    Functions

    +functions/register | ts-injex - v0.2.0

    Module functions/register

    Index

    Functions

    diff --git a/modules/functions_resolve.html b/modules/functions_resolve.html index e7302e6..91ed52f 100644 --- a/modules/functions_resolve.html +++ b/modules/functions_resolve.html @@ -1,2 +1,2 @@ -functions/resolve | ts-injex - v0.1.0

    Module functions/resolve

    Index

    Functions

    +functions/resolve | ts-injex - v0.2.0

    Module functions/resolve

    Index

    Functions

    diff --git a/modules/helper_ImplementsStatic.html b/modules/helper_ImplementsStatic.html index bce72ee..8b12518 100644 --- a/modules/helper_ImplementsStatic.html +++ b/modules/helper_ImplementsStatic.html @@ -1,2 +1,2 @@ -helper/ImplementsStatic | ts-injex - v0.1.0

    Module helper/ImplementsStatic

    Index

    Functions

    +helper/ImplementsStatic | ts-injex - v0.2.0

    Module helper/ImplementsStatic

    Index

    Functions

    diff --git a/modules/index.html b/modules/index.html index a7ba670..555225e 100644 --- a/modules/index.html +++ b/modules/index.html @@ -1,4 +1,4 @@ -index | ts-injex - v0.1.0

    Module index

    References

    ForceConstructor +index | ts-injex - v0.2.0

    Module index

    References

    Re-exports ForceConstructor
    Re-exports GenericConstructor
    Re-exports ITSinjex
    Re-exports ITSinjexRegister
    Re-exports ITSinjexResolve
    Re-exports ITSinjex_
    Re-exports InitDelegate
    Re-exports Inject
    Re-exports Register
    Re-exports RegisterInstance
    Re-exports TSinjex
    Re-exports register
    Re-exports resolve
    +

    References

    Re-exports ForceConstructor
    Re-exports GenericConstructor
    Re-exports ITSinjex
    Re-exports ITSinjexRegister
    Re-exports ITSinjexResolve
    Re-exports ITSinjex_
    Re-exports InitDelegate
    Re-exports Inject
    Re-exports Register
    Re-exports RegisterInstance
    Re-exports TSinjex
    Re-exports register
    Re-exports resolve
    diff --git a/modules/interfaces_Exceptions.html b/modules/interfaces_Exceptions.html index 1c03c28..bcc7a80 100644 --- a/modules/interfaces_Exceptions.html +++ b/modules/interfaces_Exceptions.html @@ -1,6 +1,6 @@ -interfaces/Exceptions | ts-injex - v0.1.0

    Module interfaces/Exceptions

    Index

    Classes

    DependencyResolutionError +interfaces/Exceptions | ts-injex - v0.2.0
    +
    diff --git a/modules/interfaces_IDependency.html b/modules/interfaces_IDependency.html index 4c1fae2..6aa1512 100644 --- a/modules/interfaces_IDependency.html +++ b/modules/interfaces_IDependency.html @@ -1,2 +1,2 @@ -interfaces/IDependency | ts-injex - v0.1.0

    Module interfaces/IDependency

    Index

    Interfaces

    +interfaces/IDependency | ts-injex - v0.2.0

    Module interfaces/IDependency

    Index

    Interfaces

    diff --git a/modules/interfaces_ITSinjex.html b/modules/interfaces_ITSinjex.html index 0e99ee9..884bf83 100644 --- a/modules/interfaces_ITSinjex.html +++ b/modules/interfaces_ITSinjex.html @@ -1,5 +1,5 @@ -interfaces/ITSinjex | ts-injex - v0.1.0

    Module interfaces/ITSinjex

    Index

    Interfaces

    ITSinjex +interfaces/ITSinjex | ts-injex - v0.2.0
    +
    diff --git a/modules/types_GenericContructor.html b/modules/types_GenericContructor.html index 7085951..e367445 100644 --- a/modules/types_GenericContructor.html +++ b/modules/types_GenericContructor.html @@ -1,3 +1,3 @@ -types/GenericContructor | ts-injex - v0.1.0

    Module types/GenericContructor

    Index

    Type Aliases

    ForceConstructor +types/GenericContructor | ts-injex - v0.2.0
    +
    diff --git a/modules/types_Identifier.html b/modules/types_Identifier.html index 91eb7ae..1a44331 100644 --- a/modules/types_Identifier.html +++ b/modules/types_Identifier.html @@ -1,2 +1,2 @@ -types/Identifier | ts-injex - v0.1.0

    Module types/Identifier

    Index

    Type Aliases

    +types/Identifier | ts-injex - v0.2.0

    Module types/Identifier

    Index

    Type Aliases

    diff --git a/modules/types_InitDelegate.html b/modules/types_InitDelegate.html index 71288f7..b368df8 100644 --- a/modules/types_InitDelegate.html +++ b/modules/types_InitDelegate.html @@ -1,2 +1,2 @@ -types/InitDelegate | ts-injex - v0.1.0

    Module types/InitDelegate

    Index

    Type Aliases

    +types/InitDelegate | ts-injex - v0.2.0

    Module types/InitDelegate

    Index

    Type Aliases

    diff --git a/types/types_GenericContructor.ForceConstructor.html b/types/types_GenericContructor.ForceConstructor.html index f55a0a9..0beb76f 100644 --- a/types/types_GenericContructor.ForceConstructor.html +++ b/types/types_GenericContructor.ForceConstructor.html @@ -1,3 +1,3 @@ -ForceConstructor | ts-injex - v0.1.0
    ForceConstructor<T>: (new (...args: unknown[]) => T)

    Force generic constructor type. +ForceConstructor | ts-injex - v0.2.0

    ForceConstructor<T>: (new (...args: unknown[]) => T)

    Force generic constructor type. This type is used to force a class to has a constructor.

    -

    Type Parameters

    • T
    +

    Type Parameters

    • T
    diff --git a/types/types_GenericContructor.GenericConstructor.html b/types/types_GenericContructor.GenericConstructor.html index c297103..709e18a 100644 --- a/types/types_GenericContructor.GenericConstructor.html +++ b/types/types_GenericContructor.GenericConstructor.html @@ -1,3 +1,3 @@ -GenericConstructor | ts-injex - v0.1.0
    GenericConstructor<T>: (new (...args: ConstructorParameters<T>) => T)

    Generic constructor type. +GenericConstructor | ts-injex - v0.2.0

    GenericConstructor<T>: (new (...args: ConstructorParameters<T>) => T)

    Generic constructor type. This type is used to define a constructor of a class.

    -

    Type Parameters

    • T extends (abstract new (...args: unknown[]) => InstanceType<T>)
    +

    Type Parameters

    • T extends (abstract new (...args: unknown[]) => InstanceType<T>)
    diff --git a/types/types_Identifier.Identifier.html b/types/types_Identifier.Identifier.html index bc4e2d7..ac1078d 100644 --- a/types/types_Identifier.Identifier.html +++ b/types/types_Identifier.Identifier.html @@ -1,4 +1,4 @@ -Identifier | ts-injex - v0.1.0
    Identifier: string | symbol

    The dependency identifier. +Identifier | ts-injex - v0.2.0

    Identifier: string | symbol

    The dependency identifier. You can use any string as identifier. To create order, it is also possible to provide these with a separator: GroupA.ClassZ. @@ -6,4 +6,4 @@ The convection for naming is as follows: The name should generally correspond to the interface that is relevant. I.e. a class ClassA that implements the interface IClassA and is registered as a dependent class is registered under the interface name IClassA.

    -
    +
    diff --git a/types/types_InitDelegate.InitDelegate.html b/types/types_InitDelegate.InitDelegate.html index 17a7e6e..5c76ac8 100644 --- a/types/types_InitDelegate.InitDelegate.html +++ b/types/types_InitDelegate.InitDelegate.html @@ -1,7 +1,7 @@ -InitDelegate | ts-injex - v0.1.0

    Type Alias InitDelegate<T, U>

    InitDelegate<T, U>: ((x: T) => U)

    A function type representing an initializer that transforms an input of type T +InitDelegate | ts-injex - v0.2.0

    Type Alias InitDelegate<T, U>

    InitDelegate<T, U>: ((x: T) => U)

    A function type representing an initializer that transforms an input of type T into an output of type U.

    Type Parameters

    • T

      The type of the input parameter.

    • U

      The type of the output parameter.

    Type declaration

      • (x): U
      • Parameters

        • x: T

          The input parameter of type T.

        Returns U

        The transformed output of type U.

        -
    +