{"version":3,"file":"vendor.aurelia-dependency-injection.912d59e36f55e1c2.bundle.js","mappings":"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","sources":["webpack://client-app/./node_modules/aurelia-dependency-injection/dist/native-modules/aurelia-dependency-injection.js"],"sourcesContent":["import { metadata, protocol } from 'aurelia-metadata';\nimport { AggregateError } from 'aurelia-pal';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\n\nfunction isInjectable(potentialTarget) {\r\n return !!potentialTarget;\r\n}\r\nfunction autoinject(potentialTarget) {\r\n var deco = function (target) {\r\n if (!target.hasOwnProperty('inject')) {\r\n target.inject = (metadata.getOwn(metadata.paramTypes, target) ||\r\n _emptyParameters).slice();\r\n if (target.inject && target.inject.length > 0) {\r\n if (target.inject[target.inject.length - 1] === Object) {\r\n target.inject.splice(-1, 1);\r\n }\r\n }\r\n }\r\n };\r\n if (isInjectable(potentialTarget)) {\r\n return deco(potentialTarget);\r\n }\r\n return deco;\r\n}\r\nfunction inject() {\r\n var rest = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n rest[_i] = arguments[_i];\r\n }\r\n return function (target, _key, descriptor) {\r\n if (typeof descriptor === 'number') {\r\n autoinject(target);\r\n if (rest.length === 1) {\r\n target.inject[descriptor] = rest[0];\r\n }\r\n return;\r\n }\r\n if (descriptor) {\r\n var fn = descriptor.value;\r\n fn.inject = rest;\r\n }\r\n else {\r\n target.inject = rest;\r\n }\r\n };\r\n}\n\nvar resolver = protocol.create('aurelia:resolver', function (target) {\r\n if (!(typeof target.get === 'function')) {\r\n return 'Resolvers must implement: get(container: Container, key: any): any';\r\n }\r\n return true;\r\n});\r\nvar Strategy;\r\n(function (Strategy) {\r\n Strategy[Strategy[\"instance\"] = 0] = \"instance\";\r\n Strategy[Strategy[\"singleton\"] = 1] = \"singleton\";\r\n Strategy[Strategy[\"transient\"] = 2] = \"transient\";\r\n Strategy[Strategy[\"function\"] = 3] = \"function\";\r\n Strategy[Strategy[\"array\"] = 4] = \"array\";\r\n Strategy[Strategy[\"alias\"] = 5] = \"alias\";\r\n})(Strategy || (Strategy = {}));\r\nfunction isStrategy(actual, expected, state) {\r\n return actual === expected;\r\n}\r\nvar StrategyResolver = (function () {\r\n function StrategyResolver(strategy, state) {\r\n this.strategy = strategy;\r\n this.state = state;\r\n }\r\n StrategyResolver.prototype.get = function (container, key) {\r\n if (isStrategy(this.strategy, Strategy.instance, this.state)) {\r\n return this.state;\r\n }\r\n if (isStrategy(this.strategy, Strategy.singleton, this.state)) {\r\n var singleton = container.invoke(this.state);\r\n this.state = singleton;\r\n this.strategy = 0;\r\n return singleton;\r\n }\r\n if (isStrategy(this.strategy, Strategy.transient, this.state)) {\r\n return container.invoke(this.state);\r\n }\r\n if (isStrategy(this.strategy, Strategy.function, this.state)) {\r\n return this.state(container, key, this);\r\n }\r\n if (isStrategy(this.strategy, Strategy.array, this.state)) {\r\n return this.state[0].get(container, key);\r\n }\r\n if (isStrategy(this.strategy, Strategy.alias, this.state)) {\r\n return container.get(this.state);\r\n }\r\n throw new Error('Invalid strategy: ' + this.strategy);\r\n };\r\n StrategyResolver = __decorate([\r\n resolver(),\r\n __metadata(\"design:paramtypes\", [Number, Object])\r\n ], StrategyResolver);\r\n return StrategyResolver;\r\n}());\r\nvar Lazy = (function () {\r\n function Lazy(key) {\r\n this._key = key;\r\n }\r\n Lazy_1 = Lazy;\r\n Lazy.prototype.get = function (container) {\r\n var _this = this;\r\n return function () { return container.get(_this._key); };\r\n };\r\n Lazy.of = function (key) {\r\n return new Lazy_1(key);\r\n };\r\n var Lazy_1;\r\n Lazy = Lazy_1 = __decorate([\r\n resolver(),\r\n __metadata(\"design:paramtypes\", [Object])\r\n ], Lazy);\r\n return Lazy;\r\n}());\r\nvar All = (function () {\r\n function All(key) {\r\n this._key = key;\r\n }\r\n All_1 = All;\r\n All.prototype.get = function (container) {\r\n return container.getAll(this._key);\r\n };\r\n All.of = function (key) {\r\n return new All_1(key);\r\n };\r\n var All_1;\r\n All = All_1 = __decorate([\r\n resolver(),\r\n __metadata(\"design:paramtypes\", [Object])\r\n ], All);\r\n return All;\r\n}());\r\nvar Optional = (function () {\r\n function Optional(key, checkParent) {\r\n if (checkParent === void 0) { checkParent = true; }\r\n this._key = key;\r\n this._checkParent = checkParent;\r\n }\r\n Optional_1 = Optional;\r\n Optional.prototype.get = function (container) {\r\n if (container.hasResolver(this._key, this._checkParent)) {\r\n return container.get(this._key);\r\n }\r\n return null;\r\n };\r\n Optional.of = function (key, checkParent) {\r\n if (checkParent === void 0) { checkParent = true; }\r\n return new Optional_1(key, checkParent);\r\n };\r\n var Optional_1;\r\n Optional = Optional_1 = __decorate([\r\n resolver(),\r\n __metadata(\"design:paramtypes\", [Object, Boolean])\r\n ], Optional);\r\n return Optional;\r\n}());\r\nvar Parent = (function () {\r\n function Parent(key) {\r\n this._key = key;\r\n }\r\n Parent_1 = Parent;\r\n Parent.prototype.get = function (container) {\r\n return container.parent ? container.parent.get(this._key) : null;\r\n };\r\n Parent.of = function (key) {\r\n return new Parent_1(key);\r\n };\r\n var Parent_1;\r\n Parent = Parent_1 = __decorate([\r\n resolver(),\r\n __metadata(\"design:paramtypes\", [Object])\r\n ], Parent);\r\n return Parent;\r\n}());\r\nvar Factory = (function () {\r\n function Factory(key) {\r\n this._key = key;\r\n }\r\n Factory_1 = Factory;\r\n Factory.prototype.get = function (container) {\r\n var fn = this._key;\r\n var resolver = container.getResolver(fn);\r\n if (resolver && resolver.strategy === Strategy.function) {\r\n fn = resolver.state;\r\n }\r\n return function () {\r\n var rest = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n rest[_i] = arguments[_i];\r\n }\r\n return container.invoke(fn, rest);\r\n };\r\n };\r\n Factory.of = function (key) {\r\n return new Factory_1(key);\r\n };\r\n var Factory_1;\r\n Factory = Factory_1 = __decorate([\r\n resolver(),\r\n __metadata(\"design:paramtypes\", [Object])\r\n ], Factory);\r\n return Factory;\r\n}());\r\nvar NewInstance = (function () {\r\n function NewInstance(key) {\r\n var dynamicDependencies = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n dynamicDependencies[_i - 1] = arguments[_i];\r\n }\r\n this.key = key;\r\n this.asKey = key;\r\n this.dynamicDependencies = dynamicDependencies;\r\n }\r\n NewInstance_1 = NewInstance;\r\n NewInstance.prototype.get = function (container) {\r\n var dynamicDependencies = this.dynamicDependencies.length > 0\r\n ? this.dynamicDependencies.map(function (dependency) {\r\n return dependency['protocol:aurelia:resolver']\r\n ? dependency.get(container)\r\n : container.get(dependency);\r\n })\r\n : undefined;\r\n var fn = this.key;\r\n var resolver = container.getResolver(fn);\r\n if (resolver && resolver.strategy === 3) {\r\n fn = resolver.state;\r\n }\r\n var instance = container.invoke(fn, dynamicDependencies);\r\n container.registerInstance(this.asKey, instance);\r\n return instance;\r\n };\r\n NewInstance.prototype.as = function (key) {\r\n this.asKey = key;\r\n return this;\r\n };\r\n NewInstance.of = function (key) {\r\n var dynamicDependencies = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n dynamicDependencies[_i - 1] = arguments[_i];\r\n }\r\n return new (NewInstance_1.bind.apply(NewInstance_1, [void 0, key].concat(dynamicDependencies)))();\r\n };\r\n var NewInstance_1;\r\n NewInstance = NewInstance_1 = __decorate([\r\n resolver(),\r\n __metadata(\"design:paramtypes\", [Object, Object])\r\n ], NewInstance);\r\n return NewInstance;\r\n}());\r\nfunction getDecoratorDependencies(target) {\r\n autoinject(target);\r\n return target.inject;\r\n}\r\nfunction lazy(keyValue) {\r\n return function (target, _key, index) {\r\n var inject$$1 = getDecoratorDependencies(target);\r\n inject$$1[index] = Lazy.of(keyValue);\r\n };\r\n}\r\nfunction all(keyValue) {\r\n return function (target, _key, index) {\r\n var inject$$1 = getDecoratorDependencies(target);\r\n inject$$1[index] = All.of(keyValue);\r\n };\r\n}\r\nfunction optional(checkParentOrTarget) {\r\n if (checkParentOrTarget === void 0) { checkParentOrTarget = true; }\r\n var deco = function (checkParent) {\r\n return function (target, _key, index) {\r\n var inject$$1 = getDecoratorDependencies(target);\r\n inject$$1[index] = Optional.of(inject$$1[index], checkParent);\r\n };\r\n };\r\n if (typeof checkParentOrTarget === 'boolean') {\r\n return deco(checkParentOrTarget);\r\n }\r\n return deco(true);\r\n}\r\nfunction parent(target, _key, index) {\r\n var inject$$1 = getDecoratorDependencies(target);\r\n inject$$1[index] = Parent.of(inject$$1[index]);\r\n}\r\nfunction factory(keyValue) {\r\n return function (target, _key, index) {\r\n var inject$$1 = getDecoratorDependencies(target);\r\n inject$$1[index] = Factory.of(keyValue);\r\n };\r\n}\r\nfunction newInstance(asKeyOrTarget) {\r\n var dynamicDependencies = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n dynamicDependencies[_i - 1] = arguments[_i];\r\n }\r\n var deco = function (asKey) {\r\n return function (target, _key, index) {\r\n var inject$$1 = getDecoratorDependencies(target);\r\n inject$$1[index] = NewInstance.of.apply(NewInstance, [inject$$1[index]].concat(dynamicDependencies));\r\n if (!!asKey) {\r\n inject$$1[index].as(asKey);\r\n }\r\n };\r\n };\r\n if (arguments.length >= 1) {\r\n return deco(asKeyOrTarget);\r\n }\r\n return deco();\r\n}\n\nfunction validateKey(key) {\r\n if (key === null || key === undefined) {\r\n throw new Error('key/value cannot be null or undefined. Are you trying to inject/register something that doesn\\'t exist with DI?');\r\n }\r\n}\r\nvar _emptyParameters = Object.freeze([]);\r\nmetadata.registration = 'aurelia:registration';\r\nmetadata.invoker = 'aurelia:invoker';\r\nvar resolverDecorates = resolver.decorates;\r\nvar InvocationHandler = (function () {\r\n function InvocationHandler(fn, invoker, dependencies) {\r\n this.fn = fn;\r\n this.invoker = invoker;\r\n this.dependencies = dependencies;\r\n }\r\n InvocationHandler.prototype.invoke = function (container, dynamicDependencies) {\r\n return dynamicDependencies !== undefined\r\n ? this.invoker.invokeWithDynamicDependencies(container, this.fn, this.dependencies, dynamicDependencies)\r\n : this.invoker.invoke(container, this.fn, this.dependencies);\r\n };\r\n return InvocationHandler;\r\n}());\r\nfunction invokeWithDynamicDependencies(container, fn, staticDependencies, dynamicDependencies) {\r\n var i = staticDependencies.length;\r\n var args = new Array(i);\r\n var lookup;\r\n while (i--) {\r\n lookup = staticDependencies[i];\r\n if (lookup === null || lookup === undefined) {\r\n throw new Error('Constructor Parameter with index ' +\r\n i +\r\n ' cannot be null or undefined. Are you trying to inject/register something that doesn\\'t exist with DI?');\r\n }\r\n else {\r\n args[i] = container.get(lookup);\r\n }\r\n }\r\n if (dynamicDependencies !== undefined) {\r\n args = args.concat(dynamicDependencies);\r\n }\r\n return Reflect.construct(fn, args);\r\n}\r\nvar classInvoker = {\r\n invoke: function (container, Type, deps) {\r\n var instances = deps.map(function (dep) { return container.get(dep); });\r\n return Reflect.construct(Type, instances);\r\n },\r\n invokeWithDynamicDependencies: invokeWithDynamicDependencies\r\n};\r\nfunction getDependencies(f) {\r\n if (!f.hasOwnProperty('inject')) {\r\n return [];\r\n }\r\n if (typeof f.inject === 'function') {\r\n return f.inject();\r\n }\r\n return f.inject;\r\n}\r\nvar Container = (function () {\r\n function Container(configuration) {\r\n if (configuration === undefined) {\r\n configuration = {};\r\n }\r\n this._configuration = configuration;\r\n this._onHandlerCreated = configuration.onHandlerCreated;\r\n this._handlers =\r\n configuration.handlers || (configuration.handlers = new Map());\r\n this._resolvers = new Map();\r\n this.root = this;\r\n this.parent = null;\r\n }\r\n Container.prototype.makeGlobal = function () {\r\n Container.instance = this;\r\n return this;\r\n };\r\n Container.prototype.setHandlerCreatedCallback = function (onHandlerCreated) {\r\n this._onHandlerCreated = onHandlerCreated;\r\n this._configuration.onHandlerCreated = onHandlerCreated;\r\n };\r\n Container.prototype.registerInstance = function (key, instance) {\r\n return this.registerResolver(key, new StrategyResolver(0, instance === undefined ? key : instance));\r\n };\r\n Container.prototype.registerSingleton = function (key, fn) {\r\n return this.registerResolver(key, new StrategyResolver(1, fn === undefined ? key : fn));\r\n };\r\n Container.prototype.registerTransient = function (key, fn) {\r\n return this.registerResolver(key, new StrategyResolver(2, fn === undefined ? key : fn));\r\n };\r\n Container.prototype.registerHandler = function (key, handler) {\r\n return this.registerResolver(key, new StrategyResolver(3, handler));\r\n };\r\n Container.prototype.registerAlias = function (originalKey, aliasKey) {\r\n return this.registerResolver(aliasKey, new StrategyResolver(5, originalKey));\r\n };\r\n Container.prototype.registerResolver = function (key, resolver$$1) {\r\n validateKey(key);\r\n var allResolvers = this._resolvers;\r\n var result = allResolvers.get(key);\r\n if (result === undefined) {\r\n allResolvers.set(key, resolver$$1);\r\n }\r\n else if (result.strategy === 4) {\r\n result.state.push(resolver$$1);\r\n }\r\n else {\r\n allResolvers.set(key, new StrategyResolver(4, [result, resolver$$1]));\r\n }\r\n return resolver$$1;\r\n };\r\n Container.prototype.autoRegister = function (key, fn) {\r\n fn = fn === undefined ? key : fn;\r\n if (typeof fn === 'function') {\r\n var registration = metadata.get(metadata.registration, fn);\r\n if (registration === undefined) {\r\n return this.registerResolver(key, new StrategyResolver(1, fn));\r\n }\r\n return registration.registerResolver(this, key, fn);\r\n }\r\n return this.registerResolver(key, new StrategyResolver(0, fn));\r\n };\r\n Container.prototype.autoRegisterAll = function (fns) {\r\n var i = fns.length;\r\n while (i--) {\r\n this.autoRegister(fns[i]);\r\n }\r\n };\r\n Container.prototype.unregister = function (key) {\r\n this._resolvers.delete(key);\r\n };\r\n Container.prototype.hasResolver = function (key, checkParent) {\r\n if (checkParent === void 0) { checkParent = false; }\r\n validateKey(key);\r\n return (this._resolvers.has(key) ||\r\n (checkParent &&\r\n this.parent !== null &&\r\n this.parent.hasResolver(key, checkParent)));\r\n };\r\n Container.prototype.getResolver = function (key) {\r\n return this._resolvers.get(key);\r\n };\r\n Container.prototype.get = function (key) {\r\n validateKey(key);\r\n if (key === Container) {\r\n return this;\r\n }\r\n if (resolverDecorates(key)) {\r\n return key.get(this, key);\r\n }\r\n var resolver$$1 = this._resolvers.get(key);\r\n if (resolver$$1 === undefined) {\r\n if (this.parent === null) {\r\n return this.autoRegister(key).get(this, key);\r\n }\r\n var registration = metadata.get(metadata.registration, key);\r\n if (registration === undefined) {\r\n return this.parent._get(key);\r\n }\r\n return registration.registerResolver(this, key, key).get(this, key);\r\n }\r\n return resolver$$1.get(this, key);\r\n };\r\n Container.prototype._get = function (key) {\r\n var resolver$$1 = this._resolvers.get(key);\r\n if (resolver$$1 === undefined) {\r\n if (this.parent === null) {\r\n return this.autoRegister(key).get(this, key);\r\n }\r\n return this.parent._get(key);\r\n }\r\n return resolver$$1.get(this, key);\r\n };\r\n Container.prototype.getAll = function (key) {\r\n validateKey(key);\r\n var resolver$$1 = this._resolvers.get(key);\r\n if (resolver$$1 === undefined) {\r\n if (this.parent === null) {\r\n return _emptyParameters;\r\n }\r\n return this.parent.getAll(key);\r\n }\r\n if (resolver$$1.strategy === 4) {\r\n var state = resolver$$1.state;\r\n var i = state.length;\r\n var results = new Array(i);\r\n while (i--) {\r\n results[i] = state[i].get(this, key);\r\n }\r\n return results;\r\n }\r\n return [resolver$$1.get(this, key)];\r\n };\r\n Container.prototype.createChild = function () {\r\n var child = new Container(this._configuration);\r\n child.root = this.root;\r\n child.parent = this;\r\n return child;\r\n };\r\n Container.prototype.invoke = function (fn, dynamicDependencies) {\r\n try {\r\n var handler = this._handlers.get(fn);\r\n if (handler === undefined) {\r\n handler = this._createInvocationHandler(fn);\r\n this._handlers.set(fn, handler);\r\n }\r\n return handler.invoke(this, dynamicDependencies);\r\n }\r\n catch (e) {\r\n throw new AggregateError(\"Error invoking \" + fn.name + \". Check the inner error for details.\", e, true);\r\n }\r\n };\r\n Container.prototype._createInvocationHandler = function (fn) {\r\n var dependencies;\r\n if (fn.inject === undefined) {\r\n dependencies =\r\n metadata.getOwn(metadata.paramTypes, fn) || _emptyParameters;\r\n }\r\n else {\r\n dependencies = [];\r\n var ctor = fn;\r\n while (typeof ctor === 'function') {\r\n dependencies.push.apply(dependencies, getDependencies(ctor));\r\n ctor = Object.getPrototypeOf(ctor);\r\n }\r\n }\r\n var invoker = metadata.getOwn(metadata.invoker, fn) || classInvoker;\r\n var handler = new InvocationHandler(fn, invoker, dependencies);\r\n return this._onHandlerCreated !== undefined\r\n ? this._onHandlerCreated(handler)\r\n : handler;\r\n };\r\n return Container;\r\n}());\n\nfunction invoker(value) {\r\n return function (target) {\r\n metadata.define(metadata.invoker, value, target);\r\n };\r\n}\r\nfunction invokeAsFactory(potentialTarget) {\r\n var deco = function (target) {\r\n metadata.define(metadata.invoker, FactoryInvoker.instance, target);\r\n };\r\n return potentialTarget ? deco(potentialTarget) : deco;\r\n}\r\nvar FactoryInvoker = (function () {\r\n function FactoryInvoker() {\r\n }\r\n FactoryInvoker.prototype.invoke = function (container, fn, dependencies) {\r\n var i = dependencies.length;\r\n var args = new Array(i);\r\n while (i--) {\r\n args[i] = container.get(dependencies[i]);\r\n }\r\n return fn.apply(undefined, args);\r\n };\r\n FactoryInvoker.prototype.invokeWithDynamicDependencies = function (container, fn, staticDependencies, dynamicDependencies) {\r\n var i = staticDependencies.length;\r\n var args = new Array(i);\r\n while (i--) {\r\n args[i] = container.get(staticDependencies[i]);\r\n }\r\n if (dynamicDependencies !== undefined) {\r\n args = args.concat(dynamicDependencies);\r\n }\r\n return fn.apply(undefined, args);\r\n };\r\n return FactoryInvoker;\r\n}());\r\nFactoryInvoker.instance = new FactoryInvoker();\n\nfunction registration(value) {\r\n return function (target) {\r\n metadata.define(metadata.registration, value, target);\r\n };\r\n}\r\nfunction transient(key) {\r\n return registration(new TransientRegistration(key));\r\n}\r\nfunction singleton(keyOrRegisterInChild, registerInChild) {\r\n if (registerInChild === void 0) { registerInChild = false; }\r\n return registration(new SingletonRegistration(keyOrRegisterInChild, registerInChild));\r\n}\r\nvar TransientRegistration = (function () {\r\n function TransientRegistration(key) {\r\n this._key = key;\r\n }\r\n TransientRegistration.prototype.registerResolver = function (container, key, fn) {\r\n var existingResolver = container.getResolver(this._key || key);\r\n return existingResolver === undefined\r\n ? container.registerTransient((this._key || key), fn)\r\n : existingResolver;\r\n };\r\n return TransientRegistration;\r\n}());\r\nvar SingletonRegistration = (function () {\r\n function SingletonRegistration(keyOrRegisterInChild, registerInChild) {\r\n if (registerInChild === void 0) { registerInChild = false; }\r\n if (typeof keyOrRegisterInChild === 'boolean') {\r\n this._registerInChild = keyOrRegisterInChild;\r\n }\r\n else {\r\n this._key = keyOrRegisterInChild;\r\n this._registerInChild = registerInChild;\r\n }\r\n }\r\n SingletonRegistration.prototype.registerResolver = function (container, key, fn) {\r\n var targetContainer = this._registerInChild ? container : container.root;\r\n var existingResolver = targetContainer.getResolver(this._key || key);\r\n return existingResolver === undefined\r\n ? targetContainer.registerSingleton(this._key || key, fn)\r\n : existingResolver;\r\n };\r\n return SingletonRegistration;\r\n}());\n\nexport { _emptyParameters, InvocationHandler, Container, autoinject, inject, invoker, invokeAsFactory, FactoryInvoker, registration, transient, singleton, TransientRegistration, SingletonRegistration, resolver, Strategy, StrategyResolver, Lazy, All, Optional, Parent, Factory, NewInstance, getDecoratorDependencies, lazy, all, optional, parent, factory, newInstance };\n"],"names":["__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__metadata","metadataKey","metadataValue","metadata","autoinject","potentialTarget","deco","hasOwnProperty","inject","getOwn","paramTypes","_emptyParameters","slice","splice","isInjectable","rest","_i","_key","descriptor","value","Strategy","resolver","create","get","isStrategy","actual","expected","state","StrategyResolver","strategy","this","prototype","container","instance","singleton","invoke","transient","function","array","alias","Error","Number","Lazy","Lazy_1","_this","of","All","All_1","getAll","Optional","checkParent","_checkParent","Optional_1","hasResolver","Boolean","Parent","Parent_1","parent","Factory","Factory_1","fn","getResolver","NewInstance","dynamicDependencies","asKey","NewInstance_1","map","dependency","undefined","registerInstance","as","bind","apply","concat","getDecoratorDependencies","lazy","keyValue","index","all","optional","checkParentOrTarget","inject$$1","factory","newInstance","asKeyOrTarget","validateKey","freeze","registration","invoker","resolverDecorates","decorates","InvocationHandler","dependencies","invokeWithDynamicDependencies","classInvoker","Type","deps","instances","dep","construct","staticDependencies","lookup","args","Array","Container","configuration","_configuration","_onHandlerCreated","onHandlerCreated","_handlers","handlers","Map","_resolvers","root","makeGlobal","setHandlerCreatedCallback","registerResolver","registerSingleton","registerTransient","registerHandler","handler","registerAlias","originalKey","aliasKey","resolver$$1","allResolvers","result","set","push","autoRegister","autoRegisterAll","fns","unregister","delete","has","_get","results","createChild","child","_createInvocationHandler","e","name","f","ctor","getPrototypeOf","define","invokeAsFactory","FactoryInvoker","TransientRegistration","keyOrRegisterInChild","registerInChild","SingletonRegistration","existingResolver","_registerInChild","targetContainer"],"sourceRoot":""}