Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

inversify

Package Overview
Dependencies
Maintainers
1
Versions
88
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

inversify - npm Package Compare versions

Comparing version 2.0.0-beta.5 to 2.0.0-beta.6

18

dist/inversify.js
/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -245,2 +245,16 @@ * MIT inversify.io/LICENSE

}
Binding.prototype.clone = function () {
var clone = new Binding(this.serviceIdentifier);
clone.activated = false;
clone.implementationType = this.implementationType;
clone.dynamicValue = this.dynamicValue;
clone.scope = this.scope;
clone.type = this.type;
clone.factory = this.factory;
clone.provider = this.provider;
clone.constraint = this.constraint;
clone.onActivation = this.onActivation;
clone.cache = this.cache;
return clone;
};
return Binding;

@@ -571,3 +585,3 @@ }());

var binding = _c[_b];
l.add(entry.serviceIdentifier, binding);
l.add(entry.serviceIdentifier, binding.clone());
}

@@ -574,0 +588,0 @@ }

4

dist/inversify.min.js
/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -7,3 +7,3 @@ * MIT inversify.io/LICENSE

*/
!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n;n="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,n.inversify=t()}}(function(){return function t(n,e,i){function r(o,s){if(!e[o]){if(!n[o]){var u="function"==typeof require&&require;if(!s&&u)return u(o,!0);if(a)return a(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var d=e[o]={exports:{}};n[o][0].call(d.exports,function(t){var e=n[o][1][t];return r(e?e:t)},d,d.exports,t,n,e,i)}return e[o].exports}for(var a="function"==typeof require&&require,o=0;o<i.length;o++)r(i[o]);return r}({1:[function(t,n,e){"use strict";function i(t,n,e,i){var r=c.TAGGED;return a(r,t,n,i,e)}function r(t,n,e){var i=c.TAGGED_PROP;return a(i,t.constructor,n,e)}function a(t,n,e,i,r){var a=null,o="number"==typeof r,s=o?r.toString():e;if(o===!0&&void 0!==e)throw new Error(d.INVALID_DECORATOR_OPERATION);a=Reflect.hasOwnMetadata(t,n)!==!0?{}:Reflect.getMetadata(t,n);var u=a[s];if(Array.isArray(u)!==!0)u=[];else for(var c=0;c<u.length;c++){var f=u[c];if(f.key===i.key)throw new Error(d.DUPLICATED_METADATA+" "+f.key)}return u.push(i),a[s]=u,Reflect.defineMetadata(t,a,n),n}function o(t,n){Reflect.decorate(t,n)}function s(t,n){return function(e,i){n(e,i,t)}}function u(t,n,e){"number"==typeof e?o([s(e,t)],n):o([t],n)}var c=t("../constants/metadata_keys"),d=t("../constants/error_msgs");e.tagParameter=i,e.tagProperty=r,e.decorate=u},{"../constants/error_msgs":13,"../constants/metadata_keys":14}],2:[function(t,n,e){"use strict";function i(t){return function(n,e,i){var s=new r["default"](o.INJECT_TAG,t);return a.tagParameter(n,e,i,s)}}var r=t("../planning/metadata"),a=t("./decorator_utils"),o=t("../constants/metadata_keys");Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{"../constants/metadata_keys":14,"../planning/metadata":21,"./decorator_utils":1}],3:[function(t,n,e){"use strict";function i(){return function(t){if(Reflect.hasOwnMetadata(r.PARAM_TYPES,t)===!0)throw new Error(a.DUPLICATED_INJECTABLE_DECORATOR);var n=Reflect.getMetadata(r.DESIGN_PARAM_TYPES,t)||[];return Reflect.defineMetadata(r.PARAM_TYPES,n,t),t}}var r=t("../constants/metadata_keys"),a=t("../constants/error_msgs");Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{"../constants/error_msgs":13,"../constants/metadata_keys":14}],4:[function(t,n,e){"use strict";function i(t){return function(n,e,i){var s=new r["default"](o.MULTI_INJECT_TAG,t);return a.tagParameter(n,e,i,s)}}var r=t("../planning/metadata"),a=t("./decorator_utils"),o=t("../constants/metadata_keys");Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{"../constants/metadata_keys":14,"../planning/metadata":21,"./decorator_utils":1}],5:[function(t,n,e){"use strict";function i(t){return function(n,e,i){var s=new r["default"](o.NAMED_TAG,t);return"number"==typeof i?a.tagParameter(n,e,i,s):a.tagProperty(n,e,s)}}var r=t("../planning/metadata"),a=t("./decorator_utils"),o=t("../constants/metadata_keys");Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{"../constants/metadata_keys":14,"../planning/metadata":21,"./decorator_utils":1}],6:[function(t,n,e){"use strict";function i(t,n,e){function i(){return Reflect.hasMetadata(u,this,n)||Reflect.defineMetadata(u,e(),this,n),Reflect.getMetadata(u,this,n)}function r(t){Reflect.defineMetadata(u,t,this,n)}Object.defineProperty(t,n,{configurable:!0,enumerable:!0,get:i,set:r})}function r(t){return function(n){return function(e,r){var a=function(){return t.get(n)};i(e,r,a)}}}function a(t){return function(n,e){return function(r,a){var o=function(){return t.getNamed(n,e)};i(r,a,o)}}}function o(t){return function(n,e,r){return function(a,o){var s=function(){return t.getTagged(n,e,r)};i(a,o,s)}}}function s(t){return function(n){return function(e,r){var a=function(){return t.getAll(n)};i(e,r,a)}}}var u=Symbol();e.makePropertyInjectDecorator=r,e.makePropertyInjectNamedDecorator=a,e.makePropertyInjectTaggedDecorator=o,e.makePropertyMultiInjectDecorator=s},{}],7:[function(t,n,e){"use strict";function i(t,n){return function(e,i,o){var s=new r["default"](t,n);return"number"==typeof o?a.tagParameter(e,i,o,s):a.tagProperty(e,i,s)}}var r=t("../planning/metadata"),a=t("./decorator_utils");Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{"../planning/metadata":21,"./decorator_utils":1}],8:[function(t,n,e){"use strict";function i(t){return function(n,e,i){var s=new r["default"](o.NAME_TAG,t);return a.tagParameter(n,e,i,s)}}var r=t("../planning/metadata"),a=t("./decorator_utils"),o=t("../constants/metadata_keys");Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{"../constants/metadata_keys":14,"../planning/metadata":21,"./decorator_utils":1}],9:[function(t,n,e){"use strict";var i=t("./binding_scope"),r=t("./binding_type"),a=function(){function t(t){this.activated=!1,this.serviceIdentifier=t,this.scope=i["default"].Transient,this.type=r["default"].Invalid,this.constraint=function(t){return!0},this.implementationType=null,this.cache=null,this.factory=null,this.provider=null,this.onActivation=null}return t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=a},{"./binding_scope":11,"./binding_type":12}],10:[function(t,n,e){"use strict";var i;!function(t){t[t.NoBindingsAvailable=0]="NoBindingsAvailable",t[t.OnlyOneBindingAvailable=1]="OnlyOneBindingAvailable",t[t.MultipleBindingsAvailable=2]="MultipleBindingsAvailable"}(i||(i={})),Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{}],11:[function(t,n,e){"use strict";var i;!function(t){t[t.Transient=0]="Transient",t[t.Singleton=1]="Singleton"}(i||(i={})),Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{}],12:[function(t,n,e){"use strict";var i;!function(t){t[t.Invalid=0]="Invalid",t[t.Instance=1]="Instance",t[t.ConstantValue=2]="ConstantValue",t[t.DynamicValue=3]="DynamicValue",t[t.Constructor=4]="Constructor",t[t.Factory=5]="Factory",t[t.Provider=6]="Provider"}(i||(i={})),Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{}],13:[function(t,n,e){"use strict";e.DUPLICATED_INJECTABLE_DECORATOR="Cannot apply @injectable decorator multiple times.",e.DUPLICATED_METADATA="Metadadata key was used more than once in a parameter:",e.NULL_ARGUMENT="NULL argument",e.KEY_NOT_FOUND="Key Not Found",e.AMBIGUOUS_MATCH="Ambiguous match found for serviceIdentifier:",e.CANNOT_UNBIND="Could not unbind serviceIdentifier:",e.NOT_REGISTERED="No bindings found for serviceIdentifier:",e.MISSING_INJECTABLE_ANNOTATION="Missing required @injectable annotation in:",e.MISSING_INJECT_ANNOTATION="Missing required @inject or @multiInject annotation in:",e.CIRCULAR_DEPENDENCY="Circular dependency found between services:",e.NOT_IMPLEMENTED="Sorry, this feature is not fully implemented yet.",e.INVALID_BINDING_TYPE="Invalid binding type:",e.MISSING_EXPLICIT_CONSTRUCTOR="Derived class must explicitly declare its constructor:",e.INVALID_DECORATOR_OPERATION="The @inject @multiInject @tagged and @named decorators must be applied to the parameters of a class constructor or a class property.",e.NO_MORE_SNAPSHOTS_AVAILABLE="No snapshot available to restore."},{}],14:[function(t,n,e){"use strict";e.NAMED_TAG="named",e.NAME_TAG="name",e.INJECT_TAG="inject",e.MULTI_INJECT_TAG="multi_inject",e.TAGGED="inversify:tagged",e.TAGGED_PROP="inversify:tagged_props",e.PARAM_TYPES="inversify:paramtypes",e.DESIGN_PARAM_TYPES="design:paramtypes"},{}],15:[function(t,n,e){"use strict";var i=t("./kernel/kernel");e.Kernel=i["default"];var r=t("./annotation/injectable");e.injectable=r["default"];var a=t("./annotation/tagged");e.tagged=a["default"];var o=t("./annotation/named");e.named=o["default"];var s=t("./annotation/inject");e.inject=s["default"];var u=t("./annotation/property_injectors");e.makePropertyInjectDecorator=u.makePropertyInjectDecorator,e.makePropertyMultiInjectDecorator=u.makePropertyMultiInjectDecorator;var c=t("./annotation/multi_inject");e.multiInject=c["default"];var d=t("./annotation/target_name");e.targetName=d["default"];var f=t("./annotation/decorator_utils");e.decorate=f.decorate;var l=t("./syntax/constraint_helpers");e.traverseAncerstors=l.traverseAncerstors,e.taggedConstraint=l.taggedConstraint,e.namedConstraint=l.namedConstraint,e.typeConstraint=l.typeConstraint},{"./annotation/decorator_utils":1,"./annotation/inject":2,"./annotation/injectable":3,"./annotation/multi_inject":4,"./annotation/named":5,"./annotation/property_injectors":6,"./annotation/tagged":7,"./annotation/target_name":8,"./kernel/kernel":16,"./syntax/constraint_helpers":34}],16:[function(t,n,e){"use strict";var i=t("../bindings/binding_count"),r=t("../bindings/binding"),a=t("./lookup"),o=t("../planning/planner"),s=t("../resolution/resolver"),u=t("../constants/error_msgs"),c=t("../constants/metadata_keys"),d=t("../syntax/binding_to_syntax"),f=t("../planning/metadata"),l=t("../planning/target"),h=t("../planning/request"),p=t("./kernel_snapshot"),_=function(){function t(){this._planner=new o["default"],this._resolver=new s["default"],this._bindingDictionary=new a["default"],this._middleware=null,this._snapshots=[]}return t.prototype.load=function(){for(var t=this,n=[],e=0;e<arguments.length;e++)n[e-0]=arguments[e];n.forEach(function(n){n(t)})},t.prototype.applyMiddleware=function(){for(var t=[],n=0;n<arguments.length;n++)t[n-0]=arguments[n];this._middleware=t.reverse().reduce(function(t,n){return n(t)},this._resolver.resolve.bind(this._resolver))},t.prototype.bind=function(t){var n=new r["default"](t);return this._bindingDictionary.add(t,n),new d["default"](n)},t.prototype.unbind=function(t){try{this._bindingDictionary.remove(t)}catch(n){throw new Error(u.CANNOT_UNBIND+" "+t)}},t.prototype.unbindAll=function(){this._bindingDictionary=new a["default"]},t.prototype.get=function(t){return this._get(t,null)},t.prototype.getNamed=function(t,n){return this.getTagged(t,c.NAMED_TAG,n)},t.prototype.getTagged=function(t,n,e){var i=new f["default"](n,e),r=new l["default"](null,t,i);return this._get(t,r)},t.prototype.getAll=function(t){var n=this,e=this._planner.getBindings(this,t);switch(e.length){case i["default"].NoBindingsAvailable:throw new Error(u.NOT_REGISTERED+" "+t);case i["default"].OnlyOneBindingAvailable:case i["default"].MultipleBindingsAvailable:default:return e.map(function(t){return n._planAndResolve(t,null)})}},t.prototype.getServiceIdentifierAsString=function(t){var n=typeof t;if("function"===n){var e=t;return e.name}if("symbol"===n)return t.toString();var e=t;return e},t.prototype.snapshot=function(){this._snapshots.push(p["default"].of(this._bindingDictionary.clone(),this._middleware))},t.prototype.restore=function(){if(0===this._snapshots.length)throw new Error(u.NO_MORE_SNAPSHOTS_AVAILABLE);var t=this._snapshots.pop();this._bindingDictionary=t.bindings,this._middleware=t.middleware},t.prototype._get=function(t,n){var e=this._planner.getBindings(this,t);if(null!==n){var r=new h["default"](t,this._planner.createContext(this),null,e,n);e=this._planner.getActiveBindings(r,n)}if(e.length===i["default"].NoBindingsAvailable)throw new Error(u.NOT_REGISTERED+" "+t);if(e.length===i["default"].OnlyOneBindingAvailable)return this._planAndResolve(e[0],n);throw new Error(u.AMBIGUOUS_MATCH+" "+t)},t.prototype._planAndResolve=function(t,n){var e=this._planner.createContext(this);return this._planner.createPlan(e,t,n),null!==this._middleware?this._middleware(e):this._resolver.resolve(e)},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=_},{"../bindings/binding":9,"../bindings/binding_count":10,"../constants/error_msgs":13,"../constants/metadata_keys":14,"../planning/metadata":21,"../planning/planner":23,"../planning/request":25,"../planning/target":26,"../resolution/resolver":27,"../syntax/binding_to_syntax":31,"./kernel_snapshot":17,"./lookup":19}],17:[function(t,n,e){"use strict";var i=function(){function t(){}return t.of=function(n,e){var i=new t;return i.bindings=n,i.middleware=e,i},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{}],18:[function(t,n,e){"use strict";var i=function(){function t(t,n){this.serviceIdentifier=t,this.value=new Array,this.value.push(n)}return t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{}],19:[function(t,n,e){"use strict";var i=t("./key_value_pair"),r=t("../constants/error_msgs"),a=function(){function t(){this._dictionary=[]}return t.prototype.add=function(t,n){if(null===t||void 0===t)throw new Error(r.NULL_ARGUMENT);if(null===n||void 0===n)throw new Error(r.NULL_ARGUMENT);var e=this.getIndexByKey(t);-1!==e?this._dictionary[e].value.push(n):this._dictionary.push(new i["default"](t,n))},t.prototype.get=function(t){if(null===t||void 0===t)throw new Error(r.NULL_ARGUMENT);var n=this.getIndexByKey(t);if(-1!==n)return this._dictionary[n].value;throw new Error(r.KEY_NOT_FOUND)},t.prototype.remove=function(t){if(null===t||void 0===t)throw new Error(r.NULL_ARGUMENT);var n=this.getIndexByKey(t);if(-1===n)throw new Error(r.KEY_NOT_FOUND);this._dictionary.splice(n,1)},t.prototype.hasKey=function(t){if(null===t||void 0===t)throw new Error(r.NULL_ARGUMENT);var n=this.getIndexByKey(t);return-1!==n},t.prototype.clone=function(){for(var n=new t,e=0,i=this._dictionary;e<i.length;e++)for(var r=i[e],a=0,o=r.value;a<o.length;a++){var s=o[a];n.add(r.serviceIdentifier,s)}return n},t.prototype.getIndexByKey=function(t){for(var n=-1,e=0;e<this._dictionary.length;e++){var i=this._dictionary[e];i.serviceIdentifier===t&&(n=e)}return n},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=a},{"../constants/error_msgs":13,"./key_value_pair":18}],20:[function(t,n,e){"use strict";var i=function(){function t(t){this.kernel=t}return t.prototype.addPlan=function(t){this.plan=t},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{}],21:[function(t,n,e){"use strict";var i=function(){function t(t,n){this.key=t,this.value=n}return t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{}],22:[function(t,n,e){"use strict";var i=function(){function t(t,n){this.parentContext=t,this.rootRequest=n}return t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{}],23:[function(t,n,e){"use strict";var i=t("./plan"),r=t("./context"),a=t("./request"),o=t("./target"),s=t("../constants/metadata_keys"),u=t("../constants/error_msgs"),c=t("../bindings/binding_type"),d=function(){function t(){}return t.prototype.createContext=function(t){return new r["default"](t)},t.prototype.createPlan=function(t,n,e){var r=this,o=new a["default"](n.serviceIdentifier,t,null,n,e),s=new i["default"](t,o);t.addPlan(s);var u=this._getDependencies(n.implementationType);return u.forEach(function(t){r._createSubRequest(o,t)}),s},t.prototype.getBindings=function(t,n){var e=[],i=t,r=i._bindingDictionary;return r.hasKey(n)&&(e=r.get(n)),e},t.prototype.getActiveBindings=function(t,n){var e=this.getBindings(t.parentContext.kernel,n.serviceIdentifier),i=[];return i=e.length>1&&n.isArray()===!1?e.filter(function(e){var i=new a["default"](e.serviceIdentifier,t.parentContext,t,e,n);return e.constraint(i)}):e},t.prototype._createSubRequest=function(t,n){try{var e=this.getActiveBindings(t,n);if(0===e.length){var i=t.parentContext.kernel.getServiceIdentifierAsString(n.serviceIdentifier);throw new Error(u.NOT_REGISTERED+" "+i)}if(e.length>1&&n.isArray()===!1){var i=t.parentContext.kernel.getServiceIdentifierAsString(n.serviceIdentifier);throw new Error(u.AMBIGUOUS_MATCH+" "+i)}this._createChildRequest(t,n,e)}catch(r){if(!(r instanceof RangeError))throw new Error(r.message);this._throwWhenCircularDependenciesFound(t.parentContext.plan.rootRequest)}},t.prototype._createChildRequest=function(t,n,e){var i=this,r=t.addChildRequest(n.serviceIdentifier,e,n),a=r;e.forEach(function(t){if(n.isArray()&&(a=r.addChildRequest(t.serviceIdentifier,t,n)),t.type===c["default"].Instance){var e=i._getDependencies(t.implementationType);e.forEach(function(t,n){i._createSubRequest(a,t)})}})},t.prototype._throwWhenCircularDependenciesFound=function(t,n){var e=this;void 0===n&&(n=[]),n.push(t.serviceIdentifier),t.childRequests.forEach(function(i){var r=i.serviceIdentifier;if(-1!==n.indexOf(r)){var a=t.parentContext.kernel.getServiceIdentifierAsString(t.serviceIdentifier);throw new Error(u.CIRCULAR_DEPENDENCY+" "+r+" and "+a)}i.childRequests.length>0?e._throwWhenCircularDependenciesFound(i,n):n.push(r)})},t.prototype._getDependencies=function(t){if(null===t)return[];var n=t.name,e=Reflect.getMetadata(s.PARAM_TYPES,t);if(void 0===e){var i=u.MISSING_INJECTABLE_ANNOTATION+" "+n+".";throw new Error(i)}for(var r=Reflect.getMetadata(s.TAGGED,t)||[],a=[],c=function(t){var i=e[t],c=r[t.toString()]||[],d={};c.forEach(function(t){d[t.key.toString()]=t.value});var f=d[s.INJECT_TAG],l=d[s.MULTI_INJECT_TAG],h=d[s.NAME_TAG];if(i=f||l?f||l:i,i===Object||i===Function||void 0===i){var p=u.MISSING_INJECT_ANNOTATION+" argument "+t+" in class "+n+".";throw new Error(p)}var _=new o["default"](h,i);_.metadata=c,a.push(_)},d=0;d<t.length;d++)c(d);if(0===a.length&&this._baseClassHasDepencencies(t))throw new Error(u.MISSING_EXPLICIT_CONSTRUCTOR+" "+n+".");return a},t.prototype._baseClassHasDepencencies=function(t){var n=Object.getPrototypeOf(t.prototype).constructor;if(n!==Object){var e=Reflect.getMetadata(s.PARAM_TYPES,n);return n.length>0&&e?!0:this._baseClassHasDepencencies(n)}return!1},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=d},{"../bindings/binding_type":12,"../constants/error_msgs":13,"../constants/metadata_keys":14,"./context":20,"./plan":22,"./request":25,"./target":26}],24:[function(t,n,e){"use strict";var i=function(){function t(t){this.str=t}return t.prototype.startsWith=function(t){return 0===this.str.indexOf(t)},t.prototype.endsWith=function(t){var n="",e=t.split("").reverse().join("");return n=this.str.split("").reverse().join(""),this.startsWith.call({str:n},e)},t.prototype.contains=function(t){return-1!==this.str.indexOf(t)},t.prototype.equals=function(t){return this.str===t},t.prototype.value=function(){return this.str},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{}],25:[function(t,n,e){"use strict";var i=function(){function t(t,n,e,i,r){void 0===r&&(r=null),this.serviceIdentifier=t,this.parentContext=n,this.parentRequest=e,this.target=r,this.childRequests=[],this.bindings=Array.isArray(i)?i:i?[i]:[]}return t.prototype.addChildRequest=function(n,e,i){var r=new t(n,this.parentContext,this,e,i);return this.childRequests.push(r),r},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{}],26:[function(t,n,e){"use strict";var i=t("../planning/metadata"),r=t("./queryable_string"),a=t("../constants/metadata_keys"),o=function(){function t(t,n,e){this.serviceIdentifier=n,this.name=new r["default"](t||""),this.metadata=new Array;var o=null;"string"==typeof e?o=new i["default"](a.NAMED_TAG,e):e instanceof i["default"]&&(o=e),null!==o&&this.metadata.push(o)}return t.prototype.hasTag=function(t){for(var n=0;n<this.metadata.length;n++){var e=this.metadata[n];if(e.key===t)return!0}return!1},t.prototype.isArray=function(){return this.hasTag(a.MULTI_INJECT_TAG)},t.prototype.matchesArray=function(t){return this.matchesTag(a.MULTI_INJECT_TAG)(t)},t.prototype.isNamed=function(){return this.hasTag(a.NAMED_TAG)},t.prototype.isTagged=function(){return this.metadata.length>1?!0:1===this.metadata.length?!this.hasTag(a.NAMED_TAG):!1},t.prototype.matchesNamedTag=function(t){return this.matchesTag(a.NAMED_TAG)(t)},t.prototype.matchesTag=function(t){var n=this;return function(e){for(var i=0;i<n.metadata.length;i++){var r=n.metadata[i];if(r.key===t&&r.value===e)return!0}return!1}},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=o},{"../constants/metadata_keys":14,"../planning/metadata":21,"./queryable_string":24}],27:[function(t,n,e){"use strict";var i=t("../bindings/binding_scope"),r=t("../bindings/binding_type"),a=t("../constants/error_msgs"),o=function(){function t(){}return t.prototype.resolve=function(t){var n=t.plan.rootRequest;return this._resolve(n)},t.prototype._resolve=function(t){var n=this,e=t.bindings,o=t.childRequests;if(!t.target||!t.target.isArray()||t.parentRequest.target&&t.parentRequest.target.matchesArray(t.target.serviceIdentifier)){var s=null,u=e[0],c=u.scope===i["default"].Singleton;if(c&&u.activated===!0)return u.cache;switch(u.type){case r["default"].ConstantValue:s=u.cache;break;case r["default"].DynamicValue:s=u.dynamicValue();break;case r["default"].Constructor:s=u.implementationType;break;case r["default"].Factory:s=u.factory(t.parentContext);break;case r["default"].Provider:s=u.provider(t.parentContext);break;case r["default"].Instance:var d=u.implementationType;if(o.length>0){var f=o.map(function(t){return n._resolve(t)});s=this._createInstance(d,f)}else s=new d;break;case r["default"].Invalid:default:var l=t.parentContext.kernel.getServiceIdentifierAsString(t.serviceIdentifier);throw new Error(a.INVALID_BINDING_TYPE+" "+l)}return"function"==typeof u.onActivation&&(s=u.onActivation(t.parentContext,s)),c&&(u.cache=s,u.activated=!0),s}return o.map(function(t){return n._resolve(t)})},t.prototype._createInstance=function(t,n){return new(t.bind.apply(t,[void 0].concat(n)))},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=o},{"../bindings/binding_scope":11,"../bindings/binding_type":12,"../constants/error_msgs":13}],28:[function(t,n,e){"use strict";var i=t("../bindings/binding_scope"),r=t("./binding_when_on_syntax"),a=function(){function t(t){this._binding=t}return t.prototype.inSingletonScope=function(){return this._binding.scope=i["default"].Singleton,new r["default"](this._binding)},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=a},{"../bindings/binding_scope":11,"./binding_when_on_syntax":32}],29:[function(t,n,e){"use strict";var i=t("./binding_in_syntax"),r=t("./binding_when_syntax"),a=t("./binding_on_syntax"),o=function(){function t(t){this._binding=t,this._bindingWhenSyntax=new r["default"](this._binding),this._bindingOnSyntax=new a["default"](this._binding),this._bindingInSyntax=new i["default"](t)}return t.prototype.inSingletonScope=function(){return this._bindingInSyntax.inSingletonScope()},t.prototype.when=function(t){return this._bindingWhenSyntax.when(t)},t.prototype.whenTargetNamed=function(t){return this._bindingWhenSyntax.whenTargetNamed(t)},t.prototype.whenTargetTagged=function(t,n){return this._bindingWhenSyntax.whenTargetTagged(t,n)},t.prototype.whenInjectedInto=function(t){return this._bindingWhenSyntax.whenInjectedInto(t)},t.prototype.whenParentNamed=function(t){return this._bindingWhenSyntax.whenParentNamed(t)},t.prototype.whenParentTagged=function(t,n){return this._bindingWhenSyntax.whenParentTagged(t,n)},t.prototype.whenAnyAncestorIs=function(t){return this._bindingWhenSyntax.whenAnyAncestorIs(t)},t.prototype.whenNoAncestorIs=function(t){return this._bindingWhenSyntax.whenNoAncestorIs(t)},t.prototype.whenAnyAncestorNamed=function(t){return this._bindingWhenSyntax.whenAnyAncestorNamed(t)},t.prototype.whenAnyAncestorTagged=function(t,n){return this._bindingWhenSyntax.whenAnyAncestorTagged(t,n)},t.prototype.whenNoAncestorNamed=function(t){return this._bindingWhenSyntax.whenNoAncestorNamed(t)},t.prototype.whenNoAncestorTagged=function(t,n){return this._bindingWhenSyntax.whenNoAncestorTagged(t,n)},t.prototype.whenAnyAncestorMatches=function(t){return this._bindingWhenSyntax.whenAnyAncestorMatches(t)},t.prototype.whenNoAncestorMatches=function(t){return this._bindingWhenSyntax.whenNoAncestorMatches(t)},t.prototype.onActivation=function(t){return this._bindingOnSyntax.onActivation(t)},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=o},{"./binding_in_syntax":28,"./binding_on_syntax":30,"./binding_when_syntax":33}],30:[function(t,n,e){"use strict";var i=t("./binding_when_syntax"),r=function(){function t(t){this._binding=t}return t.prototype.onActivation=function(t){return this._binding.onActivation=t,new i["default"](this._binding)},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},{"./binding_when_syntax":33}],31:[function(t,n,e){"use strict";var i=t("./binding_in_when_on_syntax"),r=t("./binding_when_on_syntax"),a=t("../bindings/binding_type"),o=function(){function t(t){this._binding=t}return t.prototype.to=function(t){return this._binding.type=a["default"].Instance,this._binding.implementationType=t,new i["default"](this._binding)},t.prototype.toConstantValue=function(t){return this._binding.type=a["default"].ConstantValue,this._binding.cache=t,this._binding.dynamicValue=null,this._binding.implementationType=null,new r["default"](this._binding)},t.prototype.toDynamicValue=function(t){return this._binding.type=a["default"].DynamicValue,this._binding.cache=null,this._binding.dynamicValue=t,this._binding.implementationType=null,new r["default"](this._binding)},t.prototype.toConstructor=function(t){return this._binding.type=a["default"].Constructor,this._binding.implementationType=t,new r["default"](this._binding)},t.prototype.toFactory=function(t){return this._binding.type=a["default"].Factory,this._binding.factory=t,new r["default"](this._binding)},t.prototype.toAutoFactory=function(t){return this._binding.type=a["default"].Factory,this._binding.factory=function(n){return function(){return n.kernel.get(t)}},new r["default"](this._binding)},t.prototype.toProvider=function(t){return this._binding.type=a["default"].Provider,this._binding.provider=t,new r["default"](this._binding)},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=o},{"../bindings/binding_type":12,"./binding_in_when_on_syntax":29,"./binding_when_on_syntax":32}],32:[function(t,n,e){"use strict";var i=t("./binding_when_syntax"),r=t("./binding_on_syntax"),a=function(){function t(t){this._binding=t,this._bindingWhenSyntax=new i["default"](this._binding),this._bindingOnSyntax=new r["default"](this._binding)}return t.prototype.when=function(t){return this._bindingWhenSyntax.when(t)},t.prototype.whenTargetNamed=function(t){return this._bindingWhenSyntax.whenTargetNamed(t)},t.prototype.whenTargetTagged=function(t,n){return this._bindingWhenSyntax.whenTargetTagged(t,n)},t.prototype.whenInjectedInto=function(t){return this._bindingWhenSyntax.whenInjectedInto(t)},t.prototype.whenParentNamed=function(t){return this._bindingWhenSyntax.whenParentNamed(t)},t.prototype.whenParentTagged=function(t,n){return this._bindingWhenSyntax.whenParentTagged(t,n)},t.prototype.whenAnyAncestorIs=function(t){return this._bindingWhenSyntax.whenAnyAncestorIs(t)},t.prototype.whenNoAncestorIs=function(t){return this._bindingWhenSyntax.whenNoAncestorIs(t)},t.prototype.whenAnyAncestorNamed=function(t){return this._bindingWhenSyntax.whenAnyAncestorNamed(t)},t.prototype.whenAnyAncestorTagged=function(t,n){return this._bindingWhenSyntax.whenAnyAncestorTagged(t,n)},t.prototype.whenNoAncestorNamed=function(t){return this._bindingWhenSyntax.whenNoAncestorNamed(t)},t.prototype.whenNoAncestorTagged=function(t,n){return this._bindingWhenSyntax.whenNoAncestorTagged(t,n)},t.prototype.whenAnyAncestorMatches=function(t){return this._bindingWhenSyntax.whenAnyAncestorMatches(t)},t.prototype.whenNoAncestorMatches=function(t){return this._bindingWhenSyntax.whenNoAncestorMatches(t)},t.prototype.onActivation=function(t){return this._bindingOnSyntax.onActivation(t)},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=a},{"./binding_on_syntax":30,"./binding_when_syntax":33}],33:[function(t,n,e){"use strict";var i=t("./binding_on_syntax"),r=t("./constraint_helpers"),a=function(){function t(t){this._binding=t}return t.prototype.when=function(t){return this._binding.constraint=t,new i["default"](this._binding)},t.prototype.whenTargetNamed=function(t){return this._binding.constraint=r.namedConstraint(t),new i["default"](this._binding)},t.prototype.whenTargetTagged=function(t,n){return this._binding.constraint=r.taggedConstraint(t)(n),new i["default"](this._binding)},t.prototype.whenInjectedInto=function(t){return this._binding.constraint=function(n){return r.typeConstraint(t)(n.parentRequest)},new i["default"](this._binding)},t.prototype.whenParentNamed=function(t){return this._binding.constraint=function(n){return r.namedConstraint(t)(n.parentRequest)},new i["default"](this._binding)},t.prototype.whenParentTagged=function(t,n){return this._binding.constraint=function(e){return r.taggedConstraint(t)(n)(e.parentRequest)},new i["default"](this._binding)},t.prototype.whenAnyAncestorIs=function(t){return this._binding.constraint=function(n){return r.traverseAncerstors(n,r.typeConstraint(t))},new i["default"](this._binding)},t.prototype.whenNoAncestorIs=function(t){return this._binding.constraint=function(n){return!r.traverseAncerstors(n,r.typeConstraint(t))},new i["default"](this._binding)},t.prototype.whenAnyAncestorNamed=function(t){return this._binding.constraint=function(n){return r.traverseAncerstors(n,r.namedConstraint(t))},new i["default"](this._binding)},t.prototype.whenNoAncestorNamed=function(t){return this._binding.constraint=function(n){return!r.traverseAncerstors(n,r.namedConstraint(t))},new i["default"](this._binding)},t.prototype.whenAnyAncestorTagged=function(t,n){return this._binding.constraint=function(e){return r.traverseAncerstors(e,r.taggedConstraint(t)(n))},new i["default"](this._binding)},t.prototype.whenNoAncestorTagged=function(t,n){return this._binding.constraint=function(e){return!r.traverseAncerstors(e,r.taggedConstraint(t)(n))},new i["default"](this._binding)},t.prototype.whenAnyAncestorMatches=function(t){return this._binding.constraint=function(n){return r.traverseAncerstors(n,t)},new i["default"](this._binding)},t.prototype.whenNoAncestorMatches=function(t){return this._binding.constraint=function(n){return!r.traverseAncerstors(n,t)},new i["default"](this._binding)},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=a},{"./binding_on_syntax":30,"./constraint_helpers":34}],34:[function(t,n,e){"use strict";var i=t("../constants/metadata_keys"),r=function(t,n){var e=t.parentRequest;return null!==e?n(e)?!0:r(e,n):!1};e.traverseAncerstors=r;var a=function(t){return function(n){return function(e){return e.target.matchesTag(t)(n)}}};e.taggedConstraint=a;var o=a(i.NAMED_TAG);e.namedConstraint=o;var s=function(t){return function(n){var e=n.bindings[0];if("string"==typeof t){var i=e.serviceIdentifier;return i===t}var r=n.bindings[0].implementationType;return t===r}};e.typeConstraint=s},{"../constants/metadata_keys":14}]},{},[15])(15)});
!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n;n="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,n.inversify=t()}}(function(){return function t(n,e,i){function r(o,s){if(!e[o]){if(!n[o]){var u="function"==typeof require&&require;if(!s&&u)return u(o,!0);if(a)return a(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var d=e[o]={exports:{}};n[o][0].call(d.exports,function(t){var e=n[o][1][t];return r(e?e:t)},d,d.exports,t,n,e,i)}return e[o].exports}for(var a="function"==typeof require&&require,o=0;o<i.length;o++)r(i[o]);return r}({1:[function(t,n,e){"use strict";function i(t,n,e,i){var r=c.TAGGED;return a(r,t,n,i,e)}function r(t,n,e){var i=c.TAGGED_PROP;return a(i,t.constructor,n,e)}function a(t,n,e,i,r){var a=null,o="number"==typeof r,s=o?r.toString():e;if(o===!0&&void 0!==e)throw new Error(d.INVALID_DECORATOR_OPERATION);a=Reflect.hasOwnMetadata(t,n)!==!0?{}:Reflect.getMetadata(t,n);var u=a[s];if(Array.isArray(u)!==!0)u=[];else for(var c=0;c<u.length;c++){var f=u[c];if(f.key===i.key)throw new Error(d.DUPLICATED_METADATA+" "+f.key)}return u.push(i),a[s]=u,Reflect.defineMetadata(t,a,n),n}function o(t,n){Reflect.decorate(t,n)}function s(t,n){return function(e,i){n(e,i,t)}}function u(t,n,e){"number"==typeof e?o([s(e,t)],n):o([t],n)}var c=t("../constants/metadata_keys"),d=t("../constants/error_msgs");e.tagParameter=i,e.tagProperty=r,e.decorate=u},{"../constants/error_msgs":13,"../constants/metadata_keys":14}],2:[function(t,n,e){"use strict";function i(t){return function(n,e,i){var s=new r["default"](o.INJECT_TAG,t);return a.tagParameter(n,e,i,s)}}var r=t("../planning/metadata"),a=t("./decorator_utils"),o=t("../constants/metadata_keys");Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{"../constants/metadata_keys":14,"../planning/metadata":21,"./decorator_utils":1}],3:[function(t,n,e){"use strict";function i(){return function(t){if(Reflect.hasOwnMetadata(r.PARAM_TYPES,t)===!0)throw new Error(a.DUPLICATED_INJECTABLE_DECORATOR);var n=Reflect.getMetadata(r.DESIGN_PARAM_TYPES,t)||[];return Reflect.defineMetadata(r.PARAM_TYPES,n,t),t}}var r=t("../constants/metadata_keys"),a=t("../constants/error_msgs");Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{"../constants/error_msgs":13,"../constants/metadata_keys":14}],4:[function(t,n,e){"use strict";function i(t){return function(n,e,i){var s=new r["default"](o.MULTI_INJECT_TAG,t);return a.tagParameter(n,e,i,s)}}var r=t("../planning/metadata"),a=t("./decorator_utils"),o=t("../constants/metadata_keys");Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{"../constants/metadata_keys":14,"../planning/metadata":21,"./decorator_utils":1}],5:[function(t,n,e){"use strict";function i(t){return function(n,e,i){var s=new r["default"](o.NAMED_TAG,t);return"number"==typeof i?a.tagParameter(n,e,i,s):a.tagProperty(n,e,s)}}var r=t("../planning/metadata"),a=t("./decorator_utils"),o=t("../constants/metadata_keys");Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{"../constants/metadata_keys":14,"../planning/metadata":21,"./decorator_utils":1}],6:[function(t,n,e){"use strict";function i(t,n,e){function i(){return Reflect.hasMetadata(u,this,n)||Reflect.defineMetadata(u,e(),this,n),Reflect.getMetadata(u,this,n)}function r(t){Reflect.defineMetadata(u,t,this,n)}Object.defineProperty(t,n,{configurable:!0,enumerable:!0,get:i,set:r})}function r(t){return function(n){return function(e,r){var a=function(){return t.get(n)};i(e,r,a)}}}function a(t){return function(n,e){return function(r,a){var o=function(){return t.getNamed(n,e)};i(r,a,o)}}}function o(t){return function(n,e,r){return function(a,o){var s=function(){return t.getTagged(n,e,r)};i(a,o,s)}}}function s(t){return function(n){return function(e,r){var a=function(){return t.getAll(n)};i(e,r,a)}}}var u=Symbol();e.makePropertyInjectDecorator=r,e.makePropertyInjectNamedDecorator=a,e.makePropertyInjectTaggedDecorator=o,e.makePropertyMultiInjectDecorator=s},{}],7:[function(t,n,e){"use strict";function i(t,n){return function(e,i,o){var s=new r["default"](t,n);return"number"==typeof o?a.tagParameter(e,i,o,s):a.tagProperty(e,i,s)}}var r=t("../planning/metadata"),a=t("./decorator_utils");Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{"../planning/metadata":21,"./decorator_utils":1}],8:[function(t,n,e){"use strict";function i(t){return function(n,e,i){var s=new r["default"](o.NAME_TAG,t);return a.tagParameter(n,e,i,s)}}var r=t("../planning/metadata"),a=t("./decorator_utils"),o=t("../constants/metadata_keys");Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{"../constants/metadata_keys":14,"../planning/metadata":21,"./decorator_utils":1}],9:[function(t,n,e){"use strict";var i=t("./binding_scope"),r=t("./binding_type"),a=function(){function t(t){this.activated=!1,this.serviceIdentifier=t,this.scope=i["default"].Transient,this.type=r["default"].Invalid,this.constraint=function(t){return!0},this.implementationType=null,this.cache=null,this.factory=null,this.provider=null,this.onActivation=null}return t.prototype.clone=function(){var n=new t(this.serviceIdentifier);return n.activated=!1,n.implementationType=this.implementationType,n.dynamicValue=this.dynamicValue,n.scope=this.scope,n.type=this.type,n.factory=this.factory,n.provider=this.provider,n.constraint=this.constraint,n.onActivation=this.onActivation,n.cache=this.cache,n},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=a},{"./binding_scope":11,"./binding_type":12}],10:[function(t,n,e){"use strict";var i;!function(t){t[t.NoBindingsAvailable=0]="NoBindingsAvailable",t[t.OnlyOneBindingAvailable=1]="OnlyOneBindingAvailable",t[t.MultipleBindingsAvailable=2]="MultipleBindingsAvailable"}(i||(i={})),Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{}],11:[function(t,n,e){"use strict";var i;!function(t){t[t.Transient=0]="Transient",t[t.Singleton=1]="Singleton"}(i||(i={})),Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{}],12:[function(t,n,e){"use strict";var i;!function(t){t[t.Invalid=0]="Invalid",t[t.Instance=1]="Instance",t[t.ConstantValue=2]="ConstantValue",t[t.DynamicValue=3]="DynamicValue",t[t.Constructor=4]="Constructor",t[t.Factory=5]="Factory",t[t.Provider=6]="Provider"}(i||(i={})),Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{}],13:[function(t,n,e){"use strict";e.DUPLICATED_INJECTABLE_DECORATOR="Cannot apply @injectable decorator multiple times.",e.DUPLICATED_METADATA="Metadadata key was used more than once in a parameter:",e.NULL_ARGUMENT="NULL argument",e.KEY_NOT_FOUND="Key Not Found",e.AMBIGUOUS_MATCH="Ambiguous match found for serviceIdentifier:",e.CANNOT_UNBIND="Could not unbind serviceIdentifier:",e.NOT_REGISTERED="No bindings found for serviceIdentifier:",e.MISSING_INJECTABLE_ANNOTATION="Missing required @injectable annotation in:",e.MISSING_INJECT_ANNOTATION="Missing required @inject or @multiInject annotation in:",e.CIRCULAR_DEPENDENCY="Circular dependency found between services:",e.NOT_IMPLEMENTED="Sorry, this feature is not fully implemented yet.",e.INVALID_BINDING_TYPE="Invalid binding type:",e.MISSING_EXPLICIT_CONSTRUCTOR="Derived class must explicitly declare its constructor:",e.INVALID_DECORATOR_OPERATION="The @inject @multiInject @tagged and @named decorators must be applied to the parameters of a class constructor or a class property.",e.NO_MORE_SNAPSHOTS_AVAILABLE="No snapshot available to restore."},{}],14:[function(t,n,e){"use strict";e.NAMED_TAG="named",e.NAME_TAG="name",e.INJECT_TAG="inject",e.MULTI_INJECT_TAG="multi_inject",e.TAGGED="inversify:tagged",e.TAGGED_PROP="inversify:tagged_props",e.PARAM_TYPES="inversify:paramtypes",e.DESIGN_PARAM_TYPES="design:paramtypes"},{}],15:[function(t,n,e){"use strict";var i=t("./kernel/kernel");e.Kernel=i["default"];var r=t("./annotation/injectable");e.injectable=r["default"];var a=t("./annotation/tagged");e.tagged=a["default"];var o=t("./annotation/named");e.named=o["default"];var s=t("./annotation/inject");e.inject=s["default"];var u=t("./annotation/property_injectors");e.makePropertyInjectDecorator=u.makePropertyInjectDecorator,e.makePropertyMultiInjectDecorator=u.makePropertyMultiInjectDecorator;var c=t("./annotation/multi_inject");e.multiInject=c["default"];var d=t("./annotation/target_name");e.targetName=d["default"];var f=t("./annotation/decorator_utils");e.decorate=f.decorate;var l=t("./syntax/constraint_helpers");e.traverseAncerstors=l.traverseAncerstors,e.taggedConstraint=l.taggedConstraint,e.namedConstraint=l.namedConstraint,e.typeConstraint=l.typeConstraint},{"./annotation/decorator_utils":1,"./annotation/inject":2,"./annotation/injectable":3,"./annotation/multi_inject":4,"./annotation/named":5,"./annotation/property_injectors":6,"./annotation/tagged":7,"./annotation/target_name":8,"./kernel/kernel":16,"./syntax/constraint_helpers":34}],16:[function(t,n,e){"use strict";var i=t("../bindings/binding_count"),r=t("../bindings/binding"),a=t("./lookup"),o=t("../planning/planner"),s=t("../resolution/resolver"),u=t("../constants/error_msgs"),c=t("../constants/metadata_keys"),d=t("../syntax/binding_to_syntax"),f=t("../planning/metadata"),l=t("../planning/target"),h=t("../planning/request"),p=t("./kernel_snapshot"),_=function(){function t(){this._planner=new o["default"],this._resolver=new s["default"],this._bindingDictionary=new a["default"],this._middleware=null,this._snapshots=[]}return t.prototype.load=function(){for(var t=this,n=[],e=0;e<arguments.length;e++)n[e-0]=arguments[e];n.forEach(function(n){n(t)})},t.prototype.applyMiddleware=function(){for(var t=[],n=0;n<arguments.length;n++)t[n-0]=arguments[n];this._middleware=t.reverse().reduce(function(t,n){return n(t)},this._resolver.resolve.bind(this._resolver))},t.prototype.bind=function(t){var n=new r["default"](t);return this._bindingDictionary.add(t,n),new d["default"](n)},t.prototype.unbind=function(t){try{this._bindingDictionary.remove(t)}catch(n){throw new Error(u.CANNOT_UNBIND+" "+t)}},t.prototype.unbindAll=function(){this._bindingDictionary=new a["default"]},t.prototype.get=function(t){return this._get(t,null)},t.prototype.getNamed=function(t,n){return this.getTagged(t,c.NAMED_TAG,n)},t.prototype.getTagged=function(t,n,e){var i=new f["default"](n,e),r=new l["default"](null,t,i);return this._get(t,r)},t.prototype.getAll=function(t){var n=this,e=this._planner.getBindings(this,t);switch(e.length){case i["default"].NoBindingsAvailable:throw new Error(u.NOT_REGISTERED+" "+t);case i["default"].OnlyOneBindingAvailable:case i["default"].MultipleBindingsAvailable:default:return e.map(function(t){return n._planAndResolve(t,null)})}},t.prototype.getServiceIdentifierAsString=function(t){var n=typeof t;if("function"===n){var e=t;return e.name}if("symbol"===n)return t.toString();var e=t;return e},t.prototype.snapshot=function(){this._snapshots.push(p["default"].of(this._bindingDictionary.clone(),this._middleware))},t.prototype.restore=function(){if(0===this._snapshots.length)throw new Error(u.NO_MORE_SNAPSHOTS_AVAILABLE);var t=this._snapshots.pop();this._bindingDictionary=t.bindings,this._middleware=t.middleware},t.prototype._get=function(t,n){var e=this._planner.getBindings(this,t);if(null!==n){var r=new h["default"](t,this._planner.createContext(this),null,e,n);e=this._planner.getActiveBindings(r,n)}if(e.length===i["default"].NoBindingsAvailable)throw new Error(u.NOT_REGISTERED+" "+t);if(e.length===i["default"].OnlyOneBindingAvailable)return this._planAndResolve(e[0],n);throw new Error(u.AMBIGUOUS_MATCH+" "+t)},t.prototype._planAndResolve=function(t,n){var e=this._planner.createContext(this);return this._planner.createPlan(e,t,n),null!==this._middleware?this._middleware(e):this._resolver.resolve(e)},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=_},{"../bindings/binding":9,"../bindings/binding_count":10,"../constants/error_msgs":13,"../constants/metadata_keys":14,"../planning/metadata":21,"../planning/planner":23,"../planning/request":25,"../planning/target":26,"../resolution/resolver":27,"../syntax/binding_to_syntax":31,"./kernel_snapshot":17,"./lookup":19}],17:[function(t,n,e){"use strict";var i=function(){function t(){}return t.of=function(n,e){var i=new t;return i.bindings=n,i.middleware=e,i},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{}],18:[function(t,n,e){"use strict";var i=function(){function t(t,n){this.serviceIdentifier=t,this.value=new Array,this.value.push(n)}return t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{}],19:[function(t,n,e){"use strict";var i=t("./key_value_pair"),r=t("../constants/error_msgs"),a=function(){function t(){this._dictionary=[]}return t.prototype.add=function(t,n){if(null===t||void 0===t)throw new Error(r.NULL_ARGUMENT);if(null===n||void 0===n)throw new Error(r.NULL_ARGUMENT);var e=this.getIndexByKey(t);-1!==e?this._dictionary[e].value.push(n):this._dictionary.push(new i["default"](t,n))},t.prototype.get=function(t){if(null===t||void 0===t)throw new Error(r.NULL_ARGUMENT);var n=this.getIndexByKey(t);if(-1!==n)return this._dictionary[n].value;throw new Error(r.KEY_NOT_FOUND)},t.prototype.remove=function(t){if(null===t||void 0===t)throw new Error(r.NULL_ARGUMENT);var n=this.getIndexByKey(t);if(-1===n)throw new Error(r.KEY_NOT_FOUND);this._dictionary.splice(n,1)},t.prototype.hasKey=function(t){if(null===t||void 0===t)throw new Error(r.NULL_ARGUMENT);var n=this.getIndexByKey(t);return-1!==n},t.prototype.clone=function(){for(var n=new t,e=0,i=this._dictionary;e<i.length;e++)for(var r=i[e],a=0,o=r.value;a<o.length;a++){var s=o[a];n.add(r.serviceIdentifier,s.clone())}return n},t.prototype.getIndexByKey=function(t){for(var n=-1,e=0;e<this._dictionary.length;e++){var i=this._dictionary[e];i.serviceIdentifier===t&&(n=e)}return n},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=a},{"../constants/error_msgs":13,"./key_value_pair":18}],20:[function(t,n,e){"use strict";var i=function(){function t(t){this.kernel=t}return t.prototype.addPlan=function(t){this.plan=t},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{}],21:[function(t,n,e){"use strict";var i=function(){function t(t,n){this.key=t,this.value=n}return t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{}],22:[function(t,n,e){"use strict";var i=function(){function t(t,n){this.parentContext=t,this.rootRequest=n}return t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{}],23:[function(t,n,e){"use strict";var i=t("./plan"),r=t("./context"),a=t("./request"),o=t("./target"),s=t("../constants/metadata_keys"),u=t("../constants/error_msgs"),c=t("../bindings/binding_type"),d=function(){function t(){}return t.prototype.createContext=function(t){return new r["default"](t)},t.prototype.createPlan=function(t,n,e){var r=this,o=new a["default"](n.serviceIdentifier,t,null,n,e),s=new i["default"](t,o);t.addPlan(s);var u=this._getDependencies(n.implementationType);return u.forEach(function(t){r._createSubRequest(o,t)}),s},t.prototype.getBindings=function(t,n){var e=[],i=t,r=i._bindingDictionary;return r.hasKey(n)&&(e=r.get(n)),e},t.prototype.getActiveBindings=function(t,n){var e=this.getBindings(t.parentContext.kernel,n.serviceIdentifier),i=[];return i=e.length>1&&n.isArray()===!1?e.filter(function(e){var i=new a["default"](e.serviceIdentifier,t.parentContext,t,e,n);return e.constraint(i)}):e},t.prototype._createSubRequest=function(t,n){try{var e=this.getActiveBindings(t,n);if(0===e.length){var i=t.parentContext.kernel.getServiceIdentifierAsString(n.serviceIdentifier);throw new Error(u.NOT_REGISTERED+" "+i)}if(e.length>1&&n.isArray()===!1){var i=t.parentContext.kernel.getServiceIdentifierAsString(n.serviceIdentifier);throw new Error(u.AMBIGUOUS_MATCH+" "+i)}this._createChildRequest(t,n,e)}catch(r){if(!(r instanceof RangeError))throw new Error(r.message);this._throwWhenCircularDependenciesFound(t.parentContext.plan.rootRequest)}},t.prototype._createChildRequest=function(t,n,e){var i=this,r=t.addChildRequest(n.serviceIdentifier,e,n),a=r;e.forEach(function(t){if(n.isArray()&&(a=r.addChildRequest(t.serviceIdentifier,t,n)),t.type===c["default"].Instance){var e=i._getDependencies(t.implementationType);e.forEach(function(t,n){i._createSubRequest(a,t)})}})},t.prototype._throwWhenCircularDependenciesFound=function(t,n){var e=this;void 0===n&&(n=[]),n.push(t.serviceIdentifier),t.childRequests.forEach(function(i){var r=i.serviceIdentifier;if(-1!==n.indexOf(r)){var a=t.parentContext.kernel.getServiceIdentifierAsString(t.serviceIdentifier);throw new Error(u.CIRCULAR_DEPENDENCY+" "+r+" and "+a)}i.childRequests.length>0?e._throwWhenCircularDependenciesFound(i,n):n.push(r)})},t.prototype._getDependencies=function(t){if(null===t)return[];var n=t.name,e=Reflect.getMetadata(s.PARAM_TYPES,t);if(void 0===e){var i=u.MISSING_INJECTABLE_ANNOTATION+" "+n+".";throw new Error(i)}for(var r=Reflect.getMetadata(s.TAGGED,t)||[],a=[],c=function(t){var i=e[t],c=r[t.toString()]||[],d={};c.forEach(function(t){d[t.key.toString()]=t.value});var f=d[s.INJECT_TAG],l=d[s.MULTI_INJECT_TAG],h=d[s.NAME_TAG];if(i=f||l?f||l:i,i===Object||i===Function||void 0===i){var p=u.MISSING_INJECT_ANNOTATION+" argument "+t+" in class "+n+".";throw new Error(p)}var _=new o["default"](h,i);_.metadata=c,a.push(_)},d=0;d<t.length;d++)c(d);if(0===a.length&&this._baseClassHasDepencencies(t))throw new Error(u.MISSING_EXPLICIT_CONSTRUCTOR+" "+n+".");return a},t.prototype._baseClassHasDepencencies=function(t){var n=Object.getPrototypeOf(t.prototype).constructor;if(n!==Object){var e=Reflect.getMetadata(s.PARAM_TYPES,n);return n.length>0&&e?!0:this._baseClassHasDepencencies(n)}return!1},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=d},{"../bindings/binding_type":12,"../constants/error_msgs":13,"../constants/metadata_keys":14,"./context":20,"./plan":22,"./request":25,"./target":26}],24:[function(t,n,e){"use strict";var i=function(){function t(t){this.str=t}return t.prototype.startsWith=function(t){return 0===this.str.indexOf(t)},t.prototype.endsWith=function(t){var n="",e=t.split("").reverse().join("");return n=this.str.split("").reverse().join(""),this.startsWith.call({str:n},e)},t.prototype.contains=function(t){return-1!==this.str.indexOf(t)},t.prototype.equals=function(t){return this.str===t},t.prototype.value=function(){return this.str},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{}],25:[function(t,n,e){"use strict";var i=function(){function t(t,n,e,i,r){void 0===r&&(r=null),this.serviceIdentifier=t,this.parentContext=n,this.parentRequest=e,this.target=r,this.childRequests=[],this.bindings=Array.isArray(i)?i:i?[i]:[]}return t.prototype.addChildRequest=function(n,e,i){var r=new t(n,this.parentContext,this,e,i);return this.childRequests.push(r),r},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i},{}],26:[function(t,n,e){"use strict";var i=t("../planning/metadata"),r=t("./queryable_string"),a=t("../constants/metadata_keys"),o=function(){function t(t,n,e){this.serviceIdentifier=n,this.name=new r["default"](t||""),this.metadata=new Array;var o=null;"string"==typeof e?o=new i["default"](a.NAMED_TAG,e):e instanceof i["default"]&&(o=e),null!==o&&this.metadata.push(o)}return t.prototype.hasTag=function(t){for(var n=0;n<this.metadata.length;n++){var e=this.metadata[n];if(e.key===t)return!0}return!1},t.prototype.isArray=function(){return this.hasTag(a.MULTI_INJECT_TAG)},t.prototype.matchesArray=function(t){return this.matchesTag(a.MULTI_INJECT_TAG)(t)},t.prototype.isNamed=function(){return this.hasTag(a.NAMED_TAG)},t.prototype.isTagged=function(){return this.metadata.length>1?!0:1===this.metadata.length?!this.hasTag(a.NAMED_TAG):!1},t.prototype.matchesNamedTag=function(t){return this.matchesTag(a.NAMED_TAG)(t)},t.prototype.matchesTag=function(t){var n=this;return function(e){for(var i=0;i<n.metadata.length;i++){var r=n.metadata[i];if(r.key===t&&r.value===e)return!0}return!1}},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=o},{"../constants/metadata_keys":14,"../planning/metadata":21,"./queryable_string":24}],27:[function(t,n,e){"use strict";var i=t("../bindings/binding_scope"),r=t("../bindings/binding_type"),a=t("../constants/error_msgs"),o=function(){function t(){}return t.prototype.resolve=function(t){var n=t.plan.rootRequest;return this._resolve(n)},t.prototype._resolve=function(t){var n=this,e=t.bindings,o=t.childRequests;if(!t.target||!t.target.isArray()||t.parentRequest.target&&t.parentRequest.target.matchesArray(t.target.serviceIdentifier)){var s=null,u=e[0],c=u.scope===i["default"].Singleton;if(c&&u.activated===!0)return u.cache;switch(u.type){case r["default"].ConstantValue:s=u.cache;break;case r["default"].DynamicValue:s=u.dynamicValue();break;case r["default"].Constructor:s=u.implementationType;break;case r["default"].Factory:s=u.factory(t.parentContext);break;case r["default"].Provider:s=u.provider(t.parentContext);break;case r["default"].Instance:var d=u.implementationType;if(o.length>0){var f=o.map(function(t){return n._resolve(t)});s=this._createInstance(d,f)}else s=new d;break;case r["default"].Invalid:default:var l=t.parentContext.kernel.getServiceIdentifierAsString(t.serviceIdentifier);throw new Error(a.INVALID_BINDING_TYPE+" "+l)}return"function"==typeof u.onActivation&&(s=u.onActivation(t.parentContext,s)),c&&(u.cache=s,u.activated=!0),s}return o.map(function(t){return n._resolve(t)})},t.prototype._createInstance=function(t,n){return new(t.bind.apply(t,[void 0].concat(n)))},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=o},{"../bindings/binding_scope":11,"../bindings/binding_type":12,"../constants/error_msgs":13}],28:[function(t,n,e){"use strict";var i=t("../bindings/binding_scope"),r=t("./binding_when_on_syntax"),a=function(){function t(t){this._binding=t}return t.prototype.inSingletonScope=function(){return this._binding.scope=i["default"].Singleton,new r["default"](this._binding)},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=a},{"../bindings/binding_scope":11,"./binding_when_on_syntax":32}],29:[function(t,n,e){"use strict";var i=t("./binding_in_syntax"),r=t("./binding_when_syntax"),a=t("./binding_on_syntax"),o=function(){function t(t){this._binding=t,this._bindingWhenSyntax=new r["default"](this._binding),this._bindingOnSyntax=new a["default"](this._binding),this._bindingInSyntax=new i["default"](t)}return t.prototype.inSingletonScope=function(){return this._bindingInSyntax.inSingletonScope()},t.prototype.when=function(t){return this._bindingWhenSyntax.when(t)},t.prototype.whenTargetNamed=function(t){return this._bindingWhenSyntax.whenTargetNamed(t)},t.prototype.whenTargetTagged=function(t,n){return this._bindingWhenSyntax.whenTargetTagged(t,n)},t.prototype.whenInjectedInto=function(t){return this._bindingWhenSyntax.whenInjectedInto(t)},t.prototype.whenParentNamed=function(t){return this._bindingWhenSyntax.whenParentNamed(t)},t.prototype.whenParentTagged=function(t,n){return this._bindingWhenSyntax.whenParentTagged(t,n)},t.prototype.whenAnyAncestorIs=function(t){return this._bindingWhenSyntax.whenAnyAncestorIs(t)},t.prototype.whenNoAncestorIs=function(t){return this._bindingWhenSyntax.whenNoAncestorIs(t)},t.prototype.whenAnyAncestorNamed=function(t){return this._bindingWhenSyntax.whenAnyAncestorNamed(t)},t.prototype.whenAnyAncestorTagged=function(t,n){return this._bindingWhenSyntax.whenAnyAncestorTagged(t,n)},t.prototype.whenNoAncestorNamed=function(t){return this._bindingWhenSyntax.whenNoAncestorNamed(t)},t.prototype.whenNoAncestorTagged=function(t,n){return this._bindingWhenSyntax.whenNoAncestorTagged(t,n)},t.prototype.whenAnyAncestorMatches=function(t){return this._bindingWhenSyntax.whenAnyAncestorMatches(t)},t.prototype.whenNoAncestorMatches=function(t){return this._bindingWhenSyntax.whenNoAncestorMatches(t)},t.prototype.onActivation=function(t){return this._bindingOnSyntax.onActivation(t)},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=o},{"./binding_in_syntax":28,"./binding_on_syntax":30,"./binding_when_syntax":33}],30:[function(t,n,e){"use strict";var i=t("./binding_when_syntax"),r=function(){function t(t){this._binding=t}return t.prototype.onActivation=function(t){return this._binding.onActivation=t,new i["default"](this._binding)},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=r},{"./binding_when_syntax":33}],31:[function(t,n,e){"use strict";var i=t("./binding_in_when_on_syntax"),r=t("./binding_when_on_syntax"),a=t("../bindings/binding_type"),o=function(){function t(t){this._binding=t}return t.prototype.to=function(t){return this._binding.type=a["default"].Instance,this._binding.implementationType=t,new i["default"](this._binding)},t.prototype.toConstantValue=function(t){return this._binding.type=a["default"].ConstantValue,this._binding.cache=t,this._binding.dynamicValue=null,this._binding.implementationType=null,new r["default"](this._binding)},t.prototype.toDynamicValue=function(t){return this._binding.type=a["default"].DynamicValue,this._binding.cache=null,this._binding.dynamicValue=t,this._binding.implementationType=null,new r["default"](this._binding)},t.prototype.toConstructor=function(t){return this._binding.type=a["default"].Constructor,this._binding.implementationType=t,new r["default"](this._binding)},t.prototype.toFactory=function(t){return this._binding.type=a["default"].Factory,this._binding.factory=t,new r["default"](this._binding)},t.prototype.toAutoFactory=function(t){return this._binding.type=a["default"].Factory,this._binding.factory=function(n){return function(){return n.kernel.get(t)}},new r["default"](this._binding)},t.prototype.toProvider=function(t){return this._binding.type=a["default"].Provider,this._binding.provider=t,new r["default"](this._binding)},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=o},{"../bindings/binding_type":12,"./binding_in_when_on_syntax":29,"./binding_when_on_syntax":32}],32:[function(t,n,e){"use strict";var i=t("./binding_when_syntax"),r=t("./binding_on_syntax"),a=function(){function t(t){this._binding=t,this._bindingWhenSyntax=new i["default"](this._binding),this._bindingOnSyntax=new r["default"](this._binding)}return t.prototype.when=function(t){return this._bindingWhenSyntax.when(t)},t.prototype.whenTargetNamed=function(t){return this._bindingWhenSyntax.whenTargetNamed(t)},t.prototype.whenTargetTagged=function(t,n){return this._bindingWhenSyntax.whenTargetTagged(t,n)},t.prototype.whenInjectedInto=function(t){return this._bindingWhenSyntax.whenInjectedInto(t)},t.prototype.whenParentNamed=function(t){return this._bindingWhenSyntax.whenParentNamed(t)},t.prototype.whenParentTagged=function(t,n){return this._bindingWhenSyntax.whenParentTagged(t,n)},t.prototype.whenAnyAncestorIs=function(t){return this._bindingWhenSyntax.whenAnyAncestorIs(t)},t.prototype.whenNoAncestorIs=function(t){return this._bindingWhenSyntax.whenNoAncestorIs(t)},t.prototype.whenAnyAncestorNamed=function(t){return this._bindingWhenSyntax.whenAnyAncestorNamed(t)},t.prototype.whenAnyAncestorTagged=function(t,n){return this._bindingWhenSyntax.whenAnyAncestorTagged(t,n)},t.prototype.whenNoAncestorNamed=function(t){return this._bindingWhenSyntax.whenNoAncestorNamed(t)},t.prototype.whenNoAncestorTagged=function(t,n){return this._bindingWhenSyntax.whenNoAncestorTagged(t,n)},t.prototype.whenAnyAncestorMatches=function(t){return this._bindingWhenSyntax.whenAnyAncestorMatches(t)},t.prototype.whenNoAncestorMatches=function(t){return this._bindingWhenSyntax.whenNoAncestorMatches(t)},t.prototype.onActivation=function(t){return this._bindingOnSyntax.onActivation(t)},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=a},{"./binding_on_syntax":30,"./binding_when_syntax":33}],33:[function(t,n,e){"use strict";var i=t("./binding_on_syntax"),r=t("./constraint_helpers"),a=function(){function t(t){this._binding=t}return t.prototype.when=function(t){return this._binding.constraint=t,new i["default"](this._binding)},t.prototype.whenTargetNamed=function(t){return this._binding.constraint=r.namedConstraint(t),new i["default"](this._binding)},t.prototype.whenTargetTagged=function(t,n){return this._binding.constraint=r.taggedConstraint(t)(n),new i["default"](this._binding)},t.prototype.whenInjectedInto=function(t){return this._binding.constraint=function(n){return r.typeConstraint(t)(n.parentRequest)},new i["default"](this._binding)},t.prototype.whenParentNamed=function(t){return this._binding.constraint=function(n){return r.namedConstraint(t)(n.parentRequest)},new i["default"](this._binding)},t.prototype.whenParentTagged=function(t,n){return this._binding.constraint=function(e){return r.taggedConstraint(t)(n)(e.parentRequest)},new i["default"](this._binding)},t.prototype.whenAnyAncestorIs=function(t){return this._binding.constraint=function(n){return r.traverseAncerstors(n,r.typeConstraint(t))},new i["default"](this._binding)},t.prototype.whenNoAncestorIs=function(t){return this._binding.constraint=function(n){return!r.traverseAncerstors(n,r.typeConstraint(t))},new i["default"](this._binding)},t.prototype.whenAnyAncestorNamed=function(t){return this._binding.constraint=function(n){return r.traverseAncerstors(n,r.namedConstraint(t))},new i["default"](this._binding)},t.prototype.whenNoAncestorNamed=function(t){return this._binding.constraint=function(n){return!r.traverseAncerstors(n,r.namedConstraint(t))},new i["default"](this._binding)},t.prototype.whenAnyAncestorTagged=function(t,n){return this._binding.constraint=function(e){return r.traverseAncerstors(e,r.taggedConstraint(t)(n))},new i["default"](this._binding)},t.prototype.whenNoAncestorTagged=function(t,n){return this._binding.constraint=function(e){return!r.traverseAncerstors(e,r.taggedConstraint(t)(n))},new i["default"](this._binding)},t.prototype.whenAnyAncestorMatches=function(t){return this._binding.constraint=function(n){return r.traverseAncerstors(n,t)},new i["default"](this._binding)},t.prototype.whenNoAncestorMatches=function(t){return this._binding.constraint=function(n){return!r.traverseAncerstors(n,t)},new i["default"](this._binding)},t}();Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=a},{"./binding_on_syntax":30,"./constraint_helpers":34}],34:[function(t,n,e){"use strict";var i=t("../constants/metadata_keys"),r=function(t,n){var e=t.parentRequest;return null!==e?n(e)?!0:r(e,n):!1};e.traverseAncerstors=r;var a=function(t){return function(n){return function(e){return e.target.matchesTag(t)(n)}}};e.taggedConstraint=a;var o=a(i.NAMED_TAG);e.namedConstraint=o;var s=function(t){return function(n){var e=n.bindings[0];if("string"==typeof t){var i=e.serviceIdentifier;return i===t}var r=n.bindings[0].implementationType;return t===r}};e.typeConstraint=s},{"../constants/metadata_keys":14}]},{},[15])(15)});
//# sourceMappingURL=inversify.min.js.map
/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -22,4 +22,18 @@ * MIT inversify.io/LICENSE

}
Binding.prototype.clone = function () {
var clone = new Binding(this.serviceIdentifier);
clone.activated = false;
clone.implementationType = this.implementationType;
clone.dynamicValue = this.dynamicValue;
clone.scope = this.scope;
clone.type = this.type;
clone.factory = this.factory;
clone.provider = this.provider;
clone.constraint = this.constraint;
clone.onActivation = this.onActivation;
clone.cache = this.cache;
return clone;
};
return Binding;
}());
export default Binding;
/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -72,3 +72,3 @@ * MIT inversify.io/LICENSE

