UNPKG

ts-randomizer

Version:

A tool to create random data by type parameters

40 lines 1.74 kB
"use strict"; 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