@elsikora/cladi
Version:
Zero-dependency TypeScript DI toolkit with typed tokens and scoped lifecycles.
23 lines • 1.11 kB
TypeScript
import type { Provider, Token } from '../../type/index';
import type { IContainerSnapshot } from './container-snapshot.interface';
import type { IDependencyGraph } from './dependency-graph.interface';
import type { IResolutionExplanation } from './resolution-explanation.interface';
import type { IDiResolver } from './resolver.interface';
import type { IDiScopeCreateOptions } from './scope-create-options.interface';
export interface IDiScope extends IDiResolver {
bootstrap(tokens?: ReadonlyArray<Token<unknown>>): Promise<void>;
createScope(name?: string, options?: IDiScopeCreateOptions): IDiScope;
dispose(): Promise<void>;
explain<T>(token: Token<T>): IResolutionExplanation;
exportGraph(): IDependencyGraph;
getRegisteredTokens(): Array<Token<unknown>>;
has(token: Token<unknown>): boolean;
id: string;
isLocked: boolean;
lock(): void;
register(providerOrProviders: Array<Provider> | Provider): void;
snapshot(): IContainerSnapshot;
unregister<T>(token: Token<T>): Promise<boolean>;
validate(): void;
}
//# sourceMappingURL=scope.interface.d.ts.map