|
1 | | -import assemblyscript from "assemblyscript"; |
2 | | - |
3 | 1 | export const magic = "MAGIC_ASSEMBLYSCRIPT_PRETTIER_1996"; |
4 | 2 | const prefix = "/*" + magic; |
5 | 3 | const postfix = magic + "*/"; |
6 | | -const NodeKind = assemblyscript.NodeKind; |
7 | 4 |
|
8 | | -function visitDecorators(node) { |
9 | | - let list = []; |
10 | | - let _visit = (_node) => { |
11 | | - switch (_node.kind) { |
12 | | - case NodeKind.Source: { |
13 | | - _node.statements.forEach((statement) => { |
14 | | - _visit(statement); |
15 | | - }); |
16 | | - break; |
| 5 | +export async function preProcess(code) { |
| 6 | + const assemblyscript = await import("assemblyscript"); |
| 7 | + const NodeKind = assemblyscript.NodeKind; |
| 8 | + const visitDecorators = (node) => { |
| 9 | + let list = []; |
| 10 | + let _visit = (_node) => { |
| 11 | + switch (_node.kind) { |
| 12 | + case NodeKind.Source: { |
| 13 | + _node.statements.forEach((statement) => { |
| 14 | + _visit(statement); |
| 15 | + }); |
| 16 | + break; |
| 17 | + } |
| 18 | + case NodeKind.ClassDeclaration: |
| 19 | + case NodeKind.InterfaceDeclaration: |
| 20 | + case NodeKind.NamespaceDeclaration: { |
| 21 | + _node.members.forEach((statement) => { |
| 22 | + _visit(statement); |
| 23 | + }); |
| 24 | + break; |
| 25 | + } |
17 | 26 | } |
18 | | - case NodeKind.ClassDeclaration: |
19 | | - case NodeKind.InterfaceDeclaration: |
20 | | - case NodeKind.NamespaceDeclaration: { |
21 | | - _node.members.forEach((statement) => { |
22 | | - _visit(statement); |
23 | | - }); |
24 | | - break; |
| 27 | + if (_node.decorators) { |
| 28 | + list.push( |
| 29 | + ..._node.decorators.map((decorator) => { |
| 30 | + return { start: decorator.range.start, end: decorator.range.end }; |
| 31 | + }) |
| 32 | + ); |
25 | 33 | } |
26 | | - } |
27 | | - if (_node.decorators) { |
28 | | - list.push( |
29 | | - ..._node.decorators.map((decorator) => { |
30 | | - return { |
31 | | - start: decorator.range.start, |
32 | | - end: decorator.range.end, |
33 | | - }; |
34 | | - }) |
35 | | - ); |
36 | | - } |
| 34 | + }; |
| 35 | + _visit(node); |
| 36 | + return list; |
37 | 37 | }; |
38 | | - _visit(node); |
39 | | - return list; |
40 | | -} |
41 | 38 |
|
42 | | -/** |
43 | | - * |
44 | | - * @param {string} code |
45 | | - * @returns {string} |
46 | | - */ |
47 | | -export function preProcess(code) { |
48 | 39 | let parser = new assemblyscript.Parser(); |
49 | 40 | parser.parseFile(code, "pre_process.ts", false); |
50 | 41 | let source = parser.sources[0]; |
|
0 commit comments