ts-randomizer
Version:
A tool to create random data by type parameters
40 lines • 1.74 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateNodeDescription = void 0;
const ts = require("typescript");
const types_1 = require("../../types");
const array_type_node_1 = require("./array-type-node");
const tuple_type_node_1 = require("./tuple-type-node");
const type_node_1 = require("./type-node");
const property_signature_declaration_1 = require("./property-signature-declaration");
const method_signature_declaration_1 = require("./method-signature-declaration");
/**
* Generates description for node type
* @param node Target node
* @param typeArgumentsMap Node type arguments relations
*/
const generateNodeDescription = (node, typeArgumentsMap = {}) => {
// Return description for array type node
if (ts.isArrayTypeNode(node)) {
return (0, array_type_node_1.getArrayTypeDescription)(node, typeArgumentsMap);
}
// Return description for tuple type node
if (ts.isTupleTypeNode(node)) {
return (0, tuple_type_node_1.getTupleNodeDescription)(node);
}
// Return description for type node
if (ts.isTypeNode(node)) {
return (0, type_node_1.getTypeNodeDescription)(node);
}
// Return property declaration
if (ts.isPropertyDeclaration(node) || ts.isPropertySignature(node)) {
return (0, property_signature_declaration_1.getPropertyDescription)(node, typeArgumentsMap);
}
// Return method description
if (ts.isMethodSignature(node) || ts.isMethodDeclaration(node)) {
return (0, method_signature_declaration_1.getMethodDescription)(node, typeArgumentsMap);
}
return types_1.PropertyType.Null;
};
exports.generateNodeDescription = generateNodeDescription;
//# sourceMappingURL=node.js.map
;