diff options
author | Minteck <contact@minteck.org> | 2021-12-21 16:52:28 +0100 |
---|---|---|
committer | Minteck <contact@minteck.org> | 2021-12-21 16:52:28 +0100 |
commit | 46e43f4bde4a35785b4997b81e86cd19f046b69b (patch) | |
tree | c53c2f826f777f9d6b2d249dab556feb72a6c3a6 /src/node_modules/inversify/es/syntax/binding_when_syntax.js | |
download | langdetect-46e43f4bde4a35785b4997b81e86cd19f046b69b.tar.gz langdetect-46e43f4bde4a35785b4997b81e86cd19f046b69b.tar.bz2 langdetect-46e43f4bde4a35785b4997b81e86cd19f046b69b.zip |
Commit
Diffstat (limited to 'src/node_modules/inversify/es/syntax/binding_when_syntax.js')
-rw-r--r-- | src/node_modules/inversify/es/syntax/binding_when_syntax.js | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/src/node_modules/inversify/es/syntax/binding_when_syntax.js b/src/node_modules/inversify/es/syntax/binding_when_syntax.js new file mode 100644 index 0000000..b45e728 --- /dev/null +++ b/src/node_modules/inversify/es/syntax/binding_when_syntax.js @@ -0,0 +1,96 @@ +import { BindingOnSyntax } from "./binding_on_syntax"; +import { namedConstraint, taggedConstraint, traverseAncerstors, typeConstraint } from "./constraint_helpers"; +var BindingWhenSyntax = (function () { + function BindingWhenSyntax(binding) { + this._binding = binding; + } + BindingWhenSyntax.prototype.when = function (constraint) { + this._binding.constraint = constraint; + return new BindingOnSyntax(this._binding); + }; + BindingWhenSyntax.prototype.whenTargetNamed = function (name) { + this._binding.constraint = namedConstraint(name); + return new BindingOnSyntax(this._binding); + }; + BindingWhenSyntax.prototype.whenTargetIsDefault = function () { + this._binding.constraint = function (request) { + var targetIsDefault = (request.target !== null) && + (!request.target.isNamed()) && + (!request.target.isTagged()); + return targetIsDefault; + }; + return new BindingOnSyntax(this._binding); + }; + BindingWhenSyntax.prototype.whenTargetTagged = function (tag, value) { + this._binding.constraint = taggedConstraint(tag)(value); + return new BindingOnSyntax(this._binding); + }; + BindingWhenSyntax.prototype.whenInjectedInto = function (parent) { + this._binding.constraint = function (request) { + return typeConstraint(parent)(request.parentRequest); + }; + return new BindingOnSyntax(this._binding); + }; + BindingWhenSyntax.prototype.whenParentNamed = function (name) { + this._binding.constraint = function (request) { + return namedConstraint(name)(request.parentRequest); + }; + return new BindingOnSyntax(this._binding); + }; + BindingWhenSyntax.prototype.whenParentTagged = function (tag, value) { + this._binding.constraint = function (request) { + return taggedConstraint(tag)(value)(request.parentRequest); + }; + return new BindingOnSyntax(this._binding); + }; + BindingWhenSyntax.prototype.whenAnyAncestorIs = function (ancestor) { + this._binding.constraint = function (request) { + return traverseAncerstors(request, typeConstraint(ancestor)); + }; + return new BindingOnSyntax(this._binding); + }; + BindingWhenSyntax.prototype.whenNoAncestorIs = function (ancestor) { + this._binding.constraint = function (request) { + return !traverseAncerstors(request, typeConstraint(ancestor)); + }; + return new BindingOnSyntax(this._binding); + }; + BindingWhenSyntax.prototype.whenAnyAncestorNamed = function (name) { + this._binding.constraint = function (request) { + return traverseAncerstors(request, namedConstraint(name)); + }; + return new BindingOnSyntax(this._binding); + }; + BindingWhenSyntax.prototype.whenNoAncestorNamed = function (name) { + this._binding.constraint = function (request) { + return !traverseAncerstors(request, namedConstraint(name)); + }; + return new BindingOnSyntax(this._binding); + }; + BindingWhenSyntax.prototype.whenAnyAncestorTagged = function (tag, value) { + this._binding.constraint = function (request) { + return traverseAncerstors(request, taggedConstraint(tag)(value)); + }; + return new BindingOnSyntax(this._binding); + }; + BindingWhenSyntax.prototype.whenNoAncestorTagged = function (tag, value) { + this._binding.constraint = function (request) { + return !traverseAncerstors(request, taggedConstraint(tag)(value)); + }; + return new BindingOnSyntax(this._binding); + }; + BindingWhenSyntax.prototype.whenAnyAncestorMatches = function (constraint) { + this._binding.constraint = function (request) { + return traverseAncerstors(request, constraint); + }; + return new BindingOnSyntax(this._binding); + }; + BindingWhenSyntax.prototype.whenNoAncestorMatches = function (constraint) { + this._binding.constraint = function (request) { + return !traverseAncerstors(request, constraint); + }; + return new BindingOnSyntax(this._binding); + }; + return BindingWhenSyntax; +}()); +export { BindingWhenSyntax }; |