UNPKG

ts-ioc-container

Version:

Fast, lightweight TypeScript dependency injection container with a clean API, scoped lifecycles, decorators, tokens, hooks, lazy injection, customizable providers, and no global container objects.

47 lines (46 loc) 4.08 kB
export { type IContainer, type Resolvable, type IContainerModule, type DependencyKey, type Tag, type Tagged, type ResolveOneOptions, type ResolveManyOptions, isDependencyKey, } from './container/IContainer.js'; export { Container } from './container/Container.js'; export { EmptyContainer } from './container/EmptyContainer.js'; export { type IInjector, type InjectOptions, type IInjectFnResolver, Injector } from './injector/IInjector.js'; export { MetadataInjector, inject, args, argsFn, resolveArgs } from './injector/MetadataInjector.js'; export { SimpleInjector } from './injector/SimpleInjector.js'; export { ProxyInjector } from './injector/ProxyInjector.js'; export { type ResolveDependency, type IProvider, type DecorateFn, type ArgsFn, type ProviderOptions, type GetCacheKey, type ScopeAccessOptions, type ScopeAccessRule, } from './provider/IProvider.js'; export { Provider } from './provider/Provider.js'; export { type IRegistration, type ReturnTypeOfRegistration, type ScopeMatchRule, type ProviderPipe, register, bindTo, scope, scopeAccess, lazy, singleton, decorate, appendArgs, appendArgsFn, } from './registration/IRegistration.js'; export { Registration } from './registration/Registration.js'; export { DependencyNotFoundError } from './errors/DependencyNotFoundError.js'; export { ContainerNotFoundError } from './errors/ContainerNotFoundError.js'; export { DependencyMissingKeyError } from './errors/DependencyMissingKeyError.js'; export { MethodNotImplementedError } from './errors/MethodNotImplementedError.js'; export { ContainerDisposedError } from './errors/ContainerDisposedError.js'; export { ProviderDisposedError } from './errors/ProviderDisposedError.js'; export { UnexpectedHookResultError } from './errors/UnexpectedHookResultError.js'; export { CannonSingletonApplyTwiceError } from './errors/CannonSingletonApplyTwiceError.js'; export { getHooks, hook, hasHooks, type HookFn, type HookClass, type InjectFn, type HooksOfClass } from './hooks/hook.js'; export { HookContext, createHookContextFactory, createHookContext, type IHookContext } from './hooks/HookContext.js'; export { injectProp } from './hooks/injectProp.js'; export { onConstructHooksRunner, onConstruct, AddOnConstructHookModule, type OnExceptionHandler, } from './hooks/onConstruct.js'; export { onConstructAsyncHooksRunner, onConstructAsync, AddOnConstructAsyncHookModule } from './hooks/onConstructAsync.js'; export { onContainerDisposedHooksRunner, onContainerDisposed, AddOnDisposeHookModule, } from './hooks/onContainerDisposed.js'; export { HooksRunner, type HooksRunnerContext, type MapHookContext } from './hooks/HooksRunner.js'; export { InjectionToken } from './token/InjectionToken.js'; export { GroupAliasToken, toGroupAlias } from './token/GroupAliasToken.js'; export { SingleAliasToken, toSingleAlias } from './token/SingleAliasToken.js'; export { ClassToken } from './token/ClassToken.js'; export { SingleToken } from './token/SingleToken.js'; export { FunctionToken } from './token/FunctionToken.js'; export { ConstantToken } from './token/ConstantToken.js'; export { type InstancePredicate, GroupInstanceToken } from './token/GroupInstanceToken.js'; export { addClassMeta, getClassMeta, addClassLabel, getClassLabels, addClassTag, getClassTags } from './metadata/class.js'; export { addParamMeta, getParamMeta, addParamLabel, getParamLabels, addParamTag, getParamTags, } from './metadata/parameter.js'; export { addMethodMeta, getMethodMeta, addMethodLabel, getMethodLabels, addMethodTag, getMethodTags, } from './metadata/method.js'; export { handleError, handleAsyncError, type HandleErrorParams } from './utils/errorHandler.js'; export { throttle } from './utils/throttle.js'; export { debounce } from './utils/debounce.js'; export { shallowCache } from './utils/shallowCache.js'; export { once } from './utils/once.js'; export { type ExecutionContext } from './ExecutionContext.js'; export { select } from './select.js'; export { pipe, type MapFn } from './utils/fp.js'; export { type constructor, type Instance, Is, resolveConstructor } from './utils/basic.js';