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.
45 lines (44 loc) • 3.27 kB
JavaScript
export { isDependencyKey, } from './container/IContainer.js';
export { Container } from './container/Container.js';
export { EmptyContainer } from './container/EmptyContainer.js';
export { 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 { Provider } from './provider/Provider.js';
export { 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 } from './hooks/hook.js';
export { HookContext, createHookContextFactory, createHookContext } from './hooks/HookContext.js';
export { injectProp } from './hooks/injectProp.js';
export { onConstructHooksRunner, onConstruct, AddOnConstructHookModule, } from './hooks/onConstruct.js';
export { onConstructAsyncHooksRunner, onConstructAsync, AddOnConstructAsyncHookModule } from './hooks/onConstructAsync.js';
export { onContainerDisposedHooksRunner, onContainerDisposed, AddOnDisposeHookModule, } from './hooks/onContainerDisposed.js';
export { HooksRunner } 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 { 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 } 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 { select } from './select.js';
export { pipe } from './utils/fp.js';
export { Is, resolveConstructor } from './utils/basic.js';