All files / functions resolve.ts

100% Statements 3/3
100% Branches 0/0
100% Functions 1/1
100% Lines 3/3

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 411x                                                                   1x       1x    
import { TSinjex } from '../classes/TSinjex';
import { DependencyResolutionError } from '../interfaces/Exceptions';
import { Identifier } from '../types/Identifier';
 
/**
 * Resolve a dependency.
 * @param identifier The identifier used to register the class in the DI container.
 * @see {@link Identifier} for more information on identifiers.
 * @returns The resolved dependency.
 * @throws A {@link DependencyResolutionError} if the dependency is not found.
 */
export function resolve<T>(identifier: Identifier): T;
 
/**
 * Resolve a dependency
 * @param identifier The identifier used to register the class in the DI container.
 * @see {@link Identifier} for more information on identifiers.
 * @param necessary The dependency is **not** necessary.
 * @returns The resolved dependency or undefined if the dependency is not found.
 */
export function resolve<T>(
    identifier: Identifier,
    necessary: false,
): T | undefined;
 
/**
 * Resolve a dependency.
 * @param identifier The identifier used to register the class in the DI container.
 * @see {@link Identifier} for more information on identifiers.
 * @param necessary If true, throws an error if the dependency is not found.
 * @returns The resolved dependency or undefined if the dependency is not necessary
 * and not found, or throws an error if the dependency is necessary and not found.
 * @throws A {@link DependencyResolutionError} if the dependency is not found and necessary.
 */
export function resolve<T>(
    identifier: Identifier,
    necessary?: boolean,
): T | undefined {
    return TSinjex.getInstance().resolve<T>(identifier, necessary);
}
 
Zur TypeDoc-Dokumentation