motoko 3.1.3 → 3.2.1
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/ast.d.ts +4 -3
- package/lib/ast.d.ts.map +1 -1
- package/lib/ast.js +15 -8
- package/lib/ast.js.map +1 -1
- package/package.json +1 -1
- package/packages/latest/base.json +1 -1
- package/src/ast.ts +26 -16
- package/versions/latest/moc.min.js +1 -1
- package/versions/latest/moc_interpreter.min.js +1 -1
package/lib/ast.d.ts
CHANGED
@@ -15,13 +15,14 @@ export interface Source {
|
|
15
15
|
end: Span;
|
16
16
|
}
|
17
17
|
export interface Node extends Partial<Source> {
|
18
|
+
parent?: Node | undefined;
|
18
19
|
name: string;
|
19
20
|
type?: string;
|
20
21
|
doc?: string;
|
21
22
|
declaration?: Source;
|
22
23
|
args?: AST[];
|
23
24
|
}
|
24
|
-
export declare function simplifyAST(ast: CompilerNode): Node;
|
25
|
-
export declare function simplifyAST(ast: CompilerAST[]): AST[];
|
26
|
-
export declare function simplifyAST<T extends CompilerAST>(ast: T): T;
|
25
|
+
export declare function simplifyAST(ast: CompilerNode, parent?: Node | undefined): Node;
|
26
|
+
export declare function simplifyAST(ast: CompilerAST[], parent?: Node | undefined): AST[];
|
27
|
+
export declare function simplifyAST<T extends CompilerAST>(ast: T, parent?: Node | undefined): T;
|
27
28
|
//# sourceMappingURL=ast.d.ts.map
|
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,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,GAAG,IAAI,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,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,18 +1,20 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.simplifyAST = void 0;
|
4
|
-
function simplifyAST(ast) {
|
4
|
+
function simplifyAST(ast, parent) {
|
5
5
|
if (Array.isArray(ast)) {
|
6
|
-
return ast.map((a) => simplifyAST(a));
|
6
|
+
return ast.map((a) => simplifyAST(a, parent));
|
7
7
|
}
|
8
8
|
if (typeof ast !== 'object') {
|
9
9
|
return ast;
|
10
10
|
}
|
11
11
|
if (ast.name === '@') {
|
12
12
|
const [start, end, subAst] = ast.args;
|
13
|
-
const node =
|
13
|
+
const node = typeof subAst === 'string'
|
14
14
|
? { name: subAst }
|
15
|
-
: simplifyAST(subAst
|
15
|
+
: simplifyAST(subAst, parent);
|
16
|
+
node.start = [+start.args[1], +start.args[2]];
|
17
|
+
node.end = [+end.args[1], +end.args[2]];
|
16
18
|
const file = start.args[0];
|
17
19
|
if (file) {
|
18
20
|
node.file = file;
|
@@ -23,18 +25,23 @@ function simplifyAST(ast) {
|
|
23
25
|
const [typeAst, type] = ast.args;
|
24
26
|
return Object.assign(Object.assign({}, (typeof typeAst === 'string'
|
25
27
|
? { name: typeAst }
|
26
|
-
: simplifyAST(typeAst))), { type });
|
28
|
+
: simplifyAST(typeAst, parent))), { type });
|
27
29
|
}
|
28
30
|
if (ast.name === '*') {
|
29
31
|
const [doc, docAst] = ast.args;
|
30
32
|
return Object.assign(Object.assign({}, (typeof docAst === 'string'
|
31
33
|
? { name: docAst }
|
32
|
-
: simplifyAST(docAst))), { doc });
|
34
|
+
: simplifyAST(docAst, parent))), { doc });
|
33
35
|
}
|
34
|
-
|
36
|
+
const node = {
|
35
37
|
name: ast.name,
|
36
|
-
args: simplifyAST(ast.args),
|
37
38
|
};
|
39
|
+
Object.defineProperty(node, 'parent', {
|
40
|
+
value: parent,
|
41
|
+
enumerable: false,
|
42
|
+
});
|
43
|
+
node.args = simplifyAST(ast.args, node);
|
44
|
+
return node;
|
38
45
|
}
|
39
46
|
exports.simplifyAST = simplifyAST;
|
40
47
|
//# sourceMappingURL=ast.js.map
|
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":";;;AAmCA,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;YAClB,CAAC,CAAC,WAAW,CAAC,MAA6B,EAAE,MAAM,CAAC,CAAC;QAC7D,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,IAA6B,CAAC;QAC1D,uCACO,CAAC,OAAO,OAAO,KAAK,QAAQ;YAC3B,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE;YACnB,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,KACnC,IAAI,IACN;KACL;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;QAClB,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,IAA6B,CAAC;QACxD,uCACO,CAAC,OAAO,MAAM,KAAK,QAAQ;YAC1B,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;YAClB,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAClC,GAAG,IACL;KACL;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/package.json
CHANGED