All files / src/functions resolve.ts

0% Statements 0/3
100% Branches 0/0
0% Functions 0/1
0% Lines 0/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                                                                   
import { DependencyResolutionError } from '../interfaces/Exceptions';
import { TSinjex } from '../TSinjex';
 
/**
 * Resolve a dependency.
 * @param identifier The identifier of the dependency.
 * @returns The resolved dependency.
 * @throws A {@link DependencyResolutionError} if the dependency is not found.
 */
export function resolve<T>(identifier: string): T;
 
/**
 * Resolve a dependency
 * @param identifier The identifier of the dependency.
 * @param necessary The dependency is **not** necessary.
 * @returns The resolved dependency or undefined if the dependency is not found.
 */
export function resolve<T>(identifier: string, necessary: false): T | undefined;
 
/**
 * Resolve a dependency.
 * @param identifier The identifier of the dependency.
 * @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: string,
    necessary?: boolean,
): T | undefined {
    return TSinjex.getInstance().resolve<T>(identifier, necessary);
}
 
Zur TypeDoc-Dokumentation