TeaWeb/tools/dtsgen/declare_fixup.ts

15 lines
613 B
TypeScript

import * as ts from "typescript";
import {SyntaxKind} from "typescript";
let has_export;
const visit = (node: ts.Node) => has_export = has_export || (node.modifiers || [] as any).filter(e => e.kind === SyntaxKind.ExportKeyword).length !== 0 || ts.forEachChild(node, visit);
export function fix_declare_global(nodes: ts.Node[]) : ts.Node[] {
has_export = false;
// nodes.forEach(visit); /* for a "deep" check */
nodes.forEach(e => has_export = has_export || (e.modifiers || [] as any).filter(e => e.kind === SyntaxKind.ExportKeyword).length !== 0);
if(has_export) return nodes;
return [];
}