diff --git a/bower.json b/bower.json index ca50a93..f9cdcc9 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "aurelia-dependency-injection", - "version": "1.1.0", + "version": "1.2.0", "description": "A lightweight, extensible dependency injection container for JavaScript.", "keywords": [ "aurelia", diff --git a/dist/amd/aurelia-dependency-injection.js b/dist/amd/aurelia-dependency-injection.js index 8e46d6b..9bc0328 100644 --- a/dist/amd/aurelia-dependency-injection.js +++ b/dist/amd/aurelia-dependency-injection.js @@ -13,7 +13,7 @@ define(['exports', 'aurelia-metadata', 'aurelia-pal'], function (exports, _aurel exports.factory = factory; exports.newInstance = newInstance; exports.invoker = invoker; - exports.factory = factory; + exports.invokeAsFactory = invokeAsFactory; exports.registration = registration; exports.transient = transient; exports.singleton = singleton; @@ -289,7 +289,7 @@ define(['exports', 'aurelia-metadata', 'aurelia-pal'], function (exports, _aurel }; } - function factory(potentialTarget) { + function invokeAsFactory(potentialTarget) { var deco = function deco(target) { _aureliaMetadata.metadata.define(_aureliaMetadata.metadata.invoker, FactoryInvoker.instance, target); }; @@ -703,10 +703,10 @@ define(['exports', 'aurelia-metadata', 'aurelia-pal'], function (exports, _aurel var prevIndex = previousInject.indexOf(autoInject[i]); if (prevIndex > -1) { previousInject.splice(prevIndex, 1); - previousInject.splice(prevIndex > -1 && prevIndex < i ? i - 1 : i, 0, autoInject[i]); - } else if (!previousInject[i]) { - previousInject[i] = autoInject[i]; } + previousInject.splice(prevIndex > -1 && prevIndex < i ? i - 1 : i, 0, autoInject[i]); + } else if (!previousInject[i]) { + previousInject[i] = autoInject[i]; } } } diff --git a/dist/aurelia-dependency-injection.d.ts b/dist/aurelia-dependency-injection.d.ts index a3e67d2..9ab20be 100644 --- a/dist/aurelia-dependency-injection.d.ts +++ b/dist/aurelia-dependency-injection.d.ts @@ -198,6 +198,10 @@ export declare function optional(checkParentOrTarget?: boolean): (target: any, k */ export declare function parent(target: any, key: any, index: any): void; /** +* Decorator: Specifies the dependency to create a factory method, that can accept optional arguments +*/ +export declare function factory(keyValue: any, asValue?: any): (target: any, key: any, index: any) => void; +/** * Decorator: Specifies the dependency as a new instance */ export declare function newInstance(asKeyOrTarget?: any, ...dynamicDependencies: any[]): (target: any, key: any, index: any) => void; @@ -206,6 +210,10 @@ export declare function newInstance(asKeyOrTarget?: any, ...dynamicDependencies: */ export declare function invoker(value: Invoker): any; /** +* Decorator: Specifies that the decorated item should be called as a factory function, rather than a constructor. +*/ +export declare function invokeAsFactory(potentialTarget?: any): any; +/** * A strategy for invoking a function, resulting in an object instance. */ export interface Invoker { diff --git a/dist/aurelia-dependency-injection.js b/dist/aurelia-dependency-injection.js index 317349f..09286d3 100644 --- a/dist/aurelia-dependency-injection.js +++ b/dist/aurelia-dependency-injection.js @@ -413,7 +413,7 @@ export function invoker(value: Invoker): any { /** * Decorator: Specifies that the decorated item should be called as a factory function, rather than a constructor. */ -export function factory(potentialTarget?: any): any { +export function invokeAsFactory(potentialTarget?: any): any { let deco = function(target) { metadata.define(metadata.invoker, FactoryInvoker.instance, target); }; @@ -1071,10 +1071,10 @@ export function autoinject(potentialTarget?: any): any { const prevIndex = previousInject.indexOf(autoInject[i]); if (prevIndex > -1) { previousInject.splice(prevIndex, 1); - previousInject.splice((prevIndex > -1 && prevIndex < i) ? i - 1 : i, 0, autoInject[i]); - } else if (!previousInject[i]) { //else add - previousInject[i] = autoInject[i]; } + previousInject.splice((prevIndex > -1 && prevIndex < i) ? i - 1 : i, 0, autoInject[i]); + } else if (!previousInject[i]) {//else add + previousInject[i] = autoInject[i]; } } } diff --git a/dist/commonjs/aurelia-dependency-injection.js b/dist/commonjs/aurelia-dependency-injection.js index c076865..7e1f94e 100644 --- a/dist/commonjs/aurelia-dependency-injection.js +++ b/dist/commonjs/aurelia-dependency-injection.js @@ -15,7 +15,7 @@ exports.parent = parent; exports.factory = factory; exports.newInstance = newInstance; exports.invoker = invoker; -exports.factory = factory; +exports.invokeAsFactory = invokeAsFactory; exports.registration = registration; exports.transient = transient; exports.singleton = singleton; @@ -293,7 +293,7 @@ function invoker(value) { }; } -function factory(potentialTarget) { +function invokeAsFactory(potentialTarget) { var deco = function deco(target) { _aureliaMetadata.metadata.define(_aureliaMetadata.metadata.invoker, FactoryInvoker.instance, target); }; @@ -707,10 +707,10 @@ function autoinject(potentialTarget) { var prevIndex = previousInject.indexOf(autoInject[i]); if (prevIndex > -1) { previousInject.splice(prevIndex, 1); - previousInject.splice(prevIndex > -1 && prevIndex < i ? i - 1 : i, 0, autoInject[i]); - } else if (!previousInject[i]) { - previousInject[i] = autoInject[i]; } + previousInject.splice(prevIndex > -1 && prevIndex < i ? i - 1 : i, 0, autoInject[i]); + } else if (!previousInject[i]) { + previousInject[i] = autoInject[i]; } } } diff --git a/dist/es2015/aurelia-dependency-injection.js b/dist/es2015/aurelia-dependency-injection.js index 9783e09..3555258 100644 --- a/dist/es2015/aurelia-dependency-injection.js +++ b/dist/es2015/aurelia-dependency-injection.js @@ -214,7 +214,7 @@ export function invoker(value) { }; } -export function factory(potentialTarget) { +export function invokeAsFactory(potentialTarget) { let deco = function (target) { metadata.define(metadata.invoker, FactoryInvoker.instance, target); }; @@ -600,10 +600,10 @@ export function autoinject(potentialTarget) { const prevIndex = previousInject.indexOf(autoInject[i]); if (prevIndex > -1) { previousInject.splice(prevIndex, 1); - previousInject.splice(prevIndex > -1 && prevIndex < i ? i - 1 : i, 0, autoInject[i]); - } else if (!previousInject[i]) { - previousInject[i] = autoInject[i]; } + previousInject.splice(prevIndex > -1 && prevIndex < i ? i - 1 : i, 0, autoInject[i]); + } else if (!previousInject[i]) { + previousInject[i] = autoInject[i]; } } } diff --git a/dist/native-modules/aurelia-dependency-injection.js b/dist/native-modules/aurelia-dependency-injection.js index bb11eed..a2ddddb 100644 --- a/dist/native-modules/aurelia-dependency-injection.js +++ b/dist/native-modules/aurelia-dependency-injection.js @@ -277,7 +277,7 @@ export function invoker(value) { }; } -export function factory(potentialTarget) { +export function invokeAsFactory(potentialTarget) { var deco = function deco(target) { metadata.define(metadata.invoker, FactoryInvoker.instance, target); }; @@ -691,10 +691,10 @@ export function autoinject(potentialTarget) { var prevIndex = previousInject.indexOf(autoInject[i]); if (prevIndex > -1) { previousInject.splice(prevIndex, 1); - previousInject.splice(prevIndex > -1 && prevIndex < i ? i - 1 : i, 0, autoInject[i]); - } else if (!previousInject[i]) { - previousInject[i] = autoInject[i]; } + previousInject.splice(prevIndex > -1 && prevIndex < i ? i - 1 : i, 0, autoInject[i]); + } else if (!previousInject[i]) { + previousInject[i] = autoInject[i]; } } } diff --git a/dist/system/aurelia-dependency-injection.js b/dist/system/aurelia-dependency-injection.js index ee67b46..8237fd8 100644 --- a/dist/system/aurelia-dependency-injection.js +++ b/dist/system/aurelia-dependency-injection.js @@ -104,7 +104,7 @@ System.register(['aurelia-metadata', 'aurelia-pal'], function (_export, _context _export('invoker', invoker); - function factory(potentialTarget) { + function invokeAsFactory(potentialTarget) { var deco = function deco(target) { metadata.define(metadata.invoker, FactoryInvoker.instance, target); }; @@ -112,7 +112,7 @@ System.register(['aurelia-metadata', 'aurelia-pal'], function (_export, _context return potentialTarget ? deco(potentialTarget) : deco; } - _export('factory', factory); + _export('invokeAsFactory', invokeAsFactory); function registration(value) { return function (target) { @@ -182,10 +182,10 @@ System.register(['aurelia-metadata', 'aurelia-pal'], function (_export, _context var prevIndex = previousInject.indexOf(autoInject[i]); if (prevIndex > -1) { previousInject.splice(prevIndex, 1); - previousInject.splice(prevIndex > -1 && prevIndex < i ? i - 1 : i, 0, autoInject[i]); - } else if (!previousInject[i]) { - previousInject[i] = autoInject[i]; } + previousInject.splice(prevIndex > -1 && prevIndex < i ? i - 1 : i, 0, autoInject[i]); + } else if (!previousInject[i]) { + previousInject[i] = autoInject[i]; } } } diff --git a/doc/CHANGELOG.md b/doc/CHANGELOG.md index 9697f26..39b55e8 100644 --- a/doc/CHANGELOG.md +++ b/doc/CHANGELOG.md @@ -1,3 +1,10 @@ +# 1.2.0 + +## Bug Fixes + +* **autoinject**: merge issue caused incorrect branching logic +* **invokers:** remove duplicate export name + # [1.1.0](https://github.com/aurelia/dependency-injection/compare/1.0.0...v1.1.0) (2016-10-05) diff --git a/doc/api.json b/doc/api.json index 1c50698..178b7c4 100644 --- a/doc/api.json +++ b/doc/api.json @@ -1 +1 @@ -{"name":"aurelia-dependency-injection","children":[{"id":17,"name":"All","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"Used to allow functions/classes to specify resolution of all matches to a key."},"children":[{"id":18,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"comment":{"shortText":"Creates an instance of the All class."},"signatures":[{"id":19,"name":"new All","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{"shortText":"Creates an instance of the All class."},"parameters":[{"id":20,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"The key to lazily resolve all matches for.\n"},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"All","id":17}}]},{"id":21,"name":"get","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":22,"name":"get","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Called by the container to resolve all matching dependencies as an array of instances.","returns":"Returns an array of all matching instances.\n"},"parameters":[{"id":23,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The container to resolve from."},"type":{"type":"reference","name":"Container","id":156}}],"type":{"type":"instrinct","isArray":true,"name":"any"}}]},{"id":24,"name":"of","kind":2048,"kindString":"Method","flags":{"isStatic":true,"isExported":true},"signatures":[{"id":25,"name":"of","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Creates an All Resolver for the supplied key.","returns":"Returns an instance of All for the key.\n"},"parameters":[{"id":26,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key to resolve all instances for."},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"All","id":17}}]}],"groups":[{"title":"Constructors","kind":512,"children":[18]},{"title":"Methods","kind":2048,"children":[21,24]}]},{"id":156,"name":"Container","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"A lightweight, extensible dependency injection container."},"children":[{"id":160,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"comment":{"shortText":"Creates an instance of Container."},"signatures":[{"id":161,"name":"new Container","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{"shortText":"Creates an instance of Container."},"parameters":[{"id":162,"name":"configuration","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"shortText":"Provides some configuration for the new Container instance.\n"},"type":{"type":"reference","name":"ContainerConfiguration","id":150}}],"type":{"type":"reference","name":"Container","id":156}}]},{"id":158,"name":"parent","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The parent container in the DI hierarchy."},"type":{"type":"reference","name":"Container","id":156}},{"id":159,"name":"root","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The root container in the DI hierarchy."},"type":{"type":"reference","name":"Container","id":156}},{"id":157,"name":"instance","kind":1024,"kindString":"Property","flags":{"isStatic":true,"isExported":true},"comment":{"shortText":"The global root Container instance. Available if makeGlobal() has been called. Aurelia Framework calls makeGlobal()."},"type":{"type":"reference","name":"Container","id":156}},{"id":229,"name":"_createInvocationHandler","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":230,"name":"_createInvocationHandler","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":231,"name":"fn","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"unknown","name":"Function & { inject?: any; }"}}],"type":{"type":"reference","name":"InvocationHandler","id":137}}]},{"id":217,"name":"_get","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":218,"name":"_get","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":219,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"any"}}]},{"id":200,"name":"autoRegister","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":201,"name":"autoRegister","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Registers a type (constructor function) by inspecting its registration annotations. If none are found, then the default singleton registration is used."},"parameters":[{"id":202,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key that identifies the dependency at resolution time; usually a constructor function."},"type":{"type":"instrinct","name":"any"}},{"id":203,"name":"fn","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The constructor function to use when the dependency needs to be instantiated. This defaults to the key value when fn is not supplied.\n"},"type":{"type":"reference","name":"Function"}}],"type":{"type":"reference","name":"Resolver","id":2}}]},{"id":204,"name":"autoRegisterAll","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":205,"name":"autoRegisterAll","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Registers an array of types (constructor functions) by inspecting their registration annotations. If none are found, then the default singleton registration is used."},"parameters":[{"id":206,"name":"fns","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The constructor function to use when the dependency needs to be instantiated.\n"},"type":{"type":"instrinct","isArray":true,"name":"any"}}],"type":{"type":"instrinct","name":"void"}}]},{"id":223,"name":"createChild","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":224,"name":"createChild","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Creates a new dependency injection container whose parent is the current container.","returns":"Returns a new container instance parented to this.\n"},"type":{"type":"reference","name":"Container","id":156}}]},{"id":214,"name":"get","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":215,"name":"get","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Resolves a single instance based on the provided key.","returns":"Returns the resolved instance.\n"},"parameters":[{"id":216,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key that identifies the object to resolve."},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"any"}}]},{"id":220,"name":"getAll","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":221,"name":"getAll","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Resolves all instance registered under the provided key.","returns":"Returns an array of the resolved instances.\n"},"parameters":[{"id":222,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key that identifies the objects to resolve."},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","isArray":true,"name":"any"}}]},{"id":210,"name":"hasResolver","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":211,"name":"hasResolver","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Inspects the container to determine if a particular key has been registred.","returns":"Returns true if the key has been registred; false otherwise.\n"},"parameters":[{"id":212,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key that identifies the dependency at resolution time; usually a constructor function."},"type":{"type":"instrinct","name":"any"}},{"id":213,"name":"checkParent","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"Indicates whether or not to check the parent container hierarchy."},"type":{"type":"instrinct","name":"boolean"}}],"type":{"type":"instrinct","name":"boolean"}}]},{"id":225,"name":"invoke","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":226,"name":"invoke","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Invokes a function, recursively resolving its dependencies.","returns":"Returns the instance resulting from calling the function.\n"},"parameters":[{"id":227,"name":"fn","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The function to invoke with the auto-resolved dependencies."},"type":{"type":"unknown","name":"Function & { name?: string; }"}},{"id":228,"name":"dynamicDependencies","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"Additional function dependencies to use during invocation."},"type":{"type":"instrinct","isArray":true,"name":"any"}}],"type":{"type":"instrinct","name":"any"}}]},{"id":163,"name":"makeGlobal","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":164,"name":"makeGlobal","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Makes this container instance globally reachable through Container.instance."},"type":{"type":"reference","name":"Container","id":156}}]},{"id":192,"name":"registerAlias","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":193,"name":"registerAlias","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Registers an additional key that serves as an alias to the original DI key.","returns":"The resolver that was registered.\n"},"parameters":[{"id":194,"name":"originalKey","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key that originally identified the dependency; usually a constructor function."},"type":{"type":"instrinct","name":"any"}},{"id":195,"name":"aliasKey","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"An alternate key which can also be used to resolve the same dependency as the original."},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"Resolver","id":2}}]},{"id":183,"name":"registerHandler","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":184,"name":"registerHandler","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Registers a custom resolution function such that the container calls this function for each request to obtain the instance.","returns":"The resolver that was registered.\n"},"parameters":[{"id":185,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key that identifies the dependency at resolution time; usually a constructor function."},"type":{"type":"instrinct","name":"any"}},{"id":186,"name":"handler","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The resolution function to use when the dependency is needed."},"type":{"type":"reflection","declaration":{"id":187,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"signatures":[{"id":188,"name":"__call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":189,"name":"container","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"reference","name":"Container","id":156}},{"id":190,"name":"key","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}},{"id":191,"name":"resolver","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"reference","name":"Resolver","id":2}}],"type":{"type":"instrinct","name":"any"}}]}}}],"type":{"type":"reference","name":"Resolver","id":2}}]},{"id":171,"name":"registerInstance","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":172,"name":"registerInstance","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Registers an existing object instance with the container.","returns":"The resolver that was registered.\n"},"parameters":[{"id":173,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key that identifies the dependency at resolution time; usually a constructor function."},"type":{"type":"instrinct","name":"any"}},{"id":174,"name":"instance","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The instance that will be resolved when the key is matched. This defaults to the key value when instance is not supplied."},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"Resolver","id":2}}]},{"id":196,"name":"registerResolver","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":197,"name":"registerResolver","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Registers a custom resolution function such that the container calls this function for each request to obtain the instance.","returns":"The resolver that was registered.\n"},"parameters":[{"id":198,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key that identifies the dependency at resolution time; usually a constructor function."},"type":{"type":"instrinct","name":"any"}},{"id":199,"name":"resolver","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The resolver to use when the dependency is needed."},"type":{"type":"reference","name":"Resolver","id":2}}],"type":{"type":"reference","name":"Resolver","id":2}}]},{"id":175,"name":"registerSingleton","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":176,"name":"registerSingleton","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Registers a type (constructor function) such that the container always returns the same instance for each request.","returns":"The resolver that was registered.\n"},"parameters":[{"id":177,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key that identifies the dependency at resolution time; usually a constructor function."},"type":{"type":"instrinct","name":"any"}},{"id":178,"name":"fn","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The constructor function to use when the dependency needs to be instantiated. This defaults to the key value when fn is not supplied."},"type":{"type":"reference","name":"Function"}}],"type":{"type":"reference","name":"Resolver","id":2}}]},{"id":179,"name":"registerTransient","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":180,"name":"registerTransient","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Registers a type (constructor function) such that the container returns a new instance for each request.","returns":"The resolver that was registered.\n"},"parameters":[{"id":181,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key that identifies the dependency at resolution time; usually a constructor function."},"type":{"type":"instrinct","name":"any"}},{"id":182,"name":"fn","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The constructor function to use when the dependency needs to be instantiated. This defaults to the key value when fn is not supplied."},"type":{"type":"reference","name":"Function"}}],"type":{"type":"reference","name":"Resolver","id":2}}]},{"id":165,"name":"setHandlerCreatedCallback","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":166,"name":"setHandlerCreatedCallback","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Sets an invocation handler creation callback that will be called when new InvocationsHandlers are created (called once per Function)."},"parameters":[{"id":167,"name":"onHandlerCreated","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The callback to be called when an InvocationsHandler is created.\n"},"type":{"type":"reflection","declaration":{"id":168,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"signatures":[{"id":169,"name":"__call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":170,"name":"handler","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"InvocationHandler","id":137}}],"type":{"type":"reference","name":"InvocationHandler","id":137}}]}}}],"type":{"type":"instrinct","name":"void"}}]},{"id":207,"name":"unregister","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":208,"name":"unregister","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Unregisters based on key."},"parameters":[{"id":209,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key that identifies the dependency at resolution time; usually a constructor function.\n"},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"void"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[160]},{"title":"Properties","kind":1024,"children":[158,159,157]},{"title":"Methods","kind":2048,"children":[229,217,200,204,223,214,220,210,225,163,192,183,171,196,175,179,165,207]}]},{"id":60,"name":"Factory","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"Used to allow injecting dependencies but also passing data to the constructor."},"children":[{"id":61,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"comment":{"shortText":"Creates an instance of the Factory class."},"signatures":[{"id":62,"name":"new Factory","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{"shortText":"Creates an instance of the Factory class."},"parameters":[{"id":63,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"The key to resolve from the parent container.\n"},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"Factory","id":60}}]},{"id":64,"name":"get","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":65,"name":"get","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Called by the container to pass the dependencies to the constructor.","returns":"Returns a function that can be invoked to resolve dependencies later, and the rest of the parameters.\n"},"parameters":[{"id":66,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The container to invoke the constructor with dependencies and other parameters."},"type":{"type":"reference","name":"Container","id":156}}],"type":{"type":"instrinct","name":"any"}}]},{"id":67,"name":"of","kind":2048,"kindString":"Method","flags":{"isStatic":true,"isExported":true},"signatures":[{"id":68,"name":"of","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Creates a Factory Resolver for the supplied key.","returns":"Returns an instance of Factory for the key.\n"},"parameters":[{"id":69,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key to resolve."},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"Factory","id":60}}]}],"groups":[{"title":"Constructors","kind":512,"children":[61]},{"title":"Methods","kind":2048,"children":[64,67]}]},{"id":99,"name":"FactoryInvoker","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"An Invoker that is used to invoke a factory method."},"children":[{"id":100,"name":"instance","kind":1024,"kindString":"Property","flags":{"isStatic":true,"isExported":true},"comment":{"shortText":"The singleton instance of the FactoryInvoker."},"type":{"type":"reference","name":"FactoryInvoker","id":99}},{"id":101,"name":"invoke","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":102,"name":"invoke","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Invokes the function with the provided dependencies.","returns":"The result of the function invocation.\n"},"parameters":[{"id":103,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The calling container."},"type":{"type":"reference","name":"Container","id":156}},{"id":104,"name":"fn","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The constructor or factory function."},"type":{"type":"reference","name":"Function"}},{"id":105,"name":"dependencies","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The dependencies of the function call."},"type":{"type":"instrinct","isArray":true,"name":"any"}}],"type":{"type":"instrinct","name":"any"}}]},{"id":106,"name":"invokeWithDynamicDependencies","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":107,"name":"invokeWithDynamicDependencies","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Invokes the function with the provided dependencies.","returns":"The result of the function invocation.\n"},"parameters":[{"id":108,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The calling container."},"type":{"type":"reference","name":"Container","id":156}},{"id":109,"name":"fn","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The constructor or factory function."},"type":{"type":"reference","name":"Function"}},{"id":110,"name":"staticDependencies","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The static dependencies of the function."},"type":{"type":"instrinct","isArray":true,"name":"any"}},{"id":111,"name":"dynamicDependencies","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"Additional dependencies to use during invocation."},"type":{"type":"instrinct","isArray":true,"name":"any"}}],"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Properties","kind":1024,"children":[100]},{"title":"Methods","kind":2048,"children":[101,106]}]},{"id":137,"name":"InvocationHandler","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"Stores the information needed to invoke a function."},"children":[{"id":141,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"comment":{"shortText":"Instantiates an InvocationDescription."},"signatures":[{"id":142,"name":"new InvocationHandler","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{"shortText":"Instantiates an InvocationDescription."},"parameters":[{"id":143,"name":"fn","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"The Function described by this description object."},"type":{"type":"reference","name":"Function"}},{"id":144,"name":"invoker","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"The strategy for invoking the function."},"type":{"type":"reference","name":"Invoker","id":87}},{"id":145,"name":"dependencies","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"The static dependencies of the function call.\n"},"type":{"type":"instrinct","isArray":true,"name":"any"}}],"type":{"type":"reference","name":"InvocationHandler","id":137}}]},{"id":140,"name":"dependencies","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The statically known dependencies of this function invocation."},"type":{"type":"instrinct","isArray":true,"name":"any"}},{"id":138,"name":"fn","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The function to be invoked by this handler."},"type":{"type":"reference","name":"Function"}},{"id":139,"name":"invoker","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The invoker implementation that will be used to actually invoke the function."},"type":{"type":"reference","name":"Invoker","id":87}},{"id":146,"name":"invoke","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":147,"name":"invoke","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Invokes the function.","returns":"The result of the function invocation.\n"},"parameters":[{"id":148,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The calling container."},"type":{"type":"reference","name":"Container","id":156}},{"id":149,"name":"dynamicDependencies","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"Additional dependencies to use during invocation."},"type":{"type":"instrinct","isArray":true,"name":"any"}}],"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[141]},{"title":"Properties","kind":1024,"children":[140,138,139]},{"title":"Methods","kind":2048,"children":[146]}]},{"id":7,"name":"Lazy","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"Used to allow functions/classes to specify lazy resolution logic."},"children":[{"id":8,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"comment":{"shortText":"Creates an instance of the Lazy class."},"signatures":[{"id":9,"name":"new Lazy","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{"shortText":"Creates an instance of the Lazy class."},"parameters":[{"id":10,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"The key to lazily resolve.\n"},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"Lazy","id":7}}]},{"id":11,"name":"get","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":12,"name":"get","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Called by the container to lazily resolve the dependency into a lazy locator function.","returns":"Returns a function which can be invoked at a later time to obtain the actual dependency.\n"},"parameters":[{"id":13,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The container to resolve from."},"type":{"type":"reference","name":"Container","id":156}}],"type":{"type":"instrinct","name":"any"}}]},{"id":14,"name":"of","kind":2048,"kindString":"Method","flags":{"isStatic":true,"isExported":true},"signatures":[{"id":15,"name":"of","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Creates a Lazy Resolver for the supplied key.","returns":"Returns an instance of Lazy for the key.\n"},"parameters":[{"id":16,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key to lazily resolve."},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"Lazy","id":7}}]}],"groups":[{"title":"Constructors","kind":512,"children":[8]},{"title":"Methods","kind":2048,"children":[11,14]}]},{"id":70,"name":"NewInstance","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"Used to inject a new instance of a dependency, without regard for existing\ninstances in the container. Instances can optionally be registered in the container\nunder a different key by supplying a key using the `as` method."},"children":[{"id":73,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"comment":{"shortText":"Creates an instance of the NewInstance class."},"signatures":[{"id":74,"name":"new NewInstance","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{"shortText":"Creates an instance of the NewInstance class."},"parameters":[{"id":75,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"The key to resolve/instantiate."},"type":{"type":"instrinct","name":"any"}},{"id":76,"name":"dynamicDependencies","kind":32768,"kindString":"Parameter","flags":{"isRest":true},"comment":{"shortText":"An optional list of dynamic dependencies.\n"},"type":{"type":"instrinct","isArray":true,"name":"any"}}],"type":{"type":"reference","name":"NewInstance","id":70}}]},{"id":72,"name":"asKey","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"instrinct","name":"any"}},{"id":71,"name":"key","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"instrinct","name":"any"}},{"id":80,"name":"as","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":81,"name":"as","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Instructs the NewInstance resolver to register the resolved instance using the supplied key.","returns":"Returns the NewInstance resolver.\n"},"parameters":[{"id":82,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key to register the instance with."},"type":{"type":"instrinct","name":"any"}}]}]},{"id":77,"name":"get","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":78,"name":"get","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Called by the container to instantiate the dependency and potentially register\nas another key if the `as` method was used.","returns":"Returns the matching instance from the parent container\n"},"parameters":[{"id":79,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The container to resolve the parent from."},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"any"}}]},{"id":83,"name":"of","kind":2048,"kindString":"Method","flags":{"isStatic":true,"isExported":true},"signatures":[{"id":84,"name":"of","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Creates an NewInstance Resolver for the supplied key.","returns":"Returns an instance of NewInstance for the key.\n"},"parameters":[{"id":85,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key to resolve/instantiate."},"type":{"type":"instrinct","name":"any"}},{"id":86,"name":"dynamicDependencies","kind":32768,"kindString":"Parameter","flags":{"isRest":true},"comment":{"text":"An optional list of dynamic dependencies."},"type":{"type":"instrinct","isArray":true,"name":"any"}}],"type":{"type":"reference","name":"NewInstance","id":70}}]}],"groups":[{"title":"Constructors","kind":512,"children":[73]},{"title":"Properties","kind":1024,"children":[72,71]},{"title":"Methods","kind":2048,"children":[80,77,83]}]},{"id":27,"name":"Optional","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"Used to allow functions/classes to specify an optional dependency, which will be resolved only if already registred with the container."},"children":[{"id":28,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"comment":{"shortText":"Creates an instance of the Optional class."},"signatures":[{"id":29,"name":"new Optional","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{"shortText":"Creates an instance of the Optional class."},"parameters":[{"id":30,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"The key to optionally resolve for."},"type":{"type":"instrinct","name":"any"}},{"id":31,"name":"checkParent","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"shortText":"Indicates whether or not the parent container hierarchy should be checked.\n"},"type":{"type":"instrinct","name":"boolean"}}],"type":{"type":"reference","name":"Optional","id":27}}]},{"id":32,"name":"get","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":33,"name":"get","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Called by the container to provide optional resolution of the key.","returns":"Returns the instance if found; otherwise null.\n"},"parameters":[{"id":34,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The container to resolve from."},"type":{"type":"reference","name":"Container","id":156}}],"type":{"type":"instrinct","name":"any"}}]},{"id":35,"name":"of","kind":2048,"kindString":"Method","flags":{"isStatic":true,"isExported":true},"signatures":[{"id":36,"name":"of","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Creates an Optional Resolver for the supplied key.","returns":"Returns an instance of Optional for the key.\n"},"parameters":[{"id":37,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key to optionally resolve for."},"type":{"type":"instrinct","name":"any"}},{"id":38,"name":"checkParent","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"boolean"}}],"type":{"type":"reference","name":"Optional","id":27}}]}],"groups":[{"title":"Constructors","kind":512,"children":[28]},{"title":"Methods","kind":2048,"children":[32,35]}]},{"id":39,"name":"Parent","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"Used to inject the dependency from the parent container instead of the current one."},"children":[{"id":40,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"comment":{"shortText":"Creates an instance of the Parent class."},"signatures":[{"id":41,"name":"new Parent","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{"shortText":"Creates an instance of the Parent class."},"parameters":[{"id":42,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"The key to resolve from the parent container.\n"},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"Parent","id":39}}]},{"id":43,"name":"get","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":44,"name":"get","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Called by the container to load the dependency from the parent container","returns":"Returns the matching instance from the parent container\n"},"parameters":[{"id":45,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The container to resolve the parent from."},"type":{"type":"reference","name":"Container","id":156}}],"type":{"type":"instrinct","name":"any"}}]},{"id":46,"name":"of","kind":2048,"kindString":"Method","flags":{"isStatic":true,"isExported":true},"signatures":[{"id":47,"name":"of","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Creates a Parent Resolver for the supplied key.","returns":"Returns an instance of Parent for the key.\n"},"parameters":[{"id":48,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key to resolve."},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"Parent","id":39}}]}],"groups":[{"title":"Constructors","kind":512,"children":[40]},{"title":"Methods","kind":2048,"children":[43,46]}]},{"id":127,"name":"SingletonRegistration","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"Used to allow functions/classes to indicate that they should be registered as singletons with the container."},"children":[{"id":128,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"comment":{"shortText":"Creates an instance of SingletonRegistration."},"signatures":[{"id":129,"name":"new SingletonRegistration","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{"shortText":"Creates an instance of SingletonRegistration."},"parameters":[{"id":130,"name":"keyOrRegisterInChild","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}},{"id":131,"name":"registerInChild","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"boolean"}}],"type":{"type":"reference","name":"SingletonRegistration","id":127}}]},{"id":132,"name":"registerResolver","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":133,"name":"registerResolver","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Called by the container to register the resolver.","returns":"The resolver that was registered.\n"},"parameters":[{"id":134,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The container the resolver is being registered with."},"type":{"type":"reference","name":"Container","id":156}},{"id":135,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key the resolver should be registered as."},"type":{"type":"instrinct","name":"any"}},{"id":136,"name":"fn","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The function to create the resolver for."},"type":{"type":"reference","name":"Function"}}],"type":{"type":"reference","name":"Resolver","id":2}}]}],"groups":[{"title":"Constructors","kind":512,"children":[128]},{"title":"Methods","kind":2048,"children":[132]}]},{"id":49,"name":"StrategyResolver","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":52,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"comment":{"shortText":"Creates an instance of the StrategyResolver class."},"signatures":[{"id":53,"name":"new StrategyResolver","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{"shortText":"Creates an instance of the StrategyResolver class."},"parameters":[{"id":54,"name":"strategy","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"The type of resolution strategy."},"type":{"type":"instrinct","name":"any"}},{"id":55,"name":"state","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"The state associated with the resolution strategy.\n"},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"StrategyResolver","id":49}}]},{"id":51,"name":"state","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"instrinct","name":"any"}},{"id":50,"name":"strategy","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"union","types":[{"type":"reference","name":"StrategyResolver","id":49},{"type":"instrinct","name":"number"}]}},{"id":56,"name":"get","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":57,"name":"get","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Called by the container to allow custom resolution of dependencies for a function/class.","returns":"Returns the resolved object.\n"},"parameters":[{"id":58,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The container to resolve from."},"type":{"type":"reference","name":"Container","id":156}},{"id":59,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key that the resolver was registered as."},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[52]},{"title":"Properties","kind":1024,"children":[51,50]},{"title":"Methods","kind":2048,"children":[56]}]},{"id":118,"name":"TransientRegistration","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"Used to allow functions/classes to indicate that they should be registered as transients with the container."},"children":[{"id":119,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"comment":{"shortText":"Creates an instance of TransientRegistration."},"signatures":[{"id":120,"name":"new TransientRegistration","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{"shortText":"Creates an instance of TransientRegistration."},"parameters":[{"id":121,"name":"key","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"shortText":"The key to register as.\n"},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"TransientRegistration","id":118}}]},{"id":122,"name":"registerResolver","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":123,"name":"registerResolver","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Called by the container to register the resolver.","returns":"The resolver that was registered.\n"},"parameters":[{"id":124,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The container the resolver is being registered with."},"type":{"type":"reference","name":"Container","id":156}},{"id":125,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key the resolver should be registered as."},"type":{"type":"instrinct","name":"any"}},{"id":126,"name":"fn","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The function to create the resolver for."},"type":{"type":"reference","name":"Function"}}],"type":{"type":"reference","name":"Resolver","id":2}}]}],"groups":[{"title":"Constructors","kind":512,"children":[119]},{"title":"Methods","kind":2048,"children":[122]}]},{"id":150,"name":"ContainerConfiguration","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"Used to configure a Container instance."},"children":[{"id":155,"name":"handlers","kind":1024,"kindString":"Property","flags":{"isExported":true,"isOptional":true},"type":{"type":"reference","name":"Map","typeArguments":[{"type":"instrinct","name":"any"},{"type":"instrinct","name":"any"}]}},{"id":151,"name":"onHandlerCreated","kind":1024,"kindString":"Property","flags":{"isExported":true,"isOptional":true},"comment":{"shortText":"An optional callback which will be called when any function needs an InvocationHandler created (called once per Function)."},"type":{"type":"reflection","declaration":{"id":152,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"signatures":[{"id":153,"name":"__call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":154,"name":"handler","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"InvocationHandler","id":137}}],"type":{"type":"reference","name":"InvocationHandler","id":137}}]}}}],"groups":[{"title":"Properties","kind":1024,"children":[155,151]}]},{"id":87,"name":"Invoker","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"A strategy for invoking a function, resulting in an object instance."},"children":[{"id":88,"name":"invoke","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":89,"name":"invoke","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Invokes the function with the provided dependencies.","returns":"The result of the function invocation.\n"},"parameters":[{"id":90,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Container","id":156}},{"id":91,"name":"fn","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The constructor or factory function."},"type":{"type":"reference","name":"Function"}},{"id":92,"name":"dependencies","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The dependencies of the function call."},"type":{"type":"instrinct","isArray":true,"name":"any"}}],"type":{"type":"instrinct","name":"any"}}]},{"id":93,"name":"invokeWithDynamicDependencies","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":94,"name":"invokeWithDynamicDependencies","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Invokes the function with the provided dependencies.","returns":"The result of the function invocation.\n"},"parameters":[{"id":95,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Container","id":156}},{"id":96,"name":"fn","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The constructor or factory function."},"type":{"type":"reference","name":"Function"}},{"id":97,"name":"staticDependencies","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The static dependencies of the function."},"type":{"type":"instrinct","isArray":true,"name":"any"}},{"id":98,"name":"dynamicDependencies","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"Additional dependencies to use during invocation."},"type":{"type":"instrinct","isArray":true,"name":"any"}}],"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Methods","kind":2048,"children":[88,93]}]},{"id":112,"name":"Registration","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"Customizes how a particular function is resolved by the Container."},"children":[{"id":113,"name":"registerResolver","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":114,"name":"registerResolver","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Called by the container to register the resolver.","returns":"The resolver that was registered.\n"},"parameters":[{"id":115,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The container the resolver is being registered with."},"type":{"type":"reference","name":"Container","id":156}},{"id":116,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key the resolver should be registered as."},"type":{"type":"instrinct","name":"any"}},{"id":117,"name":"fn","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The function to create the resolver for."},"type":{"type":"reference","name":"Function"}}],"type":{"type":"reference","name":"Resolver","id":2}}]}],"groups":[{"title":"Methods","kind":2048,"children":[113]}]},{"id":2,"name":"Resolver","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"Used to allow functions/classes to specify custom dependency resolution logic."},"children":[{"id":3,"name":"get","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":4,"name":"get","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Called by the container to allow custom resolution of dependencies for a function/class.","returns":"Returns the resolved object.\n"},"parameters":[{"id":5,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The container to resolve from."},"type":{"type":"reference","name":"Container","id":156}},{"id":6,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key that the resolver was registered as."},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Methods","kind":2048,"children":[3]}]},{"id":288,"name":"_emptyParameters","kind":32,"kindString":"Variable","flags":{"isExported":true},"type":{"type":"instrinct","isArray":true,"name":"any"}},{"id":232,"name":"resolver","kind":32,"kindString":"Variable","flags":{"isExported":true},"comment":{"shortText":"Decorator: Indicates that the decorated class/object is a custom resolver."},"type":{"type":"unknown","name":"Function & { decorates?: any; }"}},{"id":245,"name":"all","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":246,"name":"all","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Decorator: Specifies the dependency should load all instances of the given key."},"parameters":[{"id":247,"name":"keyValue","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reflection","declaration":{"id":248,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"signatures":[{"id":249,"name":"__call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":250,"name":"target","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":251,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":252,"name":"index","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"void"}}]}}}]},{"id":289,"name":"autoinject","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":290,"name":"autoinject","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Decorator: Directs the TypeScript transpiler to write-out type metadata for the decorated class."},"parameters":[{"id":291,"name":"potentialTarget","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"any"}}]},{"id":233,"name":"getDecoratorDependencies","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":234,"name":"getDecoratorDependencies","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":235,"name":"target","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":236,"name":"name","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"any"}}]},{"id":292,"name":"inject","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":293,"name":"inject","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Decorator: Specifies the dependencies that should be injected by the DI Container into the decoratored class/function."},"parameters":[{"id":294,"name":"rest","kind":32768,"kindString":"Parameter","flags":{"isRest":true},"type":{"type":"instrinct","isArray":true,"name":"any"}}],"type":{"type":"instrinct","name":"any"}}]},{"id":275,"name":"invoker","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":276,"name":"invoker","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Decorator: Specifies a custom Invoker for the decorated item."},"parameters":[{"id":277,"name":"value","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Invoker","id":87}}],"type":{"type":"instrinct","name":"any"}}]},{"id":237,"name":"lazy","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":238,"name":"lazy","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Decorator: Specifies the dependency should be lazy loaded"},"parameters":[{"id":239,"name":"keyValue","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reflection","declaration":{"id":240,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"signatures":[{"id":241,"name":"__call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":242,"name":"target","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":243,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":244,"name":"index","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"void"}}]}}}]},{"id":266,"name":"newInstance","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":267,"name":"newInstance","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Decorator: Specifies the dependency as a new instance"},"parameters":[{"id":268,"name":"asKeyOrTarget","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}},{"id":269,"name":"dynamicDependencies","kind":32768,"kindString":"Parameter","flags":{"isRest":true},"type":{"type":"instrinct","isArray":true,"name":"any"}}],"type":{"type":"reflection","declaration":{"id":270,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"signatures":[{"id":271,"name":"__call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":272,"name":"target","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":273,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":274,"name":"index","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"void"}}]}}}]},{"id":253,"name":"optional","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":254,"name":"optional","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Decorator: Specifies the dependency as optional"},"parameters":[{"id":255,"name":"checkParentOrTarget","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"boolean"}}],"type":{"type":"reflection","declaration":{"id":256,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"signatures":[{"id":257,"name":"__call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":258,"name":"target","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":259,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":260,"name":"index","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"void"}}]}}}]},{"id":261,"name":"parent","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":262,"name":"parent","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Decorator: Specifies the dependency to look at the parent container for resolution"},"parameters":[{"id":263,"name":"target","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":264,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":265,"name":"index","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"void"}}]},{"id":278,"name":"registration","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":279,"name":"registration","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Decorator: Specifies a custom registration strategy for the decorated class/function."},"parameters":[{"id":280,"name":"value","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Registration","id":112}}],"type":{"type":"instrinct","name":"any"}}]},{"id":284,"name":"singleton","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":285,"name":"singleton","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Decorator: Specifies to register the decorated item with a \"singleton\" lieftime."},"parameters":[{"id":286,"name":"keyOrRegisterInChild","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}},{"id":287,"name":"registerInChild","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"boolean"}}],"type":{"type":"instrinct","name":"any"}}]},{"id":281,"name":"transient","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":282,"name":"transient","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Decorator: Specifies to register the decorated item with a \"transient\" lifetime."},"parameters":[{"id":283,"name":"key","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Classes","kind":128,"children":[17,156,60,99,137,7,70,27,39,127,49,118]},{"title":"Interfaces","kind":256,"children":[150,87,112,2]},{"title":"Variables","kind":32,"children":[288,232]},{"title":"Functions","kind":64,"children":[245,289,233,292,275,237,266,253,261,278,284,281]}]} \ No newline at end of file +{"name":"aurelia-dependency-injection","children":[{"id":17,"name":"All","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"Used to allow functions/classes to specify resolution of all matches to a key."},"children":[{"id":18,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"comment":{"shortText":"Creates an instance of the All class."},"signatures":[{"id":19,"name":"new All","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{"shortText":"Creates an instance of the All class."},"parameters":[{"id":20,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"The key to lazily resolve all matches for.\n"},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"All","id":17}}]},{"id":21,"name":"get","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":22,"name":"get","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Called by the container to resolve all matching dependencies as an array of instances.","returns":"Returns an array of all matching instances.\n"},"parameters":[{"id":23,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The container to resolve from."},"type":{"type":"reference","name":"Container","id":156}}],"type":{"type":"instrinct","isArray":true,"name":"any"}}]},{"id":24,"name":"of","kind":2048,"kindString":"Method","flags":{"isStatic":true,"isExported":true},"signatures":[{"id":25,"name":"of","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Creates an All Resolver for the supplied key.","returns":"Returns an instance of All for the key.\n"},"parameters":[{"id":26,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key to resolve all instances for."},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"All","id":17}}]}],"groups":[{"title":"Constructors","kind":512,"children":[18]},{"title":"Methods","kind":2048,"children":[21,24]}]},{"id":156,"name":"Container","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"A lightweight, extensible dependency injection container."},"children":[{"id":160,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"comment":{"shortText":"Creates an instance of Container."},"signatures":[{"id":161,"name":"new Container","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{"shortText":"Creates an instance of Container."},"parameters":[{"id":162,"name":"configuration","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"shortText":"Provides some configuration for the new Container instance.\n"},"type":{"type":"reference","name":"ContainerConfiguration","id":150}}],"type":{"type":"reference","name":"Container","id":156}}]},{"id":158,"name":"parent","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The parent container in the DI hierarchy."},"type":{"type":"reference","name":"Container","id":156}},{"id":159,"name":"root","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The root container in the DI hierarchy."},"type":{"type":"reference","name":"Container","id":156}},{"id":157,"name":"instance","kind":1024,"kindString":"Property","flags":{"isStatic":true,"isExported":true},"comment":{"shortText":"The global root Container instance. Available if makeGlobal() has been called. Aurelia Framework calls makeGlobal()."},"type":{"type":"reference","name":"Container","id":156}},{"id":229,"name":"_createInvocationHandler","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":230,"name":"_createInvocationHandler","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":231,"name":"fn","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"unknown","name":"Function & { inject?: any; }"}}],"type":{"type":"reference","name":"InvocationHandler","id":137}}]},{"id":217,"name":"_get","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":218,"name":"_get","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":219,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"any"}}]},{"id":200,"name":"autoRegister","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":201,"name":"autoRegister","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Registers a type (constructor function) by inspecting its registration annotations. If none are found, then the default singleton registration is used."},"parameters":[{"id":202,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key that identifies the dependency at resolution time; usually a constructor function."},"type":{"type":"instrinct","name":"any"}},{"id":203,"name":"fn","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The constructor function to use when the dependency needs to be instantiated. This defaults to the key value when fn is not supplied.\n"},"type":{"type":"reference","name":"Function"}}],"type":{"type":"reference","name":"Resolver","id":2}}]},{"id":204,"name":"autoRegisterAll","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":205,"name":"autoRegisterAll","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Registers an array of types (constructor functions) by inspecting their registration annotations. If none are found, then the default singleton registration is used."},"parameters":[{"id":206,"name":"fns","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The constructor function to use when the dependency needs to be instantiated.\n"},"type":{"type":"instrinct","isArray":true,"name":"any"}}],"type":{"type":"instrinct","name":"void"}}]},{"id":223,"name":"createChild","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":224,"name":"createChild","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Creates a new dependency injection container whose parent is the current container.","returns":"Returns a new container instance parented to this.\n"},"type":{"type":"reference","name":"Container","id":156}}]},{"id":214,"name":"get","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":215,"name":"get","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Resolves a single instance based on the provided key.","returns":"Returns the resolved instance.\n"},"parameters":[{"id":216,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key that identifies the object to resolve."},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"any"}}]},{"id":220,"name":"getAll","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":221,"name":"getAll","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Resolves all instance registered under the provided key.","returns":"Returns an array of the resolved instances.\n"},"parameters":[{"id":222,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key that identifies the objects to resolve."},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","isArray":true,"name":"any"}}]},{"id":210,"name":"hasResolver","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":211,"name":"hasResolver","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Inspects the container to determine if a particular key has been registred.","returns":"Returns true if the key has been registred; false otherwise.\n"},"parameters":[{"id":212,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key that identifies the dependency at resolution time; usually a constructor function."},"type":{"type":"instrinct","name":"any"}},{"id":213,"name":"checkParent","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"Indicates whether or not to check the parent container hierarchy."},"type":{"type":"instrinct","name":"boolean"}}],"type":{"type":"instrinct","name":"boolean"}}]},{"id":225,"name":"invoke","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":226,"name":"invoke","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Invokes a function, recursively resolving its dependencies.","returns":"Returns the instance resulting from calling the function.\n"},"parameters":[{"id":227,"name":"fn","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The function to invoke with the auto-resolved dependencies."},"type":{"type":"unknown","name":"Function & { name?: string; }"}},{"id":228,"name":"dynamicDependencies","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"Additional function dependencies to use during invocation."},"type":{"type":"instrinct","isArray":true,"name":"any"}}],"type":{"type":"instrinct","name":"any"}}]},{"id":163,"name":"makeGlobal","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":164,"name":"makeGlobal","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Makes this container instance globally reachable through Container.instance."},"type":{"type":"reference","name":"Container","id":156}}]},{"id":192,"name":"registerAlias","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":193,"name":"registerAlias","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Registers an additional key that serves as an alias to the original DI key.","returns":"The resolver that was registered.\n"},"parameters":[{"id":194,"name":"originalKey","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key that originally identified the dependency; usually a constructor function."},"type":{"type":"instrinct","name":"any"}},{"id":195,"name":"aliasKey","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"An alternate key which can also be used to resolve the same dependency as the original."},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"Resolver","id":2}}]},{"id":183,"name":"registerHandler","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":184,"name":"registerHandler","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Registers a custom resolution function such that the container calls this function for each request to obtain the instance.","returns":"The resolver that was registered.\n"},"parameters":[{"id":185,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key that identifies the dependency at resolution time; usually a constructor function."},"type":{"type":"instrinct","name":"any"}},{"id":186,"name":"handler","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The resolution function to use when the dependency is needed."},"type":{"type":"reflection","declaration":{"id":187,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"signatures":[{"id":188,"name":"__call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":189,"name":"container","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"reference","name":"Container","id":156}},{"id":190,"name":"key","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}},{"id":191,"name":"resolver","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"reference","name":"Resolver","id":2}}],"type":{"type":"instrinct","name":"any"}}]}}}],"type":{"type":"reference","name":"Resolver","id":2}}]},{"id":171,"name":"registerInstance","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":172,"name":"registerInstance","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Registers an existing object instance with the container.","returns":"The resolver that was registered.\n"},"parameters":[{"id":173,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key that identifies the dependency at resolution time; usually a constructor function."},"type":{"type":"instrinct","name":"any"}},{"id":174,"name":"instance","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The instance that will be resolved when the key is matched. This defaults to the key value when instance is not supplied."},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"Resolver","id":2}}]},{"id":196,"name":"registerResolver","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":197,"name":"registerResolver","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Registers a custom resolution function such that the container calls this function for each request to obtain the instance.","returns":"The resolver that was registered.\n"},"parameters":[{"id":198,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key that identifies the dependency at resolution time; usually a constructor function."},"type":{"type":"instrinct","name":"any"}},{"id":199,"name":"resolver","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The resolver to use when the dependency is needed."},"type":{"type":"reference","name":"Resolver","id":2}}],"type":{"type":"reference","name":"Resolver","id":2}}]},{"id":175,"name":"registerSingleton","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":176,"name":"registerSingleton","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Registers a type (constructor function) such that the container always returns the same instance for each request.","returns":"The resolver that was registered.\n"},"parameters":[{"id":177,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key that identifies the dependency at resolution time; usually a constructor function."},"type":{"type":"instrinct","name":"any"}},{"id":178,"name":"fn","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The constructor function to use when the dependency needs to be instantiated. This defaults to the key value when fn is not supplied."},"type":{"type":"reference","name":"Function"}}],"type":{"type":"reference","name":"Resolver","id":2}}]},{"id":179,"name":"registerTransient","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":180,"name":"registerTransient","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Registers a type (constructor function) such that the container returns a new instance for each request.","returns":"The resolver that was registered.\n"},"parameters":[{"id":181,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key that identifies the dependency at resolution time; usually a constructor function."},"type":{"type":"instrinct","name":"any"}},{"id":182,"name":"fn","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"The constructor function to use when the dependency needs to be instantiated. This defaults to the key value when fn is not supplied."},"type":{"type":"reference","name":"Function"}}],"type":{"type":"reference","name":"Resolver","id":2}}]},{"id":165,"name":"setHandlerCreatedCallback","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":166,"name":"setHandlerCreatedCallback","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Sets an invocation handler creation callback that will be called when new InvocationsHandlers are created (called once per Function)."},"parameters":[{"id":167,"name":"onHandlerCreated","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The callback to be called when an InvocationsHandler is created.\n"},"type":{"type":"reflection","declaration":{"id":168,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"signatures":[{"id":169,"name":"__call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":170,"name":"handler","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"InvocationHandler","id":137}}],"type":{"type":"reference","name":"InvocationHandler","id":137}}]}}}],"type":{"type":"instrinct","name":"void"}}]},{"id":207,"name":"unregister","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":208,"name":"unregister","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Unregisters based on key."},"parameters":[{"id":209,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key that identifies the dependency at resolution time; usually a constructor function.\n"},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"void"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[160]},{"title":"Properties","kind":1024,"children":[158,159,157]},{"title":"Methods","kind":2048,"children":[229,217,200,204,223,214,220,210,225,163,192,183,171,196,175,179,165,207]}]},{"id":60,"name":"Factory","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"Used to allow injecting dependencies but also passing data to the constructor."},"children":[{"id":61,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"comment":{"shortText":"Creates an instance of the Factory class."},"signatures":[{"id":62,"name":"new Factory","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{"shortText":"Creates an instance of the Factory class."},"parameters":[{"id":63,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"The key to resolve from the parent container.\n"},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"Factory","id":60}}]},{"id":64,"name":"get","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":65,"name":"get","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Called by the container to pass the dependencies to the constructor.","returns":"Returns a function that can be invoked to resolve dependencies later, and the rest of the parameters.\n"},"parameters":[{"id":66,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The container to invoke the constructor with dependencies and other parameters."},"type":{"type":"reference","name":"Container","id":156}}],"type":{"type":"instrinct","name":"any"}}]},{"id":67,"name":"of","kind":2048,"kindString":"Method","flags":{"isStatic":true,"isExported":true},"signatures":[{"id":68,"name":"of","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Creates a Factory Resolver for the supplied key.","returns":"Returns an instance of Factory for the key.\n"},"parameters":[{"id":69,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key to resolve."},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"Factory","id":60}}]}],"groups":[{"title":"Constructors","kind":512,"children":[61]},{"title":"Methods","kind":2048,"children":[64,67]}]},{"id":99,"name":"FactoryInvoker","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"An Invoker that is used to invoke a factory method."},"children":[{"id":100,"name":"instance","kind":1024,"kindString":"Property","flags":{"isStatic":true,"isExported":true},"comment":{"shortText":"The singleton instance of the FactoryInvoker."},"type":{"type":"reference","name":"FactoryInvoker","id":99}},{"id":101,"name":"invoke","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":102,"name":"invoke","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Invokes the function with the provided dependencies.","returns":"The result of the function invocation.\n"},"parameters":[{"id":103,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The calling container."},"type":{"type":"reference","name":"Container","id":156}},{"id":104,"name":"fn","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The constructor or factory function."},"type":{"type":"reference","name":"Function"}},{"id":105,"name":"dependencies","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The dependencies of the function call."},"type":{"type":"instrinct","isArray":true,"name":"any"}}],"type":{"type":"instrinct","name":"any"}}]},{"id":106,"name":"invokeWithDynamicDependencies","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":107,"name":"invokeWithDynamicDependencies","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Invokes the function with the provided dependencies.","returns":"The result of the function invocation.\n"},"parameters":[{"id":108,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The calling container."},"type":{"type":"reference","name":"Container","id":156}},{"id":109,"name":"fn","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The constructor or factory function."},"type":{"type":"reference","name":"Function"}},{"id":110,"name":"staticDependencies","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The static dependencies of the function."},"type":{"type":"instrinct","isArray":true,"name":"any"}},{"id":111,"name":"dynamicDependencies","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"Additional dependencies to use during invocation."},"type":{"type":"instrinct","isArray":true,"name":"any"}}],"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Properties","kind":1024,"children":[100]},{"title":"Methods","kind":2048,"children":[101,106]}]},{"id":137,"name":"InvocationHandler","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"Stores the information needed to invoke a function."},"children":[{"id":141,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"comment":{"shortText":"Instantiates an InvocationDescription."},"signatures":[{"id":142,"name":"new InvocationHandler","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{"shortText":"Instantiates an InvocationDescription."},"parameters":[{"id":143,"name":"fn","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"The Function described by this description object."},"type":{"type":"reference","name":"Function"}},{"id":144,"name":"invoker","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"The strategy for invoking the function."},"type":{"type":"reference","name":"Invoker","id":87}},{"id":145,"name":"dependencies","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"The static dependencies of the function call.\n"},"type":{"type":"instrinct","isArray":true,"name":"any"}}],"type":{"type":"reference","name":"InvocationHandler","id":137}}]},{"id":140,"name":"dependencies","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The statically known dependencies of this function invocation."},"type":{"type":"instrinct","isArray":true,"name":"any"}},{"id":138,"name":"fn","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The function to be invoked by this handler."},"type":{"type":"reference","name":"Function"}},{"id":139,"name":"invoker","kind":1024,"kindString":"Property","flags":{"isExported":true},"comment":{"shortText":"The invoker implementation that will be used to actually invoke the function."},"type":{"type":"reference","name":"Invoker","id":87}},{"id":146,"name":"invoke","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":147,"name":"invoke","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Invokes the function.","returns":"The result of the function invocation.\n"},"parameters":[{"id":148,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The calling container."},"type":{"type":"reference","name":"Container","id":156}},{"id":149,"name":"dynamicDependencies","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"Additional dependencies to use during invocation."},"type":{"type":"instrinct","isArray":true,"name":"any"}}],"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[141]},{"title":"Properties","kind":1024,"children":[140,138,139]},{"title":"Methods","kind":2048,"children":[146]}]},{"id":7,"name":"Lazy","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"Used to allow functions/classes to specify lazy resolution logic."},"children":[{"id":8,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"comment":{"shortText":"Creates an instance of the Lazy class."},"signatures":[{"id":9,"name":"new Lazy","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{"shortText":"Creates an instance of the Lazy class."},"parameters":[{"id":10,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"The key to lazily resolve.\n"},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"Lazy","id":7}}]},{"id":11,"name":"get","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":12,"name":"get","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Called by the container to lazily resolve the dependency into a lazy locator function.","returns":"Returns a function which can be invoked at a later time to obtain the actual dependency.\n"},"parameters":[{"id":13,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The container to resolve from."},"type":{"type":"reference","name":"Container","id":156}}],"type":{"type":"instrinct","name":"any"}}]},{"id":14,"name":"of","kind":2048,"kindString":"Method","flags":{"isStatic":true,"isExported":true},"signatures":[{"id":15,"name":"of","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Creates a Lazy Resolver for the supplied key.","returns":"Returns an instance of Lazy for the key.\n"},"parameters":[{"id":16,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key to lazily resolve."},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"Lazy","id":7}}]}],"groups":[{"title":"Constructors","kind":512,"children":[8]},{"title":"Methods","kind":2048,"children":[11,14]}]},{"id":70,"name":"NewInstance","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"Used to inject a new instance of a dependency, without regard for existing\ninstances in the container. Instances can optionally be registered in the container\nunder a different key by supplying a key using the `as` method."},"children":[{"id":73,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"comment":{"shortText":"Creates an instance of the NewInstance class."},"signatures":[{"id":74,"name":"new NewInstance","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{"shortText":"Creates an instance of the NewInstance class."},"parameters":[{"id":75,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"The key to resolve/instantiate."},"type":{"type":"instrinct","name":"any"}},{"id":76,"name":"dynamicDependencies","kind":32768,"kindString":"Parameter","flags":{"isRest":true},"comment":{"shortText":"An optional list of dynamic dependencies.\n"},"type":{"type":"instrinct","isArray":true,"name":"any"}}],"type":{"type":"reference","name":"NewInstance","id":70}}]},{"id":72,"name":"asKey","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"instrinct","name":"any"}},{"id":71,"name":"key","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"instrinct","name":"any"}},{"id":80,"name":"as","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":81,"name":"as","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Instructs the NewInstance resolver to register the resolved instance using the supplied key.","returns":"Returns the NewInstance resolver.\n"},"parameters":[{"id":82,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key to register the instance with."},"type":{"type":"instrinct","name":"any"}}]}]},{"id":77,"name":"get","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":78,"name":"get","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Called by the container to instantiate the dependency and potentially register\nas another key if the `as` method was used.","returns":"Returns the matching instance from the parent container\n"},"parameters":[{"id":79,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The container to resolve the parent from."},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"any"}}]},{"id":83,"name":"of","kind":2048,"kindString":"Method","flags":{"isStatic":true,"isExported":true},"signatures":[{"id":84,"name":"of","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Creates an NewInstance Resolver for the supplied key.","returns":"Returns an instance of NewInstance for the key.\n"},"parameters":[{"id":85,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key to resolve/instantiate."},"type":{"type":"instrinct","name":"any"}},{"id":86,"name":"dynamicDependencies","kind":32768,"kindString":"Parameter","flags":{"isRest":true},"comment":{"text":"An optional list of dynamic dependencies."},"type":{"type":"instrinct","isArray":true,"name":"any"}}],"type":{"type":"reference","name":"NewInstance","id":70}}]}],"groups":[{"title":"Constructors","kind":512,"children":[73]},{"title":"Properties","kind":1024,"children":[72,71]},{"title":"Methods","kind":2048,"children":[80,77,83]}]},{"id":27,"name":"Optional","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"Used to allow functions/classes to specify an optional dependency, which will be resolved only if already registred with the container."},"children":[{"id":28,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"comment":{"shortText":"Creates an instance of the Optional class."},"signatures":[{"id":29,"name":"new Optional","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{"shortText":"Creates an instance of the Optional class."},"parameters":[{"id":30,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"The key to optionally resolve for."},"type":{"type":"instrinct","name":"any"}},{"id":31,"name":"checkParent","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"shortText":"Indicates whether or not the parent container hierarchy should be checked.\n"},"type":{"type":"instrinct","name":"boolean"}}],"type":{"type":"reference","name":"Optional","id":27}}]},{"id":32,"name":"get","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":33,"name":"get","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Called by the container to provide optional resolution of the key.","returns":"Returns the instance if found; otherwise null.\n"},"parameters":[{"id":34,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The container to resolve from."},"type":{"type":"reference","name":"Container","id":156}}],"type":{"type":"instrinct","name":"any"}}]},{"id":35,"name":"of","kind":2048,"kindString":"Method","flags":{"isStatic":true,"isExported":true},"signatures":[{"id":36,"name":"of","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Creates an Optional Resolver for the supplied key.","returns":"Returns an instance of Optional for the key.\n"},"parameters":[{"id":37,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key to optionally resolve for."},"type":{"type":"instrinct","name":"any"}},{"id":38,"name":"checkParent","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"boolean"}}],"type":{"type":"reference","name":"Optional","id":27}}]}],"groups":[{"title":"Constructors","kind":512,"children":[28]},{"title":"Methods","kind":2048,"children":[32,35]}]},{"id":39,"name":"Parent","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"Used to inject the dependency from the parent container instead of the current one."},"children":[{"id":40,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"comment":{"shortText":"Creates an instance of the Parent class."},"signatures":[{"id":41,"name":"new Parent","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{"shortText":"Creates an instance of the Parent class."},"parameters":[{"id":42,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"The key to resolve from the parent container.\n"},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"Parent","id":39}}]},{"id":43,"name":"get","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":44,"name":"get","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Called by the container to load the dependency from the parent container","returns":"Returns the matching instance from the parent container\n"},"parameters":[{"id":45,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The container to resolve the parent from."},"type":{"type":"reference","name":"Container","id":156}}],"type":{"type":"instrinct","name":"any"}}]},{"id":46,"name":"of","kind":2048,"kindString":"Method","flags":{"isStatic":true,"isExported":true},"signatures":[{"id":47,"name":"of","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Creates a Parent Resolver for the supplied key.","returns":"Returns an instance of Parent for the key.\n"},"parameters":[{"id":48,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key to resolve."},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"Parent","id":39}}]}],"groups":[{"title":"Constructors","kind":512,"children":[40]},{"title":"Methods","kind":2048,"children":[43,46]}]},{"id":127,"name":"SingletonRegistration","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"Used to allow functions/classes to indicate that they should be registered as singletons with the container."},"children":[{"id":128,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"comment":{"shortText":"Creates an instance of SingletonRegistration."},"signatures":[{"id":129,"name":"new SingletonRegistration","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{"shortText":"Creates an instance of SingletonRegistration."},"parameters":[{"id":130,"name":"keyOrRegisterInChild","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}},{"id":131,"name":"registerInChild","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"boolean"}}],"type":{"type":"reference","name":"SingletonRegistration","id":127}}]},{"id":132,"name":"registerResolver","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":133,"name":"registerResolver","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Called by the container to register the resolver.","returns":"The resolver that was registered.\n"},"parameters":[{"id":134,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The container the resolver is being registered with."},"type":{"type":"reference","name":"Container","id":156}},{"id":135,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key the resolver should be registered as."},"type":{"type":"instrinct","name":"any"}},{"id":136,"name":"fn","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The function to create the resolver for."},"type":{"type":"reference","name":"Function"}}],"type":{"type":"reference","name":"Resolver","id":2}}]}],"groups":[{"title":"Constructors","kind":512,"children":[128]},{"title":"Methods","kind":2048,"children":[132]}]},{"id":49,"name":"StrategyResolver","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":52,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"comment":{"shortText":"Creates an instance of the StrategyResolver class."},"signatures":[{"id":53,"name":"new StrategyResolver","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{"shortText":"Creates an instance of the StrategyResolver class."},"parameters":[{"id":54,"name":"strategy","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"The type of resolution strategy."},"type":{"type":"instrinct","name":"any"}},{"id":55,"name":"state","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"The state associated with the resolution strategy.\n"},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"StrategyResolver","id":49}}]},{"id":51,"name":"state","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"instrinct","name":"any"}},{"id":50,"name":"strategy","kind":1024,"kindString":"Property","flags":{"isExported":true},"type":{"type":"union","types":[{"type":"reference","name":"StrategyResolver","id":49},{"type":"instrinct","name":"number"}]}},{"id":56,"name":"get","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":57,"name":"get","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Called by the container to allow custom resolution of dependencies for a function/class.","returns":"Returns the resolved object.\n"},"parameters":[{"id":58,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The container to resolve from."},"type":{"type":"reference","name":"Container","id":156}},{"id":59,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key that the resolver was registered as."},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[52]},{"title":"Properties","kind":1024,"children":[51,50]},{"title":"Methods","kind":2048,"children":[56]}]},{"id":118,"name":"TransientRegistration","kind":128,"kindString":"Class","flags":{"isExported":true},"comment":{"shortText":"Used to allow functions/classes to indicate that they should be registered as transients with the container."},"children":[{"id":119,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"comment":{"shortText":"Creates an instance of TransientRegistration."},"signatures":[{"id":120,"name":"new TransientRegistration","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{"shortText":"Creates an instance of TransientRegistration."},"parameters":[{"id":121,"name":"key","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"shortText":"The key to register as.\n"},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"TransientRegistration","id":118}}]},{"id":122,"name":"registerResolver","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":123,"name":"registerResolver","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Called by the container to register the resolver.","returns":"The resolver that was registered.\n"},"parameters":[{"id":124,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The container the resolver is being registered with."},"type":{"type":"reference","name":"Container","id":156}},{"id":125,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key the resolver should be registered as."},"type":{"type":"instrinct","name":"any"}},{"id":126,"name":"fn","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The function to create the resolver for."},"type":{"type":"reference","name":"Function"}}],"type":{"type":"reference","name":"Resolver","id":2}}]}],"groups":[{"title":"Constructors","kind":512,"children":[119]},{"title":"Methods","kind":2048,"children":[122]}]},{"id":150,"name":"ContainerConfiguration","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"Used to configure a Container instance."},"children":[{"id":155,"name":"handlers","kind":1024,"kindString":"Property","flags":{"isExported":true,"isOptional":true},"type":{"type":"reference","name":"Map","typeArguments":[{"type":"instrinct","name":"any"},{"type":"instrinct","name":"any"}]}},{"id":151,"name":"onHandlerCreated","kind":1024,"kindString":"Property","flags":{"isExported":true,"isOptional":true},"comment":{"shortText":"An optional callback which will be called when any function needs an InvocationHandler created (called once per Function)."},"type":{"type":"reflection","declaration":{"id":152,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"signatures":[{"id":153,"name":"__call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":154,"name":"handler","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"InvocationHandler","id":137}}],"type":{"type":"reference","name":"InvocationHandler","id":137}}]}}}],"groups":[{"title":"Properties","kind":1024,"children":[155,151]}]},{"id":87,"name":"Invoker","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"A strategy for invoking a function, resulting in an object instance."},"children":[{"id":88,"name":"invoke","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":89,"name":"invoke","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Invokes the function with the provided dependencies.","returns":"The result of the function invocation.\n"},"parameters":[{"id":90,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Container","id":156}},{"id":91,"name":"fn","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The constructor or factory function."},"type":{"type":"reference","name":"Function"}},{"id":92,"name":"dependencies","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The dependencies of the function call."},"type":{"type":"instrinct","isArray":true,"name":"any"}}],"type":{"type":"instrinct","name":"any"}}]},{"id":93,"name":"invokeWithDynamicDependencies","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":94,"name":"invokeWithDynamicDependencies","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Invokes the function with the provided dependencies.","returns":"The result of the function invocation.\n"},"parameters":[{"id":95,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Container","id":156}},{"id":96,"name":"fn","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The constructor or factory function."},"type":{"type":"reference","name":"Function"}},{"id":97,"name":"staticDependencies","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The static dependencies of the function."},"type":{"type":"instrinct","isArray":true,"name":"any"}},{"id":98,"name":"dynamicDependencies","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"Additional dependencies to use during invocation."},"type":{"type":"instrinct","isArray":true,"name":"any"}}],"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Methods","kind":2048,"children":[88,93]}]},{"id":112,"name":"Registration","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"Customizes how a particular function is resolved by the Container."},"children":[{"id":113,"name":"registerResolver","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":114,"name":"registerResolver","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Called by the container to register the resolver.","returns":"The resolver that was registered.\n"},"parameters":[{"id":115,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The container the resolver is being registered with."},"type":{"type":"reference","name":"Container","id":156}},{"id":116,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key the resolver should be registered as."},"type":{"type":"instrinct","name":"any"}},{"id":117,"name":"fn","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The function to create the resolver for."},"type":{"type":"reference","name":"Function"}}],"type":{"type":"reference","name":"Resolver","id":2}}]}],"groups":[{"title":"Methods","kind":2048,"children":[113]}]},{"id":2,"name":"Resolver","kind":256,"kindString":"Interface","flags":{"isExported":true},"comment":{"shortText":"Used to allow functions/classes to specify custom dependency resolution logic."},"children":[{"id":3,"name":"get","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":4,"name":"get","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Called by the container to allow custom resolution of dependencies for a function/class.","returns":"Returns the resolved object.\n"},"parameters":[{"id":5,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The container to resolve from."},"type":{"type":"reference","name":"Container","id":156}},{"id":6,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"comment":{"text":"The key that the resolver was registered as."},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Methods","kind":2048,"children":[3]}]},{"id":300,"name":"_emptyParameters","kind":32,"kindString":"Variable","flags":{"isExported":true},"type":{"type":"instrinct","isArray":true,"name":"any"}},{"id":232,"name":"resolver","kind":32,"kindString":"Variable","flags":{"isExported":true},"comment":{"shortText":"Decorator: Indicates that the decorated class/object is a custom resolver."},"type":{"type":"unknown","name":"Function & { decorates?: any; }"}},{"id":245,"name":"all","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":246,"name":"all","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Decorator: Specifies the dependency should load all instances of the given key."},"parameters":[{"id":247,"name":"keyValue","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reflection","declaration":{"id":248,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"signatures":[{"id":249,"name":"__call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":250,"name":"target","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":251,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":252,"name":"index","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"void"}}]}}}]},{"id":301,"name":"autoinject","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":302,"name":"autoinject","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Decorator: Directs the TypeScript transpiler to write-out type metadata for the decorated class."},"parameters":[{"id":303,"name":"potentialTarget","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"any"}}]},{"id":266,"name":"factory","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":267,"name":"factory","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Decorator: Specifies the dependency to create a factory method, that can accept optional arguments"},"parameters":[{"id":268,"name":"keyValue","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":269,"name":"asValue","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reflection","declaration":{"id":270,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"signatures":[{"id":271,"name":"__call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":272,"name":"target","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":273,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":274,"name":"index","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"void"}}]}}}]},{"id":233,"name":"getDecoratorDependencies","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":234,"name":"getDecoratorDependencies","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":235,"name":"target","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":236,"name":"name","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"any"}}]},{"id":304,"name":"inject","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":305,"name":"inject","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Decorator: Specifies the dependencies that should be injected by the DI Container into the decoratored class/function."},"parameters":[{"id":306,"name":"rest","kind":32768,"kindString":"Parameter","flags":{"isRest":true},"type":{"type":"instrinct","isArray":true,"name":"any"}}],"type":{"type":"instrinct","name":"any"}}]},{"id":287,"name":"invokeAsFactory","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":288,"name":"invokeAsFactory","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Decorator: Specifies that the decorated item should be called as a factory function, rather than a constructor."},"parameters":[{"id":289,"name":"potentialTarget","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"any"}}]},{"id":284,"name":"invoker","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":285,"name":"invoker","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Decorator: Specifies a custom Invoker for the decorated item."},"parameters":[{"id":286,"name":"value","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Invoker","id":87}}],"type":{"type":"instrinct","name":"any"}}]},{"id":237,"name":"lazy","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":238,"name":"lazy","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Decorator: Specifies the dependency should be lazy loaded"},"parameters":[{"id":239,"name":"keyValue","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reflection","declaration":{"id":240,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"signatures":[{"id":241,"name":"__call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":242,"name":"target","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":243,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":244,"name":"index","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"void"}}]}}}]},{"id":275,"name":"newInstance","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":276,"name":"newInstance","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Decorator: Specifies the dependency as a new instance"},"parameters":[{"id":277,"name":"asKeyOrTarget","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}},{"id":278,"name":"dynamicDependencies","kind":32768,"kindString":"Parameter","flags":{"isRest":true},"type":{"type":"instrinct","isArray":true,"name":"any"}}],"type":{"type":"reflection","declaration":{"id":279,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"signatures":[{"id":280,"name":"__call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":281,"name":"target","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":282,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":283,"name":"index","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"void"}}]}}}]},{"id":253,"name":"optional","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":254,"name":"optional","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Decorator: Specifies the dependency as optional"},"parameters":[{"id":255,"name":"checkParentOrTarget","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"boolean"}}],"type":{"type":"reflection","declaration":{"id":256,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"signatures":[{"id":257,"name":"__call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":258,"name":"target","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":259,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":260,"name":"index","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"void"}}]}}}]},{"id":261,"name":"parent","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":262,"name":"parent","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Decorator: Specifies the dependency to look at the parent container for resolution"},"parameters":[{"id":263,"name":"target","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":264,"name":"key","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":265,"name":"index","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"void"}}]},{"id":290,"name":"registration","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":291,"name":"registration","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Decorator: Specifies a custom registration strategy for the decorated class/function."},"parameters":[{"id":292,"name":"value","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Registration","id":112}}],"type":{"type":"instrinct","name":"any"}}]},{"id":296,"name":"singleton","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":297,"name":"singleton","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Decorator: Specifies to register the decorated item with a \"singleton\" lieftime."},"parameters":[{"id":298,"name":"keyOrRegisterInChild","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}},{"id":299,"name":"registerInChild","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"boolean"}}],"type":{"type":"instrinct","name":"any"}}]},{"id":293,"name":"transient","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":294,"name":"transient","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Decorator: Specifies to register the decorated item with a \"transient\" lifetime."},"parameters":[{"id":295,"name":"key","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"any"}}]}],"groups":[{"title":"Classes","kind":128,"children":[17,156,60,99,137,7,70,27,39,127,49,118]},{"title":"Interfaces","kind":256,"children":[150,87,112,2]},{"title":"Variables","kind":32,"children":[300,232]},{"title":"Functions","kind":64,"children":[245,301,266,233,304,287,284,237,275,253,261,290,296,293]}]} \ No newline at end of file diff --git a/package.json b/package.json index d647ab6..dd76387 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "aurelia-dependency-injection", - "version": "1.1.0", + "version": "1.2.0", "description": "A lightweight, extensible dependency injection container for JavaScript.", "keywords": [ "aurelia",