@ibyar/expressions 0.5.4 → 0.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1 -0
  3. package/api/abstract.d.ts +3 -3
  4. package/api/abstract.js +2 -2
  5. package/api/abstract.js.map +1 -1
  6. package/api/class/class.d.ts +18 -12
  7. package/api/class/class.js +122 -81
  8. package/api/class/class.js.map +1 -1
  9. package/api/computing/debugger.d.ts +15 -0
  10. package/api/computing/debugger.js +35 -0
  11. package/api/computing/debugger.js.map +1 -0
  12. package/api/computing/rest.d.ts +4 -4
  13. package/api/computing/rest.js.map +1 -1
  14. package/api/definition/array.d.ts +7 -6
  15. package/api/definition/array.js +20 -14
  16. package/api/definition/array.js.map +1 -1
  17. package/api/definition/function.d.ts +35 -46
  18. package/api/definition/function.js +281 -299
  19. package/api/definition/function.js.map +1 -1
  20. package/api/definition/object.d.ts +9 -6
  21. package/api/definition/object.js +34 -4
  22. package/api/definition/object.js.map +1 -1
  23. package/api/definition/statement.js +5 -1
  24. package/api/definition/statement.js.map +1 -1
  25. package/api/definition/values.d.ts +31 -47
  26. package/api/definition/values.js +59 -145
  27. package/api/definition/values.js.map +1 -1
  28. package/api/deserialize/deserialize.d.ts +2 -1
  29. package/api/deserialize/deserialize.js +4 -1
  30. package/api/deserialize/deserialize.js.map +1 -1
  31. package/api/deserialize/type-store.d.ts +2 -2
  32. package/api/deserialize/type-store.js.map +1 -1
  33. package/api/expression.d.ts +5 -7
  34. package/api/expression.js.map +1 -1
  35. package/api/index.d.ts +2 -0
  36. package/api/index.js +2 -0
  37. package/api/index.js.map +1 -1
  38. package/api/module/common.d.ts +29 -0
  39. package/api/module/common.js +71 -0
  40. package/api/module/common.js.map +1 -0
  41. package/api/module/export.d.ts +15 -9
  42. package/api/module/export.js +57 -15
  43. package/api/module/export.js.map +1 -1
  44. package/api/module/import.d.ts +3 -8
  45. package/api/module/import.js +9 -19
  46. package/api/module/import.js.map +1 -1
  47. package/api/{module/app/program.d.ts → program.d.ts} +4 -4
  48. package/api/{module/app/program.js → program.js} +3 -3
  49. package/api/program.js.map +1 -0
  50. package/api/statement/control/block.d.ts +1 -2
  51. package/api/statement/control/block.js +20 -21
  52. package/api/statement/control/block.js.map +1 -1
  53. package/api/statement/control/switch.js +8 -3
  54. package/api/statement/control/switch.js.map +1 -1
  55. package/api/statement/control/terminate.d.ts +36 -11
  56. package/api/statement/control/terminate.js +79 -18
  57. package/api/statement/control/terminate.js.map +1 -1
  58. package/api/statement/declarations/declares.d.ts +7 -7
  59. package/api/statement/declarations/declares.js +1 -1
  60. package/api/statement/declarations/declares.js.map +1 -1
  61. package/api/statement/iterations/for.js +22 -16
  62. package/api/statement/iterations/for.js.map +1 -1
  63. package/api/statement/iterations/while.js +15 -11
  64. package/api/statement/iterations/while.js.map +1 -1
  65. package/api/utils.d.ts +2 -0
  66. package/api/utils.js +3 -1
  67. package/api/utils.js.map +1 -1
  68. package/package.json +4 -4
  69. package/scope/proxy.d.ts +0 -2
  70. package/scope/proxy.js +4 -24
  71. package/scope/proxy.js.map +1 -1
  72. package/scope/stack.d.ts +2 -2
  73. package/scope/stack.js.map +1 -1
  74. package/v8/enums.d.ts +204 -0
  75. package/v8/enums.js +375 -0
  76. package/v8/enums.js.map +1 -0
  77. package/v8/index.d.ts +2 -1
  78. package/v8/index.js +2 -1
  79. package/v8/index.js.map +1 -1
  80. package/v8/inline.d.ts +177 -0
  81. package/v8/inline.js +1973 -0
  82. package/v8/inline.js.map +1 -0
  83. package/v8/nodes.d.ts +8 -7
  84. package/v8/nodes.js +37 -63
  85. package/v8/nodes.js.map +1 -1
  86. package/v8/parser.d.ts +41 -151
  87. package/v8/parser.js +507 -1579
  88. package/v8/parser.js.map +1 -1
  89. package/v8/stream.d.ts +35 -3
  90. package/v8/stream.js +616 -164
  91. package/v8/stream.js.map +1 -1
  92. package/v8/token.d.ts +15 -9
  93. package/v8/token.js +79 -46
  94. package/v8/token.js.map +1 -1
  95. package/visit/visitor.js.map +1 -1
  96. package/api/module/app/program.js.map +0 -1
  97. package/v8/app.d.ts +0 -0
  98. package/v8/app.js +0 -2
  99. package/v8/app.js.map +0 -1
