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.

52 lines (51 loc) 3.08 kB
// Containers export { isDependencyKey, } from './container/IContainer'; export { Container } from './container/Container'; export { EmptyContainer } from './container/EmptyContainer'; // Injectors export { Injector } from './injector/IInjector'; export { MetadataInjector, inject, args, argsFn, resolveArgs } from './injector/MetadataInjector'; export { SimpleInjector } from './injector/SimpleInjector'; export { ProxyInjector } from './injector/ProxyInjector'; export { Provider } from './provider/Provider'; // Registrations export { register, bindTo, scope, scopeAccess, lazy, singleton, decorate, appendArgs, appendArgsFn, } from './registration/IRegistration'; export { Registration } from './registration/Registration'; // Errors export { DependencyNotFoundError } from './errors/DependencyNotFoundError'; export { ContainerNotFoundError } from './errors/ContainerNotFoundError'; export { DependencyMissingKeyError } from './errors/DependencyMissingKeyError'; export { MethodNotImplementedError } from './errors/MethodNotImplementedError'; export { ContainerDisposedError } from './errors/ContainerDisposedError'; export { ProviderDisposedError } from './errors/ProviderDisposedError'; export { UnexpectedHookResultError } from './errors/UnexpectedHookResultError'; export { CannonSingletonApplyTwiceError } from './errors/CannonSingletonApplyTwiceError'; // Hooks export { getHooks, hook, hasHooks } from './hooks/hook'; export { HookContext, createHookContextFactory, createHookContext } from './hooks/HookContext'; export { injectProp } from './hooks/injectProp'; export { onConstructHooksRunner, onConstruct, AddOnConstructHookModule, } from './hooks/onConstruct'; export { onDisposeHooksRunner, onDispose, AddOnDisposeHookModule } from './hooks/onDispose'; export { HooksRunner } from './hooks/HooksRunner'; // Tokens export { InjectionToken } from './token/InjectionToken'; export { GroupAliasToken, toGroupAlias } from './token/GroupAliasToken'; export { SingleAliasToken, toSingleAlias } from './token/SingleAliasToken'; export { ClassToken } from './token/ClassToken'; export { SingleToken } from './token/SingleToken'; export { FunctionToken } from './token/FunctionToken'; export { ConstantToken } from './token/ConstantToken'; export { GroupInstanceToken } from './token/GroupInstanceToken'; // Metadata export { addClassMeta, getClassMeta, addClassLabel, getClassLabels, addClassTag, getClassTags } from './metadata/class'; export { addParamMeta, getParamMeta, addParamLabel, getParamLabels, addParamTag, getParamTags, } from './metadata/parameter'; export { addMethodMeta, getMethodMeta, addMethodLabel, getMethodLabels, addMethodTag, getMethodTags, } from './metadata/method'; export { handleError, handleAsyncError } from './utils/errorHandler'; export { throttle } from './utils/throttle'; export { debounce } from './utils/debounce'; export { shallowCache } from './utils/shallowCache'; export { once } from './utils/once'; // Utils export { select } from './select'; export { pipe } from './utils/fp'; export { Is, resolveConstructor } from './utils/basic';