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.

138 lines (137 loc) 15.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ClassToken = exports.toSingleAlias = exports.SingleAliasToken = exports.toGroupAlias = exports.GroupAliasToken = exports.InjectionToken = exports.HooksRunner = exports.AddOnDisposeHookModule = exports.onDispose = exports.onDisposeHooksRunner = exports.AddOnConstructHookModule = exports.onConstruct = exports.onConstructHooksRunner = exports.injectProp = exports.createHookContext = exports.createHookContextFactory = exports.HookContext = exports.hasHooks = exports.hook = exports.getHooks = exports.CannonSingletonApplyTwiceError = exports.UnexpectedHookResultError = exports.ProviderDisposedError = exports.ContainerDisposedError = exports.MethodNotImplementedError = exports.DependencyMissingKeyError = exports.ContainerNotFoundError = exports.DependencyNotFoundError = exports.Registration = exports.appendArgsFn = exports.appendArgs = exports.decorate = exports.singleton = exports.lazy = exports.scopeAccess = exports.scope = exports.bindTo = exports.register = exports.Provider = exports.ProxyInjector = exports.SimpleInjector = exports.resolveArgs = exports.argsFn = exports.args = exports.inject = exports.MetadataInjector = exports.Injector = exports.EmptyContainer = exports.Container = exports.isDependencyKey = void 0; exports.resolveConstructor = exports.Is = exports.pipe = exports.select = exports.once = exports.shallowCache = exports.debounce = exports.throttle = exports.handleAsyncError = exports.handleError = exports.getMethodTags = exports.addMethodTag = exports.getMethodLabels = exports.addMethodLabel = exports.getMethodMeta = exports.addMethodMeta = exports.getParamTags = exports.addParamTag = exports.getParamLabels = exports.addParamLabel = exports.getParamMeta = exports.addParamMeta = exports.getClassTags = exports.addClassTag = exports.getClassLabels = exports.addClassLabel = exports.getClassMeta = exports.addClassMeta = exports.GroupInstanceToken = exports.ConstantToken = exports.FunctionToken = exports.SingleToken = void 0; // Containers var IContainer_1 = require("./container/IContainer"); Object.defineProperty(exports, "isDependencyKey", { enumerable: true, get: function () { return IContainer_1.isDependencyKey; } }); var Container_1 = require("./container/Container"); Object.defineProperty(exports, "Container", { enumerable: true, get: function () { return Container_1.Container; } }); var EmptyContainer_1 = require("./container/EmptyContainer"); Object.defineProperty(exports, "EmptyContainer", { enumerable: true, get: function () { return EmptyContainer_1.EmptyContainer; } }); // Injectors var IInjector_1 = require("./injector/IInjector"); Object.defineProperty(exports, "Injector", { enumerable: true, get: function () { return IInjector_1.Injector; } }); var MetadataInjector_1 = require("./injector/MetadataInjector"); Object.defineProperty(exports, "MetadataInjector", { enumerable: true, get: function () { return MetadataInjector_1.MetadataInjector; } }); Object.defineProperty(exports, "inject", { enumerable: true, get: function () { return MetadataInjector_1.inject; } }); Object.defineProperty(exports, "args", { enumerable: true, get: function () { return MetadataInjector_1.args; } }); Object.defineProperty(exports, "argsFn", { enumerable: true, get: function () { return MetadataInjector_1.argsFn; } }); Object.defineProperty(exports, "resolveArgs", { enumerable: true, get: function () { return MetadataInjector_1.resolveArgs; } }); var SimpleInjector_1 = require("./injector/SimpleInjector"); Object.defineProperty(exports, "SimpleInjector", { enumerable: true, get: function () { return SimpleInjector_1.SimpleInjector; } }); var ProxyInjector_1 = require("./injector/ProxyInjector"); Object.defineProperty(exports, "ProxyInjector", { enumerable: true, get: function () { return ProxyInjector_1.ProxyInjector; } }); var Provider_1 = require("./provider/Provider"); Object.defineProperty(exports, "Provider", { enumerable: true, get: function () { return Provider_1.Provider; } }); // Registrations var IRegistration_1 = require("./registration/IRegistration"); Object.defineProperty(exports, "register", { enumerable: true, get: function () { return IRegistration_1.register; } }); Object.defineProperty(exports, "bindTo", { enumerable: true, get: function () { return IRegistration_1.bindTo; } }); Object.defineProperty(exports, "scope", { enumerable: true, get: function () { return IRegistration_1.scope; } }); Object.defineProperty(exports, "scopeAccess", { enumerable: true, get: function () { return IRegistration_1.scopeAccess; } }); Object.defineProperty(exports, "lazy", { enumerable: true, get: function () { return IRegistration_1.lazy; } }); Object.defineProperty(exports, "singleton", { enumerable: true, get: function () { return IRegistration_1.singleton; } }); Object.defineProperty(exports, "decorate", { enumerable: true, get: function () { return IRegistration_1.decorate; } }); Object.defineProperty(exports, "appendArgs", { enumerable: true, get: function () { return IRegistration_1.appendArgs; } }); Object.defineProperty(exports, "appendArgsFn", { enumerable: true, get: function () { return IRegistration_1.appendArgsFn; } }); var Registration_1 = require("./registration/Registration"); Object.defineProperty(exports, "Registration", { enumerable: true, get: function () { return Registration_1.Registration; } }); // Errors var DependencyNotFoundError_1 = require("./errors/DependencyNotFoundError"); Object.defineProperty(exports, "DependencyNotFoundError", { enumerable: true, get: function () { return DependencyNotFoundError_1.DependencyNotFoundError; } }); var ContainerNotFoundError_1 = require("./errors/ContainerNotFoundError"); Object.defineProperty(exports, "ContainerNotFoundError", { enumerable: true, get: function () { return ContainerNotFoundError_1.ContainerNotFoundError; } }); var DependencyMissingKeyError_1 = require("./errors/DependencyMissingKeyError"); Object.defineProperty(exports, "DependencyMissingKeyError", { enumerable: true, get: function () { return DependencyMissingKeyError_1.DependencyMissingKeyError; } }); var MethodNotImplementedError_1 = require("./errors/MethodNotImplementedError"); Object.defineProperty(exports, "MethodNotImplementedError", { enumerable: true, get: function () { return MethodNotImplementedError_1.MethodNotImplementedError; } }); var ContainerDisposedError_1 = require("./errors/ContainerDisposedError"); Object.defineProperty(exports, "ContainerDisposedError", { enumerable: true, get: function () { return ContainerDisposedError_1.ContainerDisposedError; } }); var ProviderDisposedError_1 = require("./errors/ProviderDisposedError"); Object.defineProperty(exports, "ProviderDisposedError", { enumerable: true, get: function () { return ProviderDisposedError_1.ProviderDisposedError; } }); var UnexpectedHookResultError_1 = require("./errors/UnexpectedHookResultError"); Object.defineProperty(exports, "UnexpectedHookResultError", { enumerable: true, get: function () { return UnexpectedHookResultError_1.UnexpectedHookResultError; } }); var CannonSingletonApplyTwiceError_1 = require("./errors/CannonSingletonApplyTwiceError"); Object.defineProperty(exports, "CannonSingletonApplyTwiceError", { enumerable: true, get: function () { return CannonSingletonApplyTwiceError_1.CannonSingletonApplyTwiceError; } }); // Hooks var hook_1 = require("./hooks/hook"); Object.defineProperty(exports, "getHooks", { enumerable: true, get: function () { return hook_1.getHooks; } }); Object.defineProperty(exports, "hook", { enumerable: true, get: function () { return hook_1.hook; } }); Object.defineProperty(exports, "hasHooks", { enumerable: true, get: function () { return hook_1.hasHooks; } }); var HookContext_1 = require("./hooks/HookContext"); Object.defineProperty(exports, "HookContext", { enumerable: true, get: function () { return HookContext_1.HookContext; } }); Object.defineProperty(exports, "createHookContextFactory", { enumerable: true, get: function () { return HookContext_1.createHookContextFactory; } }); Object.defineProperty(exports, "createHookContext", { enumerable: true, get: function () { return HookContext_1.createHookContext; } }); var injectProp_1 = require("./hooks/injectProp"); Object.defineProperty(exports, "injectProp", { enumerable: true, get: function () { return injectProp_1.injectProp; } }); var onConstruct_1 = require("./hooks/onConstruct"); Object.defineProperty(exports, "onConstructHooksRunner", { enumerable: true, get: function () { return onConstruct_1.onConstructHooksRunner; } }); Object.defineProperty(exports, "onConstruct", { enumerable: true, get: function () { return onConstruct_1.onConstruct; } }); Object.defineProperty(exports, "AddOnConstructHookModule", { enumerable: true, get: function () { return onConstruct_1.AddOnConstructHookModule; } }); var onDispose_1 = require("./hooks/onDispose"); Object.defineProperty(exports, "onDisposeHooksRunner", { enumerable: true, get: function () { return onDispose_1.onDisposeHooksRunner; } }); Object.defineProperty(exports, "onDispose", { enumerable: true, get: function () { return onDispose_1.onDispose; } }); Object.defineProperty(exports, "AddOnDisposeHookModule", { enumerable: true, get: function () { return onDispose_1.AddOnDisposeHookModule; } }); var HooksRunner_1 = require("./hooks/HooksRunner"); Object.defineProperty(exports, "HooksRunner", { enumerable: true, get: function () { return HooksRunner_1.HooksRunner; } }); // Tokens var InjectionToken_1 = require("./token/InjectionToken"); Object.defineProperty(exports, "InjectionToken", { enumerable: true, get: function () { return InjectionToken_1.InjectionToken; } }); var GroupAliasToken_1 = require("./token/GroupAliasToken"); Object.defineProperty(exports, "GroupAliasToken", { enumerable: true, get: function () { return GroupAliasToken_1.GroupAliasToken; } }); Object.defineProperty(exports, "toGroupAlias", { enumerable: true, get: function () { return GroupAliasToken_1.toGroupAlias; } }); var SingleAliasToken_1 = require("./token/SingleAliasToken"); Object.defineProperty(exports, "SingleAliasToken", { enumerable: true, get: function () { return SingleAliasToken_1.SingleAliasToken; } }); Object.defineProperty(exports, "toSingleAlias", { enumerable: true, get: function () { return SingleAliasToken_1.toSingleAlias; } }); var ClassToken_1 = require("./token/ClassToken"); Object.defineProperty(exports, "ClassToken", { enumerable: true, get: function () { return ClassToken_1.ClassToken; } }); var SingleToken_1 = require("./token/SingleToken"); Object.defineProperty(exports, "SingleToken", { enumerable: true, get: function () { return SingleToken_1.SingleToken; } }); var FunctionToken_1 = require("./token/FunctionToken"); Object.defineProperty(exports, "FunctionToken", { enumerable: true, get: function () { return FunctionToken_1.FunctionToken; } }); var ConstantToken_1 = require("./token/ConstantToken"); Object.defineProperty(exports, "ConstantToken", { enumerable: true, get: function () { return ConstantToken_1.ConstantToken; } }); var GroupInstanceToken_1 = require("./token/GroupInstanceToken"); Object.defineProperty(exports, "GroupInstanceToken", { enumerable: true, get: function () { return GroupInstanceToken_1.GroupInstanceToken; } }); // Metadata var class_1 = require("./metadata/class"); Object.defineProperty(exports, "addClassMeta", { enumerable: true, get: function () { return class_1.addClassMeta; } }); Object.defineProperty(exports, "getClassMeta", { enumerable: true, get: function () { return class_1.getClassMeta; } }); Object.defineProperty(exports, "addClassLabel", { enumerable: true, get: function () { return class_1.addClassLabel; } }); Object.defineProperty(exports, "getClassLabels", { enumerable: true, get: function () { return class_1.getClassLabels; } }); Object.defineProperty(exports, "addClassTag", { enumerable: true, get: function () { return class_1.addClassTag; } }); Object.defineProperty(exports, "getClassTags", { enumerable: true, get: function () { return class_1.getClassTags; } }); var parameter_1 = require("./metadata/parameter"); Object.defineProperty(exports, "addParamMeta", { enumerable: true, get: function () { return parameter_1.addParamMeta; } }); Object.defineProperty(exports, "getParamMeta", { enumerable: true, get: function () { return parameter_1.getParamMeta; } }); Object.defineProperty(exports, "addParamLabel", { enumerable: true, get: function () { return parameter_1.addParamLabel; } }); Object.defineProperty(exports, "getParamLabels", { enumerable: true, get: function () { return parameter_1.getParamLabels; } }); Object.defineProperty(exports, "addParamTag", { enumerable: true, get: function () { return parameter_1.addParamTag; } }); Object.defineProperty(exports, "getParamTags", { enumerable: true, get: function () { return parameter_1.getParamTags; } }); var method_1 = require("./metadata/method"); Object.defineProperty(exports, "addMethodMeta", { enumerable: true, get: function () { return method_1.addMethodMeta; } }); Object.defineProperty(exports, "getMethodMeta", { enumerable: true, get: function () { return method_1.getMethodMeta; } }); Object.defineProperty(exports, "addMethodLabel", { enumerable: true, get: function () { return method_1.addMethodLabel; } }); Object.defineProperty(exports, "getMethodLabels", { enumerable: true, get: function () { return method_1.getMethodLabels; } }); Object.defineProperty(exports, "addMethodTag", { enumerable: true, get: function () { return method_1.addMethodTag; } }); Object.defineProperty(exports, "getMethodTags", { enumerable: true, get: function () { return method_1.getMethodTags; } }); var errorHandler_1 = require("./utils/errorHandler"); Object.defineProperty(exports, "handleError", { enumerable: true, get: function () { return errorHandler_1.handleError; } }); Object.defineProperty(exports, "handleAsyncError", { enumerable: true, get: function () { return errorHandler_1.handleAsyncError; } }); var throttle_1 = require("./utils/throttle"); Object.defineProperty(exports, "throttle", { enumerable: true, get: function () { return throttle_1.throttle; } }); var debounce_1 = require("./utils/debounce"); Object.defineProperty(exports, "debounce", { enumerable: true, get: function () { return debounce_1.debounce; } }); var shallowCache_1 = require("./utils/shallowCache"); Object.defineProperty(exports, "shallowCache", { enumerable: true, get: function () { return shallowCache_1.shallowCache; } }); var once_1 = require("./utils/once"); Object.defineProperty(exports, "once", { enumerable: true, get: function () { return once_1.once; } }); // Utils var select_1 = require("./select"); Object.defineProperty(exports, "select", { enumerable: true, get: function () { return select_1.select; } }); var fp_1 = require("./utils/fp"); Object.defineProperty(exports, "pipe", { enumerable: true, get: function () { return fp_1.pipe; } }); var basic_1 = require("./utils/basic"); Object.defineProperty(exports, "Is", { enumerable: true, get: function () { return basic_1.Is; } }); Object.defineProperty(exports, "resolveConstructor", { enumerable: true, get: function () { return basic_1.resolveConstructor; } });