@analog-tools/inject
Version:
Dependency injection for AnalogJS server-side applications
20 lines (19 loc) • 889 B
TypeScript
import { InjectionServiceClass, InjectOptions } from './inject.types';
/**
* Inject a service from the ServiceRegistry
* @param token - The injection token for the service
* @param options - Injection options
* @returns The requested service instance
*/
export declare function inject<T>(token: InjectionServiceClass<T>, options?: InjectOptions): T;
/**
* Register a service instance with the ServiceRegistry
* @param token - The injection token (service class)
* @param properties - The constructor parameters for the service class
*/
export declare function registerService<T, Args extends any[]>(token: InjectionServiceClass<T, Args>, ...properties: Args): void;
/**
* Register a service as undefined in the ServiceRegistry
* @param token - The injection token for the service
*/
export declare function registerServiceAsUndefined<T>(token: InjectionServiceClass<T>): void;