UNPKG

@wshcmx/cli

Version:

Набор CLI-инструментов предназначен для автоматизации сборки и отслеживания изменений в исходном коде с последующей транспиляцией в синтаксис WebSoftHCM.

17 lines (16 loc) 771 B
import ts from 'typescript'; export function transformNamespaces() { return (context) => (sourceFile) => { function visit(node) { if (ts.isModuleDeclaration(node) && (node.flags & ts.NodeFlags.Namespace)) { if (node.body && ts.isModuleBlock(node.body)) { const statements = node.body.statements.map((statement) => ts.visitNode(statement, visit)); const customString = ts.factory.createExpressionStatement(ts.factory.createStringLiteral(`META:NAMESPACE:${node.name.text}`)); node = [customString, ...statements]; } } return ts.visitEachChild(node, visit, context); } return ts.visitNode(sourceFile, visit); }; }