var binding = _c[_b];
l.add(entry.serviceIdentifier, binding);
l.add(entry.serviceIdentifier, binding.clone());
}

@@ -75,0 +75,0 @@ }

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -23,2 +23,16 @@ * MIT inversify.io/LICENSE

}
Binding.prototype.clone = function () {
var clone = new Binding(this.serviceIdentifier);
clone.activated = false;
clone.implementationType = this.implementationType;
clone.dynamicValue = this.dynamicValue;
clone.scope = this.scope;
clone.type = this.type;
clone.factory = this.factory;
clone.provider = this.provider;
clone.constraint = this.constraint;
clone.onActivation = this.onActivation;
clone.cache = this.cache;
return clone;
};
return Binding;

@@ -25,0 +39,0 @@ }());

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -73,3 +73,3 @@ * MIT inversify.io/LICENSE

var binding = _c[_b];
l.add(entry.serviceIdentifier, binding);
l.add(entry.serviceIdentifier, binding.clone());
}

@@ -76,0 +76,0 @@ }

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

/**
* inversify v.2.0.0-beta.5 - A lightweight IoC container written in TypeScript.
* inversify v.2.0.0-beta.6 - A lightweight IoC container written in TypeScript.
* Copyright (c) 2015 Remo H. Jansen

@@ -4,0 +4,0 @@ * MIT inversify.io/LICENSE

{
"name": "inversify",
"version": "2.0.0-beta.5",
"version": "2.0.0-beta.6",
"description": "A lightweight IoC container written in TypeScript.",

@@ -58,3 +58,3 @@ "main": "lib/inversify.js",

"sinon": "^1.17.3",
"tsify": "^0.15.5",
"tsify": "^0.16.0",
"tslint": "^3.10.2",

@@ -61,0 +61,0 @@ "typescript": "^1.8.10",

@@ -54,3 +54,3 @@ # InversifyJS

```sh
npm install inversify@2.0.0-beta.5 inversify-dts reflect-metadata --save
npm install inversify@2.0.0-beta.6 inversify-dts reflect-metadata --save
```

@@ -1043,2 +1043,3 @@

- Property injection supports the `@named` and `@tagged` decorators.
- The function `Object.prototype.propertyIsEnumerable()` returns false for properties decorated with `@inject`. This is caused because the declared class property is replaced by a new instance property once the injection takes place. The `propertyIsEnumerable` function returns `false` for properties that return `false` for `hasOwnProperty`.

@@ -1045,0 +1046,0 @@ ```ts

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc