UNPKG

@wshcmx/cli

Version:

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

20 lines (19 loc) 876 B
import ts from 'typescript'; export function enumsToObjects() { return (context) => (sourceFile) => { function visit(node) { if (ts.isEnumDeclaration(node)) { const members = node.members.map((member, index) => { const name = member.name; const initializer = member.initializer || ts.factory.createNumericLiteral(index); return ts.factory.createPropertyAssignment(name, initializer); }); return ts.factory.createVariableStatement([], [ ts.factory.createVariableDeclaration(node.name, undefined, undefined, ts.factory.createObjectLiteralExpression(members, true)) ]); } return ts.visitEachChild(node, visit, context); } return ts.visitNode(sourceFile, visit); }; }