Skip to Content
DocsClaDIAPI ReferenceInterfaces

Interfaces

This page groups the primary exported contracts used for container setup, providers, logging, and error handling.

Container Contracts

IDIContainer, IDIScope, IDIResolver

NameTypeDefault
containerIDiScope
scopeIDiScope
resolverIDiResolver

IDIContainerOptions

NameTypeDefault
asyncResolutionDrainTimeoutMsnumber
captiveDependencyPolicyEDiContainerCaptiveDependencyPolicy
duplicateProviderPolicyEDiContainerDuplicateProviderPolicy
loggerILogger
resolveInterceptorsreadonly IResolveInterceptor[]
scopeNamestring

IResolveInterceptor

NameTypeDefault
onError(context: { error: Error; isAsync: boolean; isOptional: boolean; isResolveAll: boolean; scopeId: string; tokenDescription: string; }) => void
onStart(context: { isAsync: boolean; isOptional: boolean; isResolveAll: boolean; scopeId: string; tokenDescription: string; }) => void
onSuccess(context: { isAsync: boolean; isOptional: boolean; isResolveAll: boolean; result?: unknown; scopeId: string; tokenDescription: string; }) => void

Provider Contracts

Provider and Token<T>

NameTypeDefault
providerTProvider
tokenTToken<unknown>

ILazyProvider

NameTypeDefault
useLazyTToken<Awaited<ReturnType<TLazyResolver>>>
afterResolve(instance: TLazyResolver) => void | Promise<void>
isMultiBindingboolean
lifecycleEDependencyLifecycle
onDispose(instance: TLazyResolver) => void | Promise<void>
onInit(instance: TLazyResolver) => void | Promise<void>
provideTToken<TLazyResolver>

Logging and Errors

ILogger and ILoggerMethodOptions

NameTypeDefault
loggerILogger
optionsILoggerMethodOptions

IError and IBaseErrorOptions

NameTypeDefault
errorIError
optionsIBaseErrorOptions

IConsoleLoggerOptions and ICoreFactoryOptions

NameTypeDefault
loggerIConsoleLoggerOptions
factoryICoreFactoryOptions

Graph and Decorator Contracts

IDependencyGraph, IDependencyGraphNode, IDependencyGraphEdge

NameTypeDefault
graphIDependencyGraph
nodeIDependencyGraphNode
edgeIDependencyGraphEdge

IInjectableMetadata and IModuleDecoratorOptions

NameTypeDefault
injectableIInjectableMetadata
moduleIModuleDecoratorOptions
Last updated on