@@ -1,34 +1,15 @@
1
- import type { CanDeclareExpression, ExpressionEventPath, ExpressionNode, NodeDeserializer, VisitNodeType } from '../expression.js';
2
- import type { Stack } from '../../scope/stack.js';
1
+ import type { DeclarationExpression, ExpressionEventPath, ExpressionNode, NodeDeserializer, VisitNodeType } from '../expression.js';
2
+ import { Stack } from '../../scope/stack.js';
3
3
  import { Scope } from '../../scope/scope.js';
4
4
  import { AbstractExpressionNode } from '../abstract.js';
5
- export declare enum FunctionKind {
6
- NORMAL = "NORMAL",
7
- ASYNC = "ASYNC",
8
- GENERATOR = "GENERATOR",
9
- ASYNC_GENERATOR = "ASYNC_GENERATOR",
10
- CONCISE = "CONCISE",
11
- ASYNC_CONCISE = "ASYNC_CONCISE",
12
- CONCISE_GENERATOR = "CONCISE_GENERATOR",
13
- ASYNC_CONCISE_GENERATOR = "ASYNC_CONCISE_GENERATOR",
14
- STATIC_CONCISE = "STATIC_CONCISE",
15
- STATIC_ASYNC_CONCISE = "STATIC_ASYNC_CONCISE",
16
- STATIC_CONCISE_GENERATOR = "STATIC_CONCISE_GENERATOR",
17
- STATIC_ASYNC_CONCISE_GENERATOR = "STATIC_ASYNC_CONCISE_GENERATOR",
18
- DERIVED_CONSTRUCTOR = "DERIVED_CONSTRUCTOR",
19
- BASE_CONSTRUCTOR = "BASE_CONSTRUCTOR"
20
- }
21
- export declare enum ArrowFunctionType {
22
- NORMAL = "NORMAL",
23
- ASYNC = "ASYNC"
24
- }
5
+ import { Identifier } from './values.js';
25
6
  export declare class Param extends AbstractExpressionNode {
26
7
  private identifier;
27
8
  private defaultValue?;
28
9
  static fromJSON(node: Param, deserializer: NodeDeserializer): Param;
29
10
  static visit(node: Param, visitNode: VisitNodeType): void;
30
- constructor(identifier: CanDeclareExpression, defaultValue?: ExpressionNode | undefined);
31
- getIdentifier(): CanDeclareExpression;
11
+ constructor(identifier: DeclarationExpression, defaultValue?: ExpressionNode | undefined);
12
+ getIdentifier(): DeclarationExpression;
32
13
  getDefaultValue(): ExpressionNode | undefined;
33
14
  shareVariables(scopeList: Scope<any>[]): void;
34
15
  set(stack: Stack, value: Function): void;
@@ -38,56 +19,64 @@ export declare class Param extends AbstractExpressionNode {
38
19
  toString(): string;
39
20
  toJson(): object;
40
21
  }
41
- export declare abstract class FunctionBaseExpression extends AbstractExpressionNode {
22
+ export declare abstract class BaseFunctionExpression extends AbstractExpressionNode {
42
23
  private sharedVariables;
43
24
  shareVariables(scopeList: Scope<any>[]): void;
44
25
  initFunctionScope(stack: Stack): Scope<any>[];
45
26
  clearFunctionScope(stack: Stack, innerScopes: Scope<any>[]): void;
46
27
  }
47
- export declare class FunctionExpression extends FunctionBaseExpression {
28
+ export declare class FunctionExpression extends BaseFunctionExpression {
48
29
  protected params: ExpressionNode[];
49
- protected body: ExpressionNode[];
50
- protected kind: FunctionKind;
51
- protected id?: CanDeclareExpression | undefined;
52
- protected rest?: boolean | undefined;
53
- protected generator?: boolean | undefined;
30
+ protected body: ExpressionNode;
31
+ protected async: boolean;
32
+ protected generator: boolean;
33
+ protected id?: Identifier | undefined;
54
34
  static fromJSON(node: FunctionExpression, deserializer: NodeDeserializer): FunctionExpression;
55
35
  static visit(node: FunctionExpression, visitNode: VisitNodeType): void;
56
- constructor(params: ExpressionNode[], body: ExpressionNode[], kind: FunctionKind, id?: CanDeclareExpression | undefined, rest?: boolean | undefined, generator?: boolean | undefined);
36
+ constructor(params: ExpressionNode[], body: ExpressionNode, async: boolean, generator: boolean, id?: Identifier | undefined);
57
37
  getParams(): ExpressionNode[];
58
- getBody(): ExpressionNode[];
59
- getKind(): FunctionKind;
60
- getId(): CanDeclareExpression | undefined;
61
- getRest(): boolean | undefined;
38
+ getBody(): ExpressionNode;
39
+ getGenerator(): boolean;
40
+ getId(): Identifier | undefined;
41
+ getAsync(): boolean;
62
42
  set(stack: Stack, value: Function): void;
63
43
  setParameter(stack: Stack, args: any[]): void;
64
44
  get(stack: Stack): Function;
45
+ private getAsyncFunction;
46
+ private getGeneratorFunction;
47
+ private getAsyncGeneratorFunction;
48
+ private getFunction;
65
49
  dependency(computed?: true): ExpressionNode[];
66
50
  dependencyPath(computed?: true): ExpressionEventPath[];
67
51
  toString(): string;
52
+ paramsAndBodyToString(): string;
68
53
  toJson(): object;
69
54
  }
70
- export declare class FunctionDeclaration extends FunctionExpression {
55
+ export declare class FunctionDeclaration extends FunctionExpression implements DeclarationExpression {
71
56
  static fromJSON(node: FunctionDeclaration, deserializer: NodeDeserializer): FunctionDeclaration;
72
57
  static visit(node: FunctionDeclaration, visitNode: VisitNodeType): void;
73
- protected id?: CanDeclareExpression;
74
- constructor(params: ExpressionNode[], body: ExpressionNode[], kind: FunctionKind, id?: CanDeclareExpression, rest?: boolean, generator?: boolean);
58
+ protected id: Identifier;
59
+ constructor(params: ExpressionNode[], body: ExpressionNode, async: boolean, generator: boolean, id: Identifier);
60
+ get(stack: Stack): Function;
61
+ declareVariable(stack: Stack, value: Function): void;
75
62
  }
76
- export declare class ArrowFunctionExpression extends FunctionBaseExpression {
63
+ export declare class ArrowFunctionExpression extends BaseFunctionExpression {
77
64
  private params;
78
65
  private body;
79
- private kind;
80
- private rest?;
81
- private generator?;
66
+ private expression;
67
+ private async;
82
68
  static fromJSON(node: ArrowFunctionExpression, deserializer: NodeDeserializer): ArrowFunctionExpression;
83
69
  static visit(node: ArrowFunctionExpression, visitNode: VisitNodeType): void;
84
- constructor(params: ExpressionNode[], body: ExpressionNode | ExpressionNode[], kind: ArrowFunctionType, rest?: boolean | undefined, generator?: boolean | undefined);
70
+ private generator;
71
+ constructor(params: ExpressionNode[], body: ExpressionNode | ExpressionNode[], expression: boolean, async: boolean);
85
72
  getParams(): ExpressionNode[];
86
73
  getBody(): ExpressionNode | ExpressionNode[];
87
- getRest(): boolean | undefined;
74
+ getExpression(): boolean;
88
75
  set(stack: Stack, value: Function): void;
89
76
  private setParameter;
90
- get(stack: Stack): Function;
77
+ get(stack: Stack): void | ((...args: any[]) => any);
78
+ private getAsyncArrowFunction;
79
+ private getArrowFunction;
91
80
  dependency(computed?: true): ExpressionNode[];
92
81
  dependencyPath(computed?: true): ExpressionEventPath[];
93
82
  toString(): string;