@sentzunhat/zacatl
Version:
A modular, high-performance TypeScript microservice framework for Node.js, featuring layered architecture, dependency injection, and robust validation for building scalable APIs and distributed systems.
14 lines • 1.13 kB
TypeScript
import '../third-party/reflect-metadata';
import { container as tsyringeContainer } from '../third-party/tsyringe.js';
import type { InjectionToken } from '../third-party/tsyringe.js';
import type { Constructor } from '../service/layers/types';
export declare const getContainer: () => typeof tsyringeContainer;
export declare const registerDependency: <T>(token: InjectionToken<T>, implementation: new (...args: unknown[]) => T) => void;
export declare const registerSingleton: <T>(token: InjectionToken<T>, implementation: new (...args: unknown[]) => T) => void;
export declare const registerValue: <T>(token: InjectionToken<T>, value: T) => void;
export declare const resolveDependency: <T>(token: InjectionToken<T>) => T;
export declare const clearContainer: () => void;
export declare const resolveDependencies: <T extends object>(dependencies: Array<Constructor<T>>) => T[];
export declare const registerDependencies: <T extends object>(dependencies: Array<Constructor<T>>) => void;
export declare const registerAndResolve: <T extends object>(dependencies: Array<Constructor<T>>) => T[];
//# sourceMappingURL=container.d.ts.map