summaryrefslogtreecommitdiff
path: root/src/node_modules/inversify/lib/syntax/binding_to_syntax.js
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2021-12-21 16:52:28 +0100
committerMinteck <contact@minteck.org>2021-12-21 16:52:28 +0100
commit46e43f4bde4a35785b4997b81e86cd19f046b69b (patch)
treec53c2f826f777f9d6b2d249dab556feb72a6c3a6 /src/node_modules/inversify/lib/syntax/binding_to_syntax.js
downloadlangdetect-46e43f4bde4a35785b4997b81e86cd19f046b69b.tar.gz
langdetect-46e43f4bde4a35785b4997b81e86cd19f046b69b.tar.bz2
langdetect-46e43f4bde4a35785b4997b81e86cd19f046b69b.zip
Commit
Diffstat (limited to 'src/node_modules/inversify/lib/syntax/binding_to_syntax.js')
-rw-r--r--src/node_modules/inversify/lib/syntax/binding_to_syntax.js73
1 files changed, 73 insertions, 0 deletions
diff --git a/src/node_modules/inversify/lib/syntax/binding_to_syntax.js b/src/node_modules/inversify/lib/syntax/binding_to_syntax.js
new file mode 100644
index 0000000..fd00a74
--- /dev/null
+++ b/src/node_modules/inversify/lib/syntax/binding_to_syntax.js
@@ -0,0 +1,73 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var ERROR_MSGS = require("../constants/error_msgs");
+var literal_types_1 = require("../constants/literal_types");
+var binding_in_when_on_syntax_1 = require("./binding_in_when_on_syntax");
+var binding_when_on_syntax_1 = require("./binding_when_on_syntax");
+var BindingToSyntax = (function () {
+ function BindingToSyntax(binding) {
+ this._binding = binding;
+ }
+ BindingToSyntax.prototype.to = function (constructor) {
+ this._binding.type = literal_types_1.BindingTypeEnum.Instance;
+ this._binding.implementationType = constructor;
+ return new binding_in_when_on_syntax_1.BindingInWhenOnSyntax(this._binding);
+ };
+ BindingToSyntax.prototype.toSelf = function () {
+ if (typeof this._binding.serviceIdentifier !== "function") {
+ throw new Error("" + ERROR_MSGS.INVALID_TO_SELF_VALUE);
+ }
+ var self = this._binding.serviceIdentifier;
+ return this.to(self);
+ };
+ BindingToSyntax.prototype.toConstantValue = function (value) {
+ this._binding.type = literal_types_1.BindingTypeEnum.ConstantValue;
+ this._binding.cache = value;
+ this._binding.dynamicValue = null;
+ this._binding.implementationType = null;
+ return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);
+ };
+ BindingToSyntax.prototype.toDynamicValue = function (func) {
+ this._binding.type = literal_types_1.BindingTypeEnum.DynamicValue;
+ this._binding.cache = null;
+ this._binding.dynamicValue = func;
+ this._binding.implementationType = null;
+ return new binding_in_when_on_syntax_1.BindingInWhenOnSyntax(this._binding);
+ };
+ BindingToSyntax.prototype.toConstructor = function (constructor) {
+ this._binding.type = literal_types_1.BindingTypeEnum.Constructor;
+ this._binding.implementationType = constructor;
+ return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);
+ };
+ BindingToSyntax.prototype.toFactory = function (factory) {
+ this._binding.type = literal_types_1.BindingTypeEnum.Factory;
+ this._binding.factory = factory;
+ return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);
+ };
+ BindingToSyntax.prototype.toFunction = function (func) {
+ if (typeof func !== "function") {
+ throw new Error(ERROR_MSGS.INVALID_FUNCTION_BINDING);
+ }
+ var bindingWhenOnSyntax = this.toConstantValue(func);
+ this._binding.type = literal_types_1.BindingTypeEnum.Function;
+ return bindingWhenOnSyntax;
+ };
+ BindingToSyntax.prototype.toAutoFactory = function (serviceIdentifier) {
+ this._binding.type = literal_types_1.BindingTypeEnum.Factory;
+ this._binding.factory = function (context) {
+ var autofactory = function () { return context.container.get(serviceIdentifier); };
+ return autofactory;
+ };
+ return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);
+ };
+ BindingToSyntax.prototype.toProvider = function (provider) {
+ this._binding.type = literal_types_1.BindingTypeEnum.Provider;
+ this._binding.provider = provider;
+ return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);
+ };
+ BindingToSyntax.prototype.toService = function (service) {
+ this.toDynamicValue(function (context) { return context.container.get(service); });
+ };
+ return BindingToSyntax;
+}());
+exports.BindingToSyntax = BindingToSyntax;