motoko 3.2.0 → 3.3.0
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/ast.d.ts +1 -0
- package/lib/ast.d.ts.map +1 -1
- package/lib/ast.js +22 -10
- package/lib/ast.js.map +1 -1
- package/lib/file.d.ts +1 -1
- package/lib/file.js +1 -1
- package/lib/file.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/versions/interpreter.d.ts +1 -1
- package/lib/versions/moc.d.ts +1 -1
- package/package.json +1 -1
- package/src/ast.ts +27 -22
- package/src/file.ts +1 -1
package/lib/ast.d.ts
CHANGED
@@ -22,6 +22,7 @@ export interface Node extends Partial<Source> {
|
|
22
22
|
declaration?: Source;
|
23
23
|
args?: AST[];
|
24
24
|
}
|
25
|
+
export declare function asNode(ast: AST | undefined): Node | undefined;
|
25
26
|
export declare function simplifyAST(ast: CompilerNode, parent?: Node | undefined): Node;
|
26
27
|
export declare function simplifyAST(ast: CompilerAST[], parent?: Node | undefined): AST[];
|
27
28
|
export declare function simplifyAST<T extends CompilerAST>(ast: T, parent?: Node | undefined): T;
|
package/lib/ast.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW,GAAG,WAAW,EAAE,GAAG,YAAY,GAAG,MAAM,GAAG,IAAI,CAAC;AACvE,oBAAY,YAAY,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC;AAE3E,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,oBAAY,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACpC,oBAAY,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;AAE/C,MAAM,WAAW,MAAM;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,IAAI,CAAC;IACZ,GAAG,EAAE,IAAI,CAAC;CACb;AAED,MAAM,WAAW,IAAK,SAAQ,OAAO,CAAC,MAAM,CAAC;IACzC,MAAM,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;CAChB;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;AAChF,wBAAgB,WAAW,CACvB,GAAG,EAAE,WAAW,EAAE,EAClB,MAAM,CAAC,EAAE,IAAI,GAAG,SAAS,GAC1B,GAAG,EAAE,CAAC;AACT,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,EAC7C,GAAG,EAAE,CAAC,EACN,MAAM,CAAC,EAAE,IAAI,GAAG,SAAS,GAC1B,CAAC,CAAC"}
|
1
|
+
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW,GAAG,WAAW,EAAE,GAAG,YAAY,GAAG,MAAM,GAAG,IAAI,CAAC;AACvE,oBAAY,YAAY,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC;AAE3E,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,oBAAY,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACpC,oBAAY,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;AAE/C,MAAM,WAAW,MAAM;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,IAAI,CAAC;IACZ,GAAG,EAAE,IAAI,CAAC;CACb;AAED,MAAM,WAAW,IAAK,SAAQ,OAAO,CAAC,MAAM,CAAC;IACzC,MAAM,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;CAChB;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,CAI7D;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;AAChF,wBAAgB,WAAW,CACvB,GAAG,EAAE,WAAW,EAAE,EAClB,MAAM,CAAC,EAAE,IAAI,GAAG,SAAS,GAC1B,GAAG,EAAE,CAAC;AACT,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,EAC7C,GAAG,EAAE,CAAC,EACN,MAAM,CAAC,EAAE,IAAI,GAAG,SAAS,GAC1B,CAAC,CAAC"}
|
package/lib/ast.js
CHANGED
@@ -1,6 +1,12 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.simplifyAST = void 0;
|
3
|
+
exports.simplifyAST = exports.asNode = void 0;
|
4
|
+
function asNode(ast) {
|
5
|
+
if (ast && typeof ast === 'object' && !Array.isArray(ast)) {
|
6
|
+
return ast;
|
7
|
+
}
|
8
|
+
}
|
9
|
+
exports.asNode = asNode;
|
4
10
|
function simplifyAST(ast, parent) {
|
5
11
|
if (Array.isArray(ast)) {
|
6
12
|
return ast.map((a) => simplifyAST(a, parent));
|
@@ -10,9 +16,11 @@ function simplifyAST(ast, parent) {
|
|
10
16
|
}
|
11
17
|
if (ast.name === '@') {
|
12
18
|
const [start, end, subAst] = ast.args;
|
13
|
-
const node =
|
14
|
-
? { name: subAst }
|
15
|
-
: simplifyAST(subAst, parent)
|
19
|
+
const node = typeof subAst === 'string'
|
20
|
+
? { name: subAst, parent }
|
21
|
+
: simplifyAST(subAst, parent);
|
22
|
+
node.start = [+start.args[1], +start.args[2]];
|
23
|
+
node.end = [+end.args[1], +end.args[2]];
|
16
24
|
const file = start.args[0];
|
17
25
|
if (file) {
|
18
26
|
node.file = file;
|
@@ -21,15 +29,19 @@ function simplifyAST(ast, parent) {
|
|
21
29
|
}
|
22
30
|
if (ast.name === ':') {
|
23
31
|
const [typeAst, type] = ast.args;
|
24
|
-
|
25
|
-
? { name: typeAst }
|
26
|
-
: simplifyAST(typeAst, parent)
|
32
|
+
const node = typeof typeAst === 'string'
|
33
|
+
? { name: typeAst, parent }
|
34
|
+
: simplifyAST(typeAst, parent);
|
35
|
+
node.type = type;
|
36
|
+
return node;
|
27
37
|
}
|
28
38
|
if (ast.name === '*') {
|
29
39
|
const [doc, docAst] = ast.args;
|
30
|
-
|
31
|
-
? { name: docAst }
|
32
|
-
: simplifyAST(docAst, parent)
|
40
|
+
const node = typeof docAst === 'string'
|
41
|
+
? { name: docAst, parent }
|
42
|
+
: simplifyAST(docAst, parent);
|
43
|
+
node.doc = doc;
|
44
|
+
return node;
|
33
45
|
}
|
34
46
|
const node = {
|
35
47
|
name: ast.name,
|
package/lib/ast.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ast.js","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"ast.js","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":";;;AA0BA,SAAgB,MAAM,CAAC,GAAoB;IACvC,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACvD,OAAO,GAAG,CAAC;KACd;AACL,CAAC;AAJD,wBAIC;AAWD,SAAgB,WAAW,CAAC,GAAgB,EAAE,MAAyB;IACnE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACpB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;KACjD;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QACzB,OAAO,GAAG,CAAC;KACd;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;QAClB,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,IAIhC,CAAC;QACF,MAAM,IAAI,GACN,OAAO,MAAM,KAAK,QAAQ;YACtB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE;YAC1B,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,IAAI,EAAE;YACN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SACpB;QACD,OAAO,IAAI,CAAC;KACf;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;QAClB,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,IAA8B,CAAC;QAC3D,MAAM,IAAI,GACN,OAAO,OAAO,KAAK,QAAQ;YACvB,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE;YAC3B,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC;KACf;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;QAClB,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,IAA8B,CAAC;QACzD,MAAM,IAAI,GACN,OAAO,MAAM,KAAK,QAAQ;YACtB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE;YAC1B,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;KACf;IACD,MAAM,IAAI,GAAS;QACf,IAAI,EAAE,GAAG,CAAC,IAAI;KACjB,CAAC;IACF,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE;QAClC,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,KAAK;KACpB,CAAC,CAAC;IACH,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxC,OAAO,IAAI,CAAC;AAChB,CAAC;AApDD,kCAoDC"}
|
package/lib/file.d.ts
CHANGED
package/lib/file.js
CHANGED
package/lib/file.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"file.js","sourceRoot":"","sources":["../src/file.ts"],"names":[],"mappings":";;;AAEA,SAAS,YAAY,CAAC,IAAY;IAC9B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;KACjD;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QACtB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACxB;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QACpB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAC5B;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAIM,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,IAAY,EAAE,EAAE;IAC7C,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG;QACX,IAAI,IAAI;YACJ,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,IAAI,CAAC,OAAO;YACZ,IAAI,GAAG,OAAO,CAAC;QACnB,CAAC;QACD,kBAAkB;QAClB,uCAAuC;QACvC,iDAAiD;QACjD,KAAK;QACL,KAAK;YACD,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI;YACA,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QACD,KAAK,CAAC,OAAe;YACjB,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,CAAC,OAAe;YAClB,IAAI,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACtC,IAAI,GAAG,OAAO,CAAC;YACf,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,MAAM;YACF,OAAO,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI;YACA,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QACD,KAAK;YACD,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,GAAG;YACC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QACD,MAAM;YACF,OAAO,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,IAAc;YACf,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,WAAW;YACP,OAAO,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,WAAW;YACP,OAAO,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,gBAAgB;YACZ,OAAO,EAAE,CAAC,gBAAgB,CAAC,
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../src/file.ts"],"names":[],"mappings":";;;AAEA,SAAS,YAAY,CAAC,IAAY;IAC9B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;KACjD;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QACtB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACxB;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QACpB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAC5B;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAIM,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,IAAY,EAAE,EAAE;IAC7C,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG;QACX,IAAI,IAAI;YACJ,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,IAAI,CAAC,OAAO;YACZ,IAAI,GAAG,OAAO,CAAC;QACnB,CAAC;QACD,kBAAkB;QAClB,uCAAuC;QACvC,iDAAiD;QACjD,KAAK;QACL,KAAK;YACD,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI;YACA,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QACD,KAAK,CAAC,OAAe;YACjB,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,CAAC,OAAe;YAClB,IAAI,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACtC,IAAI,GAAG,OAAO,CAAC;YACf,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,MAAM;YACF,OAAO,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI;YACA,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QACD,KAAK;YACD,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,GAAG;YACC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QACD,MAAM;YACF,OAAO,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,IAAc;YACf,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,WAAW;YACP,OAAO,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,WAAW;YACP,OAAO,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,gBAAgB;YACZ,OAAO,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;KACJ,CAAC;IACF,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAxDW,QAAA,IAAI,QAwDf"}
|
package/lib/index.d.ts
CHANGED
package/lib/versions/moc.d.ts
CHANGED
package/package.json
CHANGED
package/src/ast.ts
CHANGED
@@ -24,6 +24,12 @@ export interface Node extends Partial<Source> {
|
|
24
24
|
args?: AST[];
|
25
25
|
}
|
26
26
|
|
27
|
+
export function asNode(ast: AST | undefined): Node | undefined {
|
28
|
+
if (ast && typeof ast === 'object' && !Array.isArray(ast)) {
|
29
|
+
return ast;
|
30
|
+
}
|
31
|
+
}
|
32
|
+
|
27
33
|
export function simplifyAST(ast: CompilerNode, parent?: Node | undefined): Node;
|
28
34
|
export function simplifyAST(
|
29
35
|
ast: CompilerAST[],
|
@@ -44,15 +50,14 @@ export function simplifyAST(ast: CompilerAST, parent?: Node | undefined): AST {
|
|
44
50
|
const [start, end, subAst] = ast.args as [
|
45
51
|
CompilerSpan,
|
46
52
|
CompilerSpan,
|
47
|
-
|
53
|
+
CompilerNode,
|
48
54
|
];
|
49
|
-
const node
|
50
|
-
|
51
|
-
? { name: subAst }
|
52
|
-
: simplifyAST(subAst
|
53
|
-
|
54
|
-
|
55
|
-
};
|
55
|
+
const node =
|
56
|
+
typeof subAst === 'string'
|
57
|
+
? { name: subAst, parent }
|
58
|
+
: simplifyAST(subAst, parent);
|
59
|
+
node.start = [+start.args[1], +start.args[2]];
|
60
|
+
node.end = [+end.args[1], +end.args[2]];
|
56
61
|
const file = start.args[0];
|
57
62
|
if (file) {
|
58
63
|
node.file = file;
|
@@ -60,22 +65,22 @@ export function simplifyAST(ast: CompilerAST, parent?: Node | undefined): AST {
|
|
60
65
|
return node;
|
61
66
|
}
|
62
67
|
if (ast.name === ':') {
|
63
|
-
const [typeAst, type] = ast.args as [
|
64
|
-
|
65
|
-
|
66
|
-
? { name: typeAst }
|
67
|
-
: simplifyAST(typeAst, parent)
|
68
|
-
|
69
|
-
|
68
|
+
const [typeAst, type] = ast.args as [CompilerNode, string];
|
69
|
+
const node =
|
70
|
+
typeof typeAst === 'string'
|
71
|
+
? { name: typeAst, parent }
|
72
|
+
: simplifyAST(typeAst, parent);
|
73
|
+
node.type = type;
|
74
|
+
return node;
|
70
75
|
}
|
71
76
|
if (ast.name === '*') {
|
72
|
-
const [doc, docAst] = ast.args as [string,
|
73
|
-
|
74
|
-
|
75
|
-
? { name: docAst }
|
76
|
-
: simplifyAST(docAst, parent)
|
77
|
-
|
78
|
-
|
77
|
+
const [doc, docAst] = ast.args as [string, CompilerNode];
|
78
|
+
const node =
|
79
|
+
typeof docAst === 'string'
|
80
|
+
? { name: docAst, parent }
|
81
|
+
: simplifyAST(docAst, parent);
|
82
|
+
node.doc = doc;
|
83
|
+
return node;
|
79
84
|
}
|
80
85
|
const node: Node = {
|
81
86
|
name: ast.name,
|