motoko 3.1.3 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
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;AACrD,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,GAAG,EAAE,CAAC;AACvD,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG,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,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,9 +1,9 @@
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;
@@ -12,7 +12,7 @@ function simplifyAST(ast) {
12
12
  const [start, end, subAst] = ast.args;
13
13
  const node = Object.assign(Object.assign({}, (typeof subAst === 'string'
14
14
  ? { name: subAst }
15
- : simplifyAST(subAst))), { start: [+start.args[1], +start.args[2]], end: [+end.args[1], +end.args[2]] });
15
+ : simplifyAST(subAst, parent))), { start: [+start.args[1], +start.args[2]], end: [+end.args[1], +end.args[2]] });
16
16
  const file = start.args[0];
17
17
  if (file) {
18
18
  node.file = file;
@@ -23,18 +23,23 @@ function simplifyAST(ast) {
23
23
  const [typeAst, type] = ast.args;
24
24
  return Object.assign(Object.assign({}, (typeof typeAst === 'string'
25
25
  ? { name: typeAst }
26
- : simplifyAST(typeAst))), { type });
26
+ : simplifyAST(typeAst, parent))), { type });
27
27
  }
28
28
  if (ast.name === '*') {
29
29
  const [doc, docAst] = ast.args;
30
30
  return Object.assign(Object.assign({}, (typeof docAst === 'string'
31
31
  ? { name: docAst }
32
- : simplifyAST(docAst))), { doc });
32
+ : simplifyAST(docAst, parent))), { doc });
33
33
  }
34
- return {
34
+ const node = {
35
35
  name: ast.name,
36
- args: simplifyAST(ast.args),
37
36
  };
37
+ Object.defineProperty(node, 'parent', {
38
+ value: parent,
39
+ enumerable: false,
40
+ });
41
+ node.args = simplifyAST(ast.args, node);
42
+ return node;
38
43
  }
39
44
  exports.simplifyAST = simplifyAST;
40
45
  //# 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":";;;AA6BA,SAAgB,WAAW,CAAC,GAAgB;IACxC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACpB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;KACzC;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,mCACH,CAAC,OAAO,MAAM,KAAK,QAAQ;YAC1B,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;YAClB,CAAC,CAAC,WAAW,CAAC,MAA6B,CAAC,CAAC,KACjD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EACvC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GACpC,CAAC;QACF,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,CAAC,CAAC,KAC3B,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,CAAC,CAAC,KAC1B,GAAG,IACL;KACL;IACD,OAAO;QACH,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;KAC9B,CAAC;AACN,CAAC;AAhDD,kCAgDC"}
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,mCACH,CAAC,OAAO,MAAM,KAAK,QAAQ;YAC1B,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;YAClB,CAAC,CAAC,WAAW,CAAC,MAA6B,EAAE,MAAM,CAAC,CAAC,KACzD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EACvC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GACpC,CAAC;QACF,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;AArDD,kCAqDC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "motoko",
3
- "version": "3.1.3",
3
+ "version": "3.2.0",
4
4
  "description": "Compile and run Motoko smart contracts in Node.js or the browser.",
5
5
  "author": "Ryan Vandersmith (https://github.com/rvanasa)",
6
6
  "license": "Apache-2.0",