UNPKG

@ts-ast-parser/core

Version:

Reflects a simplified version of the TypeScript AST for generating documentation

27 lines 1.19 kB
import { isDefaultImport, isNamedImport, isNamespaceImport, isSideEffectImport } from '../utils/import.js'; import { SideEffectImportNode } from '../nodes/side-effect-import-node.js'; import { NamespaceImportNode } from '../nodes/namespace-import-node.js'; import { DefaultImportNode } from '../nodes/default-import-node.js'; import { NamedImportNode } from '../nodes/named-import-node.js'; import ts from 'typescript'; export const importFactory = { isNode: (node) => ts.isImportDeclaration(node), create: (node, context) => { const result = []; if (isDefaultImport(node)) { result.push(new DefaultImportNode(node, context)); } if (isSideEffectImport(node)) { result.push(new SideEffectImportNode(node, context)); } if (isNamedImport(node)) { const elements = (node.importClause?.namedBindings).elements ?? []; elements.forEach(el => result.push(new NamedImportNode(node, el, context))); } if (isNamespaceImport(node)) { result.push(new NamespaceImportNode(node, context)); } return result; }, }; //# sourceMappingURL=create-import.js.map