"use strict";
var StructureDependencyGetter = (function () {
/* istanbul ignore next */ function StructureDependencyGetter() {
}
StructureDependencyGetter.prototype.getAllStructures = function (structures) {
for (var i = 0; i < structures.length; i++) {
var structure = structures[i];
structure.getProperties().forEach(function (prop) {
var validTypeDefinitions = prop.getAllValidTypeStructures();
validTypeDefinitions.forEach(function (validTypeDef) {
Iif (structures.indexOf(validTypeDef) === -1)
structures.push(validTypeDef);
});
});
var validExtendsTypes = structure.getValidExtendsTypes();
validExtendsTypes.forEach(function (extendsType) {
extendsType.getAllValidDefinitions().forEach(function (structure) {
if (structures.indexOf(structure) === -1)
structures.push(structure);
});
});
structure.getTypeParameters().forEach(function (typeParam) {
var constraintType = typeParam.getConstraintType();
if (constraintType == null)
return;
constraintType.getAllValidDefinitions().forEach(function (constraintTypeStructure) {
Iif (structures.indexOf(constraintTypeStructure) === -1)
structures.push(constraintTypeStructure);
});
});
}
return structures;
};
return StructureDependencyGetter;
}());
exports.StructureDependencyGetter = StructureDependencyGetter;
//# sourceMappingURL=StructureDependencyGetter.js.map
|