all files / dist/ StructureDependencyGetter.js

92% Statements 23/25
75% Branches 6/8
100% Functions 9/9
92% Lines 23/25
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39    10× 10× 10× 10×       10× 10×     10×                  
"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