UNPKG

babel-plugin-typescript-to-proptypes

Version:
31 lines (23 loc) 849 B
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); const core = require('@babel/core'); const getTypeName = require('./getTypeName.js'); function extractGenericTypeNames(node) { const names = []; // <Foo> if (core.types.isTSTypeParameterInstantiation(node)) { node.params.forEach(param => { names.push(...extractGenericTypeNames(param)); }); // Foo } else if (core.types.isTSTypeReference(node)) { names.push(getTypeName.getTypeName(node.typeName)); // Foo & Bar, Foo | Bar } else if (core.types.isTSIntersectionType(node) || core.types.isTSUnionType(node)) { node.types.forEach(param => { names.push(...extractGenericTypeNames(param)); }); } return names; } exports.extractGenericTypeNames = extractGenericTypeNames; //# sourceMappingURL=extractGenericTypeNames.js.map