SB-6.1-PRE
This commit is contained in:
1 parent
690169a409
commit
358a25f522
3760 files changed
+300059
-36
No files matched your search
+18
@@ -0,0 +1,18 @@
|
||||
define(["require", "exports", "../utils/id"], function (require, exports, id_1) {
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var Context = (function () {
|
||||
function Context(container) {
|
||||
this.id = id_1.id();
|
||||
this.container = container;
|
||||
}
|
||||
Context.prototype.addPlan = function (plan) {
|
||||
this.plan = plan;
|
||||
};
|
||||
Context.prototype.setCurrentRequest = function (currentRequest) {
|
||||
this.currentRequest = currentRequest;
|
||||
};
|
||||
return Context;
|
||||
}());
|
||||
exports.Context = Context;
|
||||
});
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
define(["require", "exports", "../constants/metadata_keys"], function (require, exports, METADATA_KEY) {
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var Metadata = (function () {
|
||||
function Metadata(key, value) {
|
||||
this.key = key;
|
||||
this.value = value;
|
||||
}
|
||||
Metadata.prototype.toString = function () {
|
||||
if (this.key === METADATA_KEY.NAMED_TAG) {
|
||||
return "named: " + this.value.toString() + " ";
|
||||
}
|
||||
else {
|
||||
return "tagged: { key:" + this.key.toString() + ", value: " + this.value + " }";
|
||||
}
|
||||
};
|
||||
return Metadata;
|
||||
}());
|
||||
exports.Metadata = Metadata;
|
||||
});
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
define(["require", "exports", "../constants/metadata_keys"], function (require, exports, METADATA_KEY) {
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var MetadataReader = (function () {
|
||||
function MetadataReader() {
|
||||
}
|
||||
MetadataReader.prototype.getConstructorMetadata = function (constructorFunc) {
|
||||
var compilerGeneratedMetadata = Reflect.getMetadata(METADATA_KEY.PARAM_TYPES, constructorFunc);
|
||||
var userGeneratedMetadata = Reflect.getMetadata(METADATA_KEY.TAGGED, constructorFunc);
|
||||
return {
|
||||
compilerGeneratedMetadata: compilerGeneratedMetadata,
|
||||
userGeneratedMetadata: userGeneratedMetadata || {}
|
||||
};
|
||||
};
|
||||
MetadataReader.prototype.getPropertiesMetadata = function (constructorFunc) {
|
||||
var userGeneratedMetadata = Reflect.getMetadata(METADATA_KEY.TAGGED_PROP, constructorFunc) || [];
|
||||
return userGeneratedMetadata;
|
||||
};
|
||||
return MetadataReader;
|
||||
}());
|
||||
exports.MetadataReader = MetadataReader;
|
||||
});
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
define(["require", "exports"], function (require, exports) {
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var Plan = (function () {
|
||||
function Plan(parentContext, rootRequest) {
|
||||
this.parentContext = parentContext;
|
||||
this.rootRequest = rootRequest;
|
||||
}
|
||||
return Plan;
|
||||
}());
|
||||
exports.Plan = Plan;
|
||||
});
|
||||
+145
@@ -0,0 +1,145 @@
|
||||
define(["require", "exports", "../bindings/binding_count", "../constants/error_msgs", "../constants/literal_types", "../constants/metadata_keys", "../utils/exceptions", "../utils/serialization", "./context", "./metadata", "./plan", "./reflection_utils", "./request", "./target"], function (require, exports, binding_count_1, ERROR_MSGS, literal_types_1, METADATA_KEY, exceptions_1, serialization_1, context_1, metadata_1, plan_1, reflection_utils_1, request_1, target_1) {
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
function getBindingDictionary(cntnr) {
|
||||
return cntnr._bindingDictionary;
|
||||
}
|
||||
exports.getBindingDictionary = getBindingDictionary;
|
||||
function _createTarget(isMultiInject, targetType, serviceIdentifier, name, key, value) {
|
||||
var metadataKey = isMultiInject ? METADATA_KEY.MULTI_INJECT_TAG : METADATA_KEY.INJECT_TAG;
|
||||
var injectMetadata = new metadata_1.Metadata(metadataKey, serviceIdentifier);
|
||||
var target = new target_1.Target(targetType, name, serviceIdentifier, injectMetadata);
|
||||
if (key !== undefined) {
|
||||
var tagMetadata = new metadata_1.Metadata(key, value);
|
||||
target.metadata.push(tagMetadata);
|
||||
}
|
||||
return target;
|
||||
}
|
||||
function _getActiveBindings(metadataReader, avoidConstraints, context, parentRequest, target) {
|
||||
var bindings = getBindings(context.container, target.serviceIdentifier);
|
||||
var activeBindings = [];
|
||||
if (bindings.length === binding_count_1.BindingCount.NoBindingsAvailable &&
|
||||
context.container.options.autoBindInjectable &&
|
||||
typeof target.serviceIdentifier === "function" &&
|
||||
metadataReader.getConstructorMetadata(target.serviceIdentifier).compilerGeneratedMetadata) {
|
||||
context.container.bind(target.serviceIdentifier).toSelf();
|
||||
bindings = getBindings(context.container, target.serviceIdentifier);
|
||||
}
|
||||
if (!avoidConstraints) {
|
||||
activeBindings = bindings.filter(function (binding) {
|
||||
var request = new request_1.Request(binding.serviceIdentifier, context, parentRequest, binding, target);
|
||||
return binding.constraint(request);
|
||||
});
|
||||
}
|
||||
else {
|
||||
activeBindings = bindings;
|
||||
}
|
||||
_validateActiveBindingCount(target.serviceIdentifier, activeBindings, target, context.container);
|
||||
return activeBindings;
|
||||
}
|
||||
function _validateActiveBindingCount(serviceIdentifier, bindings, target, container) {
|
||||
switch (bindings.length) {
|
||||
case binding_count_1.BindingCount.NoBindingsAvailable:
|
||||
if (target.isOptional()) {
|
||||
return bindings;
|
||||
}
|
||||
else {
|
||||
var serviceIdentifierString = serialization_1.getServiceIdentifierAsString(serviceIdentifier);
|
||||
var msg = ERROR_MSGS.NOT_REGISTERED;
|
||||
msg += serialization_1.listMetadataForTarget(serviceIdentifierString, target);
|
||||
msg += serialization_1.listRegisteredBindingsForServiceIdentifier(container, serviceIdentifierString, getBindings);
|
||||
throw new Error(msg);
|
||||
}
|
||||
case binding_count_1.BindingCount.OnlyOneBindingAvailable:
|
||||
if (!target.isArray()) {
|
||||
return bindings;
|
||||
}
|
||||
case binding_count_1.BindingCount.MultipleBindingsAvailable:
|
||||
default:
|
||||
if (!target.isArray()) {
|
||||
var serviceIdentifierString = serialization_1.getServiceIdentifierAsString(serviceIdentifier);
|
||||
var msg = ERROR_MSGS.AMBIGUOUS_MATCH + " " + serviceIdentifierString;
|
||||
msg += serialization_1.listRegisteredBindingsForServiceIdentifier(container, serviceIdentifierString, getBindings);
|
||||
throw new Error(msg);
|
||||
}
|
||||
else {
|
||||
return bindings;
|
||||
}
|
||||
}
|
||||
}
|
||||
function _createSubRequests(metadataReader, avoidConstraints, serviceIdentifier, context, parentRequest, target) {
|
||||
var activeBindings;
|
||||
var childRequest;
|
||||
if (parentRequest === null) {
|
||||
activeBindings = _getActiveBindings(metadataReader, avoidConstraints, context, null, target);
|
||||
childRequest = new request_1.Request(serviceIdentifier, context, null, activeBindings, target);
|
||||
var thePlan = new plan_1.Plan(context, childRequest);
|
||||
context.addPlan(thePlan);
|
||||
}
|
||||
else {
|
||||
activeBindings = _getActiveBindings(metadataReader, avoidConstraints, context, parentRequest, target);
|
||||
childRequest = parentRequest.addChildRequest(target.serviceIdentifier, activeBindings, target);
|
||||
}
|
||||
activeBindings.forEach(function (binding) {
|
||||
var subChildRequest = null;
|
||||
if (target.isArray()) {
|
||||
subChildRequest = childRequest.addChildRequest(binding.serviceIdentifier, binding, target);
|
||||
}
|
||||
else {
|
||||
if (binding.cache) {
|
||||
return;
|
||||
}
|
||||
subChildRequest = childRequest;
|
||||
}
|
||||
if (binding.type === literal_types_1.BindingTypeEnum.Instance && binding.implementationType !== null) {
|
||||
var dependencies = reflection_utils_1.getDependencies(metadataReader, binding.implementationType);
|
||||
if (!context.container.options.skipBaseClassChecks) {
|
||||
var baseClassDependencyCount = reflection_utils_1.getBaseClassDependencyCount(metadataReader, binding.implementationType);
|
||||
if (dependencies.length < baseClassDependencyCount) {
|
||||
var error = ERROR_MSGS.ARGUMENTS_LENGTH_MISMATCH(reflection_utils_1.getFunctionName(binding.implementationType));
|
||||
throw new Error(error);
|
||||
}
|
||||
}
|
||||
dependencies.forEach(function (dependency) {
|
||||
_createSubRequests(metadataReader, false, dependency.serviceIdentifier, context, subChildRequest, dependency);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
function getBindings(container, serviceIdentifier) {
|
||||
var bindings = [];
|
||||
var bindingDictionary = getBindingDictionary(container);
|
||||
if (bindingDictionary.hasKey(serviceIdentifier)) {
|
||||
bindings = bindingDictionary.get(serviceIdentifier);
|
||||
}
|
||||
else if (container.parent !== null) {
|
||||
bindings = getBindings(container.parent, serviceIdentifier);
|
||||
}
|
||||
return bindings;
|
||||
}
|
||||
function plan(metadataReader, container, isMultiInject, targetType, serviceIdentifier, key, value, avoidConstraints) {
|
||||
if (avoidConstraints === void 0) { avoidConstraints = false; }
|
||||
var context = new context_1.Context(container);
|
||||
var target = _createTarget(isMultiInject, targetType, serviceIdentifier, "", key, value);
|
||||
try {
|
||||
_createSubRequests(metadataReader, avoidConstraints, serviceIdentifier, context, null, target);
|
||||
return context;
|
||||
}
|
||||
catch (error) {
|
||||
if (exceptions_1.isStackOverflowExeption(error)) {
|
||||
if (context.plan) {
|
||||
serialization_1.circularDependencyToException(context.plan.rootRequest);
|
||||
}
|
||||
}
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
exports.plan = plan;
|
||||
function createMockRequest(container, serviceIdentifier, key, value) {
|
||||
var target = new target_1.Target(literal_types_1.TargetTypeEnum.Variable, "", serviceIdentifier, new metadata_1.Metadata(key, value));
|
||||
var context = new context_1.Context(container);
|
||||
var request = new request_1.Request(serviceIdentifier, context, null, [], target);
|
||||
return request;
|
||||
}
|
||||
exports.createMockRequest = createMockRequest;
|
||||
});
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
define(["require", "exports"], function (require, exports) {
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var QueryableString = (function () {
|
||||
function QueryableString(str) {
|
||||
this.str = str;
|
||||
}
|
||||
QueryableString.prototype.startsWith = function (searchString) {
|
||||
return this.str.indexOf(searchString) === 0;
|
||||
};
|
||||
QueryableString.prototype.endsWith = function (searchString) {
|
||||
var reverseString = "";
|
||||
var reverseSearchString = searchString.split("").reverse().join("");
|
||||
reverseString = this.str.split("").reverse().join("");
|
||||
return this.startsWith.call({ str: reverseString }, reverseSearchString);
|
||||
};
|
||||
QueryableString.prototype.contains = function (searchString) {
|
||||
return (this.str.indexOf(searchString) !== -1);
|
||||
};
|
||||
QueryableString.prototype.equals = function (compareString) {
|
||||
return this.str === compareString;
|
||||
};
|
||||
QueryableString.prototype.value = function () {
|
||||
return this.str;
|
||||
};
|
||||
return QueryableString;
|
||||
}());
|
||||
exports.QueryableString = QueryableString;
|
||||
});
|
||||
+120
@@ -0,0 +1,120 @@
|
||||
define(["require", "exports", "../annotation/inject", "../constants/error_msgs", "../constants/literal_types", "../constants/metadata_keys", "../utils/serialization", "./target"], function (require, exports, inject_1, ERROR_MSGS, literal_types_1, METADATA_KEY, serialization_1, target_1) {
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.getFunctionName = serialization_1.getFunctionName;
|
||||
function getDependencies(metadataReader, func) {
|
||||
var constructorName = serialization_1.getFunctionName(func);
|
||||
var targets = getTargets(metadataReader, constructorName, func, false);
|
||||
return targets;
|
||||
}
|
||||
exports.getDependencies = getDependencies;
|
||||
function getTargets(metadataReader, constructorName, func, isBaseClass) {
|
||||
var metadata = metadataReader.getConstructorMetadata(func);
|
||||
var serviceIdentifiers = metadata.compilerGeneratedMetadata;
|
||||
if (serviceIdentifiers === undefined) {
|
||||
var msg = ERROR_MSGS.MISSING_INJECTABLE_ANNOTATION + " " + constructorName + ".";
|
||||
throw new Error(msg);
|
||||
}
|
||||
var constructorArgsMetadata = metadata.userGeneratedMetadata;
|
||||
var keys = Object.keys(constructorArgsMetadata);
|
||||
var hasUserDeclaredUnknownInjections = (func.length === 0 && keys.length > 0);
|
||||
var iterations = (hasUserDeclaredUnknownInjections) ? keys.length : func.length;
|
||||
var constructorTargets = getConstructorArgsAsTargets(isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata, iterations);
|
||||
var propertyTargets = getClassPropsAsTargets(metadataReader, func);
|
||||
var targets = constructorTargets.concat(propertyTargets);
|
||||
return targets;
|
||||
}
|
||||
function getConstructorArgsAsTarget(index, isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata) {
|
||||
var targetMetadata = constructorArgsMetadata[index.toString()] || [];
|
||||
var metadata = formatTargetMetadata(targetMetadata);
|
||||
var isManaged = metadata.unmanaged !== true;
|
||||
var serviceIdentifier = serviceIdentifiers[index];
|
||||
var injectIdentifier = (metadata.inject || metadata.multiInject);
|
||||
serviceIdentifier = (injectIdentifier) ? (injectIdentifier) : serviceIdentifier;
|
||||
if (serviceIdentifier instanceof inject_1.LazyServiceIdentifer) {
|
||||
serviceIdentifier = serviceIdentifier.unwrap();
|
||||
}
|
||||
if (isManaged) {
|
||||
var isObject = serviceIdentifier === Object;
|
||||
var isFunction = serviceIdentifier === Function;
|
||||
var isUndefined = serviceIdentifier === undefined;
|
||||
var isUnknownType = (isObject || isFunction || isUndefined);
|
||||
if (!isBaseClass && isUnknownType) {
|
||||
var msg = ERROR_MSGS.MISSING_INJECT_ANNOTATION + " argument " + index + " in class " + constructorName + ".";
|
||||
throw new Error(msg);
|
||||
}
|
||||
var target = new target_1.Target(literal_types_1.TargetTypeEnum.ConstructorArgument, metadata.targetName, serviceIdentifier);
|
||||
target.metadata = targetMetadata;
|
||||
return target;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
function getConstructorArgsAsTargets(isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata, iterations) {
|
||||
var targets = [];
|
||||
for (var i = 0; i < iterations; i++) {
|
||||
var index = i;
|
||||
var target = getConstructorArgsAsTarget(index, isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata);
|
||||
if (target !== null) {
|
||||
targets.push(target);
|
||||
}
|
||||
}
|
||||
return targets;
|
||||
}
|
||||
function getClassPropsAsTargets(metadataReader, constructorFunc) {
|
||||
var classPropsMetadata = metadataReader.getPropertiesMetadata(constructorFunc);
|
||||
var targets = [];
|
||||
var keys = Object.keys(classPropsMetadata);
|
||||
for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
|
||||
var key = keys_1[_i];
|
||||
var targetMetadata = classPropsMetadata[key];
|
||||
var metadata = formatTargetMetadata(classPropsMetadata[key]);
|
||||
var targetName = metadata.targetName || key;
|
||||
var serviceIdentifier = (metadata.inject || metadata.multiInject);
|
||||
var target = new target_1.Target(literal_types_1.TargetTypeEnum.ClassProperty, targetName, serviceIdentifier);
|
||||
target.metadata = targetMetadata;
|
||||
targets.push(target);
|
||||
}
|
||||
var baseConstructor = Object.getPrototypeOf(constructorFunc.prototype).constructor;
|
||||
if (baseConstructor !== Object) {
|
||||
var baseTargets = getClassPropsAsTargets(metadataReader, baseConstructor);
|
||||
targets = targets.concat(baseTargets);
|
||||
}
|
||||
return targets;
|
||||
}
|
||||
function getBaseClassDependencyCount(metadataReader, func) {
|
||||
var baseConstructor = Object.getPrototypeOf(func.prototype).constructor;
|
||||
if (baseConstructor !== Object) {
|
||||
var baseConstructorName = serialization_1.getFunctionName(baseConstructor);
|
||||
var targets = getTargets(metadataReader, baseConstructorName, baseConstructor, true);
|
||||
var metadata = targets.map(function (t) {
|
||||
return t.metadata.filter(function (m) {
|
||||
return m.key === METADATA_KEY.UNMANAGED_TAG;
|
||||
});
|
||||
});
|
||||
var unmanagedCount = [].concat.apply([], metadata).length;
|
||||
var dependencyCount = targets.length - unmanagedCount;
|
||||
if (dependencyCount > 0) {
|
||||
return dependencyCount;
|
||||
}
|
||||
else {
|
||||
return getBaseClassDependencyCount(metadataReader, baseConstructor);
|
||||
}
|
||||
}
|
||||
else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
exports.getBaseClassDependencyCount = getBaseClassDependencyCount;
|
||||
function formatTargetMetadata(targetMetadata) {
|
||||
var targetMetadataMap = {};
|
||||
targetMetadata.forEach(function (m) {
|
||||
targetMetadataMap[m.key.toString()] = m.value;
|
||||
});
|
||||
return {
|
||||
inject: targetMetadataMap[METADATA_KEY.INJECT_TAG],
|
||||
multiInject: targetMetadataMap[METADATA_KEY.MULTI_INJECT_TAG],
|
||||
targetName: targetMetadataMap[METADATA_KEY.NAME_TAG],
|
||||
unmanaged: targetMetadataMap[METADATA_KEY.UNMANAGED_TAG]
|
||||
};
|
||||
}
|
||||
});
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
define(["require", "exports", "../utils/id"], function (require, exports, id_1) {
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var Request = (function () {
|
||||
function Request(serviceIdentifier, parentContext, parentRequest, bindings, target) {
|
||||
this.id = id_1.id();
|
||||
this.serviceIdentifier = serviceIdentifier;
|
||||
this.parentContext = parentContext;
|
||||
this.parentRequest = parentRequest;
|
||||
this.target = target;
|
||||
this.childRequests = [];
|
||||
this.bindings = (Array.isArray(bindings) ? bindings : [bindings]);
|
||||
this.requestScope = parentRequest === null
|
||||
? new Map()
|
||||
: null;
|
||||
}
|
||||
Request.prototype.addChildRequest = function (serviceIdentifier, bindings, target) {
|
||||
var child = new Request(serviceIdentifier, this.parentContext, this, bindings, target);
|
||||
this.childRequests.push(child);
|
||||
return child;
|
||||
};
|
||||
return Request;
|
||||
}());
|
||||
exports.Request = Request;
|
||||
});
|
||||
+88
@@ -0,0 +1,88 @@
|
||||
define(["require", "exports", "../constants/metadata_keys", "../utils/id", "./metadata", "./queryable_string"], function (require, exports, METADATA_KEY, id_1, metadata_1, queryable_string_1) {
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var Target = (function () {
|
||||
function Target(type, name, serviceIdentifier, namedOrTagged) {
|
||||
this.id = id_1.id();
|
||||
this.type = type;
|
||||
this.serviceIdentifier = serviceIdentifier;
|
||||
this.name = new queryable_string_1.QueryableString(name || "");
|
||||
this.metadata = new Array();
|
||||
var metadataItem = null;
|
||||
if (typeof namedOrTagged === "string") {
|
||||
metadataItem = new metadata_1.Metadata(METADATA_KEY.NAMED_TAG, namedOrTagged);
|
||||
}
|
||||
else if (namedOrTagged instanceof metadata_1.Metadata) {
|
||||
metadataItem = namedOrTagged;
|
||||
}
|
||||
if (metadataItem !== null) {
|
||||
this.metadata.push(metadataItem);
|
||||
}
|
||||
}
|
||||
Target.prototype.hasTag = function (key) {
|
||||
for (var _i = 0, _a = this.metadata; _i < _a.length; _i++) {
|
||||
var m = _a[_i];
|
||||
if (m.key === key) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
};
|
||||
Target.prototype.isArray = function () {
|
||||
return this.hasTag(METADATA_KEY.MULTI_INJECT_TAG);
|
||||
};
|
||||
Target.prototype.matchesArray = function (name) {
|
||||
return this.matchesTag(METADATA_KEY.MULTI_INJECT_TAG)(name);
|
||||
};
|
||||
Target.prototype.isNamed = function () {
|
||||
return this.hasTag(METADATA_KEY.NAMED_TAG);
|
||||
};
|
||||
Target.prototype.isTagged = function () {
|
||||
return this.metadata.some(function (m) {
|
||||
return (m.key !== METADATA_KEY.INJECT_TAG) &&
|
||||
(m.key !== METADATA_KEY.MULTI_INJECT_TAG) &&
|
||||
(m.key !== METADATA_KEY.NAME_TAG) &&
|
||||
(m.key !== METADATA_KEY.UNMANAGED_TAG) &&
|
||||
(m.key !== METADATA_KEY.NAMED_TAG);
|
||||
});
|
||||
};
|
||||
Target.prototype.isOptional = function () {
|
||||
return this.matchesTag(METADATA_KEY.OPTIONAL_TAG)(true);
|
||||
};
|
||||
Target.prototype.getNamedTag = function () {
|
||||
if (this.isNamed()) {
|
||||
return this.metadata.filter(function (m) { return m.key === METADATA_KEY.NAMED_TAG; })[0];
|
||||
}
|
||||
return null;
|
||||
};
|
||||
Target.prototype.getCustomTags = function () {
|
||||
if (this.isTagged()) {
|
||||
return this.metadata.filter(function (m) {
|
||||
return (m.key !== METADATA_KEY.INJECT_TAG) &&
|
||||
(m.key !== METADATA_KEY.MULTI_INJECT_TAG) &&
|
||||
(m.key !== METADATA_KEY.NAME_TAG) &&
|
||||
(m.key !== METADATA_KEY.UNMANAGED_TAG) &&
|
||||
(m.key !== METADATA_KEY.NAMED_TAG);
|
||||
});
|
||||
}
|
||||
return null;
|
||||
};
|
||||
Target.prototype.matchesNamedTag = function (name) {
|
||||
return this.matchesTag(METADATA_KEY.NAMED_TAG)(name);
|
||||
};
|
||||
Target.prototype.matchesTag = function (key) {
|
||||
var _this = this;
|
||||
return function (value) {
|
||||
for (var _i = 0, _a = _this.metadata; _i < _a.length; _i++) {
|
||||
var m = _a[_i];
|
||||
if (m.key === key && m.value === value) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
};
|
||||
};
|
||||
return Target;
|
||||
}());
|
||||
exports.Target = Target;
|
||||
});
|
||||
Reference in new issue
Block a user