SB-6.1-PRE
This commit is contained in:
1 parent
690169a409
commit
358a25f522
3760 files changed
+300059
-36
No files matched your search
+40
@@ -0,0 +1,40 @@
|
||||
define(["require", "exports", "../constants/metadata_keys", "../planning/metadata"], function (require, exports, METADATA_KEY, metadata_1) {
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var traverseAncerstors = function (request, constraint) {
|
||||
var parent = request.parentRequest;
|
||||
if (parent !== null) {
|
||||
return constraint(parent) ? true : traverseAncerstors(parent, constraint);
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
exports.traverseAncerstors = traverseAncerstors;
|
||||
var taggedConstraint = function (key) { return function (value) {
|
||||
var constraint = function (request) {
|
||||
return request !== null && request.target !== null && request.target.matchesTag(key)(value);
|
||||
};
|
||||
constraint.metaData = new metadata_1.Metadata(key, value);
|
||||
return constraint;
|
||||
}; };
|
||||
exports.taggedConstraint = taggedConstraint;
|
||||
var namedConstraint = taggedConstraint(METADATA_KEY.NAMED_TAG);
|
||||
exports.namedConstraint = namedConstraint;
|
||||
var typeConstraint = function (type) { return function (request) {
|
||||
var binding = null;
|
||||
if (request !== null) {
|
||||
binding = request.bindings[0];
|
||||
if (typeof type === "string") {
|
||||
var serviceIdentifier = binding.serviceIdentifier;
|
||||
return serviceIdentifier === type;
|
||||
}
|
||||
else {
|
||||
var constructor = request.bindings[0].implementationType;
|
||||
return type === constructor;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}; };
|
||||
exports.typeConstraint = typeConstraint;
|
||||
});
|
||||
Reference in new issue
Block a user