|
1 | 1 | import * as ts from "typescript"; |
2 | | -import { TransformerPlugin } from "../context"; |
| 2 | +import { Visitors } from "../context"; |
3 | 3 | import { transformElementAccessExpression, transformPropertyAccessExpression, transformQualifiedName } from "./access"; |
4 | 4 | import { transformBinaryExpression } from "./binary-expression"; |
5 | 5 | import { transformBlock } from "./block"; |
@@ -41,55 +41,53 @@ import { transformTypeOfExpression } from "./typeof"; |
41 | 41 | import { transformPostfixUnaryExpression, transformPrefixUnaryExpression } from "./unary-expression"; |
42 | 42 | import { transformVariableStatement } from "./variable"; |
43 | 43 |
|
44 | | -export const standardPlugin: TransformerPlugin = { |
45 | | - visitors: { |
46 | | - ...literalVisitors, |
47 | | - ...todoMoveSomewhereVisitors, |
48 | | - [ts.SyntaxKind.ArrowFunction]: transformFunctionLikeDeclaration, |
49 | | - [ts.SyntaxKind.BinaryExpression]: transformBinaryExpression, |
50 | | - [ts.SyntaxKind.Block]: transformBlock, |
51 | | - [ts.SyntaxKind.BreakStatement]: transformBreakStatement, |
52 | | - [ts.SyntaxKind.CallExpression]: transformCallExpression, |
53 | | - [ts.SyntaxKind.ClassDeclaration]: transformClassDeclaration, |
54 | | - [ts.SyntaxKind.ClassExpression]: transformClassAsExpression, |
55 | | - [ts.SyntaxKind.ConditionalExpression]: transformConditionalExpression, |
56 | | - [ts.SyntaxKind.ContinueStatement]: transformContinueStatement, |
57 | | - [ts.SyntaxKind.DeleteExpression]: transformDeleteExpression, |
58 | | - [ts.SyntaxKind.DoStatement]: transformDoStatement, |
59 | | - [ts.SyntaxKind.ElementAccessExpression]: transformElementAccessExpression, |
60 | | - [ts.SyntaxKind.EnumDeclaration]: transformEnumDeclaration, |
61 | | - [ts.SyntaxKind.ExportAssignment]: transformExportAssignment, |
62 | | - [ts.SyntaxKind.ExportDeclaration]: transformExportDeclaration, |
63 | | - [ts.SyntaxKind.ExpressionStatement]: transformExpressionStatement, |
64 | | - [ts.SyntaxKind.ExternalModuleReference]: transformExternalModuleReference, |
65 | | - [ts.SyntaxKind.ForInStatement]: transformForInStatement, |
66 | | - [ts.SyntaxKind.ForOfStatement]: transformForOfStatement, |
67 | | - [ts.SyntaxKind.ForStatement]: transformForStatement, |
68 | | - [ts.SyntaxKind.FunctionDeclaration]: transformFunctionDeclaration, |
69 | | - [ts.SyntaxKind.FunctionExpression]: transformFunctionLikeDeclaration, |
70 | | - [ts.SyntaxKind.Identifier]: transformIdentifierExpression, |
71 | | - [ts.SyntaxKind.IfStatement]: transformIfStatement, |
72 | | - [ts.SyntaxKind.ImportDeclaration]: transformImportDeclaration, |
73 | | - [ts.SyntaxKind.ImportEqualsDeclaration]: transformImportEqualsDeclaration, |
74 | | - [ts.SyntaxKind.ModuleDeclaration]: transformModuleDeclaration, |
75 | | - [ts.SyntaxKind.NewExpression]: transformNewExpression, |
76 | | - [ts.SyntaxKind.PostfixUnaryExpression]: transformPostfixUnaryExpression, |
77 | | - [ts.SyntaxKind.PrefixUnaryExpression]: transformPrefixUnaryExpression, |
78 | | - [ts.SyntaxKind.PropertyAccessExpression]: transformPropertyAccessExpression, |
79 | | - [ts.SyntaxKind.QualifiedName]: transformQualifiedName, |
80 | | - [ts.SyntaxKind.ReturnStatement]: transformReturnStatement, |
81 | | - [ts.SyntaxKind.SourceFile]: transformSourceFileNode, |
82 | | - [ts.SyntaxKind.SpreadElement]: transformSpreadElement, |
83 | | - [ts.SyntaxKind.SuperKeyword]: transformSuperExpression, |
84 | | - [ts.SyntaxKind.SwitchStatement]: transformSwitchStatement, |
85 | | - [ts.SyntaxKind.TaggedTemplateExpression]: transformTaggedTemplateExpression, |
86 | | - [ts.SyntaxKind.TemplateExpression]: transformTemplateExpression, |
87 | | - [ts.SyntaxKind.ThisKeyword]: transformThisExpression, |
88 | | - [ts.SyntaxKind.ThrowStatement]: transformThrowStatement, |
89 | | - [ts.SyntaxKind.TryStatement]: transformTryStatement, |
90 | | - [ts.SyntaxKind.TypeOfExpression]: transformTypeOfExpression, |
91 | | - [ts.SyntaxKind.VariableStatement]: transformVariableStatement, |
92 | | - [ts.SyntaxKind.WhileStatement]: transformWhileStatement, |
93 | | - [ts.SyntaxKind.YieldExpression]: transformYieldExpression, |
94 | | - }, |
| 44 | +export const standardVisitors: Visitors = { |
| 45 | + ...literalVisitors, |
| 46 | + ...todoMoveSomewhereVisitors, |
| 47 | + [ts.SyntaxKind.ArrowFunction]: transformFunctionLikeDeclaration, |
| 48 | + [ts.SyntaxKind.BinaryExpression]: transformBinaryExpression, |
| 49 | + [ts.SyntaxKind.Block]: transformBlock, |
| 50 | + [ts.SyntaxKind.BreakStatement]: transformBreakStatement, |
| 51 | + [ts.SyntaxKind.CallExpression]: transformCallExpression, |
| 52 | + [ts.SyntaxKind.ClassDeclaration]: transformClassDeclaration, |
| 53 | + [ts.SyntaxKind.ClassExpression]: transformClassAsExpression, |
| 54 | + [ts.SyntaxKind.ConditionalExpression]: transformConditionalExpression, |
| 55 | + [ts.SyntaxKind.ContinueStatement]: transformContinueStatement, |
| 56 | + [ts.SyntaxKind.DeleteExpression]: transformDeleteExpression, |
| 57 | + [ts.SyntaxKind.DoStatement]: transformDoStatement, |
| 58 | + [ts.SyntaxKind.ElementAccessExpression]: transformElementAccessExpression, |
| 59 | + [ts.SyntaxKind.EnumDeclaration]: transformEnumDeclaration, |
| 60 | + [ts.SyntaxKind.ExportAssignment]: transformExportAssignment, |
| 61 | + [ts.SyntaxKind.ExportDeclaration]: transformExportDeclaration, |
| 62 | + [ts.SyntaxKind.ExpressionStatement]: transformExpressionStatement, |
| 63 | + [ts.SyntaxKind.ExternalModuleReference]: transformExternalModuleReference, |
| 64 | + [ts.SyntaxKind.ForInStatement]: transformForInStatement, |
| 65 | + [ts.SyntaxKind.ForOfStatement]: transformForOfStatement, |
| 66 | + [ts.SyntaxKind.ForStatement]: transformForStatement, |
| 67 | + [ts.SyntaxKind.FunctionDeclaration]: transformFunctionDeclaration, |
| 68 | + [ts.SyntaxKind.FunctionExpression]: transformFunctionLikeDeclaration, |
| 69 | + [ts.SyntaxKind.Identifier]: transformIdentifierExpression, |
| 70 | + [ts.SyntaxKind.IfStatement]: transformIfStatement, |
| 71 | + [ts.SyntaxKind.ImportDeclaration]: transformImportDeclaration, |
| 72 | + [ts.SyntaxKind.ImportEqualsDeclaration]: transformImportEqualsDeclaration, |
| 73 | + [ts.SyntaxKind.ModuleDeclaration]: transformModuleDeclaration, |
| 74 | + [ts.SyntaxKind.NewExpression]: transformNewExpression, |
| 75 | + [ts.SyntaxKind.PostfixUnaryExpression]: transformPostfixUnaryExpression, |
| 76 | + [ts.SyntaxKind.PrefixUnaryExpression]: transformPrefixUnaryExpression, |
| 77 | + [ts.SyntaxKind.PropertyAccessExpression]: transformPropertyAccessExpression, |
| 78 | + [ts.SyntaxKind.QualifiedName]: transformQualifiedName, |
| 79 | + [ts.SyntaxKind.ReturnStatement]: transformReturnStatement, |
| 80 | + [ts.SyntaxKind.SourceFile]: transformSourceFileNode, |
| 81 | + [ts.SyntaxKind.SpreadElement]: transformSpreadElement, |
| 82 | + [ts.SyntaxKind.SuperKeyword]: transformSuperExpression, |
| 83 | + [ts.SyntaxKind.SwitchStatement]: transformSwitchStatement, |
| 84 | + [ts.SyntaxKind.TaggedTemplateExpression]: transformTaggedTemplateExpression, |
| 85 | + [ts.SyntaxKind.TemplateExpression]: transformTemplateExpression, |
| 86 | + [ts.SyntaxKind.ThisKeyword]: transformThisExpression, |
| 87 | + [ts.SyntaxKind.ThrowStatement]: transformThrowStatement, |
| 88 | + [ts.SyntaxKind.TryStatement]: transformTryStatement, |
| 89 | + [ts.SyntaxKind.TypeOfExpression]: transformTypeOfExpression, |
| 90 | + [ts.SyntaxKind.VariableStatement]: transformVariableStatement, |
| 91 | + [ts.SyntaxKind.WhileStatement]: transformWhileStatement, |
| 92 | + [ts.SyntaxKind.YieldExpression]: transformYieldExpression, |
95 | 93 | }; |
0 commit comments