@ibyar/expressions 0.5.4 → 0.6.0

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 (137) 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 +7 -2
  5. package/api/abstract.js.map +1 -1
  6. package/api/class/class.d.ts +45 -24
  7. package/api/class/class.js +158 -112
  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/computing/return.d.ts +4 -0
  15. package/api/computing/return.js +5 -0
  16. package/api/computing/return.js.map +1 -1
  17. package/api/computing/throw.d.ts +4 -0
  18. package/api/computing/throw.js +4 -0
  19. package/api/computing/throw.js.map +1 -1
  20. package/api/definition/array.d.ts +7 -6
  21. package/api/definition/array.js +20 -14
  22. package/api/definition/array.js.map +1 -1
  23. package/api/definition/bind.d.ts +6 -0
  24. package/api/definition/bind.js +6 -0
  25. package/api/definition/bind.js.map +1 -1
  26. package/api/definition/function.d.ts +35 -46
  27. package/api/definition/function.js +282 -299
  28. package/api/definition/function.js.map +1 -1
  29. package/api/definition/member.js.map +1 -1
  30. package/api/definition/object.d.ts +9 -6
  31. package/api/definition/object.js +35 -5
  32. package/api/definition/object.js.map +1 -1
  33. package/api/definition/statement.js +5 -1
  34. package/api/definition/statement.js.map +1 -1
  35. package/api/definition/values.d.ts +43 -50
  36. package/api/definition/values.js +84 -149
  37. package/api/definition/values.js.map +1 -1
  38. package/api/deserialize/deserialize.d.ts +7 -1
  39. package/api/deserialize/deserialize.js +9 -1
  40. package/api/deserialize/deserialize.js.map +1 -1
  41. package/api/deserialize/type-store.d.ts +2 -2
  42. package/api/deserialize/type-store.js.map +1 -1
  43. package/api/expression.d.ts +156 -12
  44. package/api/expression.js.map +1 -1
  45. package/api/index.d.ts +2 -0
  46. package/api/index.js +2 -0
  47. package/api/index.js.map +1 -1
  48. package/api/module/common.d.ts +29 -0
  49. package/api/module/common.js +71 -0
  50. package/api/module/common.js.map +1 -0
  51. package/api/module/export.d.ts +78 -9
  52. package/api/module/export.js +120 -15
  53. package/api/module/export.js.map +1 -1
  54. package/api/module/import.d.ts +56 -8
  55. package/api/module/import.js +62 -19
  56. package/api/module/import.js.map +1 -1
  57. package/api/operators/grouping.d.ts +7 -0
  58. package/api/operators/grouping.js +7 -0
  59. package/api/operators/grouping.js.map +1 -1
  60. package/api/operators/pipeline.d.ts +12 -0
  61. package/api/operators/pipeline.js +12 -0
  62. package/api/operators/pipeline.js.map +1 -1
  63. package/api/operators/unary.js +3 -0
  64. package/api/operators/unary.js.map +1 -1
  65. package/api/{module/app/program.d.ts → program.d.ts} +5 -5
  66. package/api/{module/app/program.js → program.js} +3 -3
  67. package/api/program.js.map +1 -0
  68. package/api/statement/control/block.d.ts +5 -2
  69. package/api/statement/control/block.js +24 -21
  70. package/api/statement/control/block.js.map +1 -1
  71. package/api/statement/control/empty.d.ts +7 -0
  72. package/api/statement/control/empty.js +7 -0
  73. package/api/statement/control/empty.js.map +1 -1
  74. package/api/statement/control/if.d.ts +5 -0
  75. package/api/statement/control/if.js +5 -0
  76. package/api/statement/control/if.js.map +1 -1
  77. package/api/statement/control/switch.d.ts +6 -0
  78. package/api/statement/control/switch.js +17 -3
  79. package/api/statement/control/switch.js.map +1 -1
  80. package/api/statement/control/terminate.d.ts +44 -11
  81. package/api/statement/control/terminate.js +87 -18
  82. package/api/statement/control/terminate.js.map +1 -1
  83. package/api/statement/declarations/declares.d.ts +7 -7
  84. package/api/statement/declarations/declares.js +1 -1
  85. package/api/statement/declarations/declares.js.map +1 -1
  86. package/api/statement/iterations/for.d.ts +5 -0
  87. package/api/statement/iterations/for.js +35 -16
  88. package/api/statement/iterations/for.js.map +1 -1
  89. package/api/statement/iterations/while.d.ts +6 -0
  90. package/api/statement/iterations/while.js +25 -11
  91. package/api/statement/iterations/while.js.map +1 -1
  92. package/api/utils.d.ts +2 -0
  93. package/api/utils.js +3 -1
  94. package/api/utils.js.map +1 -1
  95. package/package.json +7 -5
  96. package/scope/event.d.ts +3 -3
  97. package/scope/event.js +2 -2
  98. package/scope/event.js.map +1 -1
  99. package/scope/pool.d.ts +7 -0
  100. package/scope/pool.js +29 -0
  101. package/scope/pool.js.map +1 -0
  102. package/scope/proxy.d.ts +6 -11
  103. package/scope/proxy.js +23 -52
  104. package/scope/proxy.js.map +1 -1
  105. package/scope/scope.d.ts +161 -38
  106. package/scope/scope.js +260 -106
  107. package/scope/scope.js.map +1 -1
  108. package/scope/stack.d.ts +97 -21
  109. package/scope/stack.js +13 -0
  110. package/scope/stack.js.map +1 -1
  111. package/v8/enums.d.ts +204 -0
  112. package/v8/enums.js +406 -0
  113. package/v8/enums.js.map +1 -0
  114. package/v8/index.d.ts +2 -1
  115. package/v8/index.js +2 -1
  116. package/v8/index.js.map +1 -1
  117. package/v8/inline.d.ts +213 -0
  118. package/v8/inline.js +2375 -0
  119. package/v8/inline.js.map +1 -0
  120. package/v8/nodes.d.ts +8 -7
  121. package/v8/nodes.js +39 -64
  122. package/v8/nodes.js.map +1 -1
  123. package/v8/parser.d.ts +49 -151
  124. package/v8/parser.js +839 -1608
  125. package/v8/parser.js.map +1 -1
  126. package/v8/stream.d.ts +39 -3
  127. package/v8/stream.js +685 -171
  128. package/v8/stream.js.map +1 -1
  129. package/v8/token.d.ts +244 -9
  130. package/v8/token.js +315 -47
  131. package/v8/token.js.map +1 -1
  132. package/visit/visitor.d.ts +3 -0
  133. package/visit/visitor.js.map +1 -1
  134. package/api/module/app/program.js.map +0 -1
  135. package/v8/app.d.ts +0 -0
  136. package/v8/app.js +0 -2
  137. package/v8/app.js.map +0 -1
package/v8/token.d.ts CHANGED
@@ -1,74 +1,292 @@
1
1
  import type { ExpressionNode } from '../api/expression.js';
2
+ import { LanguageMode } from './enums.js';
2
3
  export declare class Token {
3
4
  private name;
4
5
  private precedence;
6
+ /**
7
+ * ___ ? ___ : ___
8
+ */
5
9
  static readonly CONDITIONAL: Token;
10
+ /**
11
+ * ___ ?? ___
12
+ */
6
13
  static readonly NULLISH: Token;
14
+ /**
15
+ * ___ |> ___ : ___ : ?
16
+ * ___ |> ___ ( ___, ___ , ?)
17
+ */
7
18
  static readonly PIPELINE: Token;
19
+ /**
20
+ * ___ || ___
21
+ */
8
22
  static readonly OR: Token;
23
+ /**
24
+ * ___ && ___
25
+ */
9
26
  static readonly AND: Token;
27
+ /**
28
+ * ___ | ___
29
+ */
10
30
  static readonly BIT_OR: Token;
31
+ /**
32
+ * ___ ^ ___
33
+ */
11
34
  static readonly BIT_XOR: Token;
35
+ /**
36
+ * ___ | ___
37
+ */
12
38
  static readonly BIT_AND: Token;
39
+ /**
40
+ * ___ << ___
41
+ */
13
42
  static readonly SHL: Token;
43
+ /**
44
+ * ___ >> ___
45
+ */
14
46
  static readonly SAR: Token;
47
+ /**
48
+ * ___ >>> ___
49
+ */
15
50
  static readonly SHR: Token;
51
+ /**
52
+ * ___ * ___
53
+ */
16
54
  static readonly MUL: Token;
55
+ /**
56
+ * ___ / ___
57
+ */
17
58
  static readonly DIV: Token;
59
+ /**
60
+ * ___ % ___
61
+ */
18
62
  static readonly MOD: Token;
63
+ /**
64
+ * ___ %% ___
65
+ */
19
66
  static readonly MODULO: Token;
67
+ /**
68
+ * ___ > ___
69
+ */
20
70
  static readonly LARGER: Token;
71
+ /**
72
+ * ___ > ___
73
+ */
21
74
  static readonly SMALLER: Token;
75
+ /**
76
+ * ___ ** ___
77
+ */
22
78
  static readonly EXP: Token;
79
+ /**
80
+ * ___ + ___
81
+ */
23
82
  static readonly ADD: Token;
83
+ /**
84
+ * ___ - ___
85
+ */
24
86
  static readonly SUB: Token;
87
+ /**
88
+ * ! ___
89
+ */
25
90
  static readonly NOT: Token;
91
+ /**
92
+ * ~ ___
93
+ */
26
94
  static readonly BIT_NOT: Token;
95
+ /**
96
+ * ___ < ___
97
+ */
27
98
  static readonly LT: Token;
99
+ /**
100
+ * ___ > ___
101
+ */
28
102
  static readonly GT: Token;
103
+ /**
104
+ * ___++
105
+ *
106
+ * ++___
107
+ */
29
108
  static readonly INC: Token;
109
+ /**
110
+ * ___--
111
+ *
112
+ * --___
113
+ */
30
114
  static readonly DEC: Token;
115
+ /**
116
+ * ___ == ___
117
+ */
31
118
  static readonly EQ: Token;
119
+ /**
120
+ * ___ === ___
121
+ */
32
122
  static readonly EQ_STRICT: Token;
123
+ /**
124
+ * ___ != ___
125
+ */
33
126
  static readonly NE: Token;
127
+ /**
128
+ * ___ !== ___
129
+ */
34
130
  static readonly NE_STRICT: Token;
131
+ /**
132
+ * ___ <= ___
133
+ */
35
134
  static readonly LTE: Token;
135
+ /**
136
+ * ___ >= ___
137
+ */
36
138
  static readonly GTE: Token;
139
+ /**
140
+ * ___ <=> ___
141
+ */
37
142
  static readonly SPACESHIP: Token;
143
+ /**
144
+ * ___ = ___
145
+ */
38
146
  static readonly ASSIGN: Token;
147
+ /**
148
+ * ___ += ___
149
+ */
39
150
  static readonly ADD_ASSIGN: Token;
151
+ /**
152
+ * ___ -= ___
153
+ */
40
154
  static readonly SUB_ASSIGN: Token;
155
+ /**
156
+ * ___ *= ___
157
+ */
41
158
  static readonly MUL_ASSIGN: Token;
159
+ /**
160
+ * ___ /= ___
161
+ */
42
162
  static readonly DIV_ASSIGN: Token;
163
+ /**
164
+ * ___ %= ___
165
+ */
43
166
  static readonly MOD_ASSIGN: Token;
167
+ /**
168
+ * ___ %% ___
169
+ */
44
170
  static readonly MODULO_ASSIGN: Token;
171
+ /**
172
+ * ___ > ___
173
+ */
45
174
  static readonly LARGER_ASSIGN: Token;
175
+ /**
176
+ * ___ > ___
177
+ */
46
178
  static readonly SMALLER_ASSIGN: Token;
179
+ /**
180
+ * ___ **= ___
181
+ */
47
182
  static readonly EXP_ASSIGN: Token;
183
+ /**
184
+ * ___ ^= ___
185
+ */
48
186
  static readonly BIT_XOR_ASSIGN: Token;
187
+ /**
188
+ * ___ &= ___
189
+ */
49
190
  static readonly BIT_AND_ASSIGN: Token;
191
+ /**
192
+ * ___ |= ___
193
+ */
50
194
  static readonly BIT_OR_ASSIGN: Token;
195
+ /**
196
+ * ___ &&= ___
197
+ */
51
198
  static readonly AND_ASSIGN: Token;
199
+ /**
200
+ * ___ ||= ___
201
+ */
52
202
  static readonly OR_ASSIGN: Token;
203
+ /**
204
+ * ___ ??= ___
205
+ */
53
206
  static readonly NULLISH_ASSIGN: Token;
207
+ /**
208
+ * ___ <<= ___
209
+ */
54
210
  static readonly SHL_ASSIGN: Token;
211
+ /**
212
+ * ___ >>= ___
213
+ */
55
214
  static readonly SAR_ASSIGN: Token;
215
+ /**
216
+ * ___ >>>= ___
217
+ */
56
218
  static readonly SHR_ASSIGN: Token;
219
+ /**
220
+ * ___ . ___
221
+ */
57
222
  static readonly PERIOD: Token;
223
+ /**
224
+ * ___ ?. ___
225
+ *
226
+ * ___?.[___]
227
+ *
228
+ * ___?.()
229
+ */
58
230
  static readonly QUESTION_PERIOD: Token;
231
+ /**
232
+ * ___ :: ___
233
+ */
59
234
  static readonly BIND: Token;
235
+ /**
236
+ * ___ ?:: ___
237
+ *
238
+ * ___?::[___]
239
+ *
240
+ * ___?::()
241
+ */
60
242
  static readonly QUESTION_BIND: Token;
61
- static readonly L_PARENTHESES: Token;
62
- static readonly R_PARENTHESES: Token;
63
- static readonly L_BRACKETS: Token;
64
- static readonly R_BRACKETS: Token;
65
- static readonly L_CURLY: Token;
66
- static readonly R_CURLY: Token;
243
+ /**
244
+ * (
245
+ */
246
+ static readonly LPAREN: Token;
247
+ /**
248
+ * )
249
+ */
250
+ static readonly RPAREN: Token;
251
+ /**
252
+ * [
253
+ */
254
+ static readonly LBRACK: Token;
255
+ /**
256
+ * ]
257
+ */
258
+ static readonly RBRACK: Token;
259
+ /**
260
+ * {
261
+ */
262
+ static readonly LBRACE: Token;
263
+ /**
264
+ * }
265
+ */
266
+ static readonly RBRACE: Token;
267
+ /**
268
+ * :
269
+ */
67
270
  static readonly COLON: Token;
271
+ /**
272
+ * ...
273
+ */
68
274
  static readonly ELLIPSIS: Token;
275
+ /**
276
+ * ;
277
+ */
69
278
  static readonly SEMICOLON: Token;
279
+ /**
280
+ * end of source
281
+ */
70
282
  static readonly EOS: Token;
283
+ /**
284
+ * =>
285
+ */
71
286
  static readonly ARROW: Token;
287
+ /**
288
+ * ___, ___, ___
289
+ */
72
290
  static readonly COMMA: Token;
73
291
  static readonly ASYNC: Token;
74
292
  static readonly AWAIT: Token;
@@ -124,7 +342,20 @@ export declare class Token {
124
342
  static readonly BIGINT: Token;
125
343
  static readonly STRING: Token;
126
344
  static readonly IDENTIFIER: Token;
127
- static readonly TEMPLATE_LITERALS: Token;
345
+ /**
346
+ * TEMPLATE_SPAN ::
347
+ *
348
+ * ` LiteralChars* ${
349
+ * | } LiteralChars* ${
350
+ */
351
+ static readonly TEMPLATE_SPAN: Token;
352
+ /**
353
+ * TEMPLATE_TAIL ::
354
+ *
355
+ * ` LiteralChars* `
356
+ * | } LiteralChar* `
357
+ */
358
+ static readonly TEMPLATE_TAIL: Token;
128
359
  static readonly ILLEGAL: Token;
129
360
  static readonly ESCAPED_KEYWORD: Token;
130
361
  static readonly WHITESPACE: Token;
@@ -144,9 +375,11 @@ export declare class Token {
144
375
  static isMember(token: Token): boolean;
145
376
  static isTemplate(token: Token): boolean;
146
377
  static isNextLetKeyword(token: Token): boolean;
378
+ static isInRangeIdentifierAndAsync(token: Token): boolean;
147
379
  static isPropertyOrCall(token: Token): boolean;
148
380
  static isPropertyName(token: Token): boolean;
149
381
  private static isInRange;
382
+ static isProperty(token: number | Token): boolean;
150
383
  static isBinary(token: number | Token): boolean;
151
384
  static isCompare(token: Token): boolean;
152
385
  static isOrderedRelationalCompare(token: Token): boolean;
@@ -159,10 +392,12 @@ export declare class Token {
159
392
  static isShift(token: Token): boolean;
160
393
  static isStrictReservedWord(token: Token): boolean;
161
394
  static isPipelineOperator(token: Token): boolean;
162
- static isValidIdentifier(token: Token): boolean;
395
+ static isValidIdentifier(token: Token, mode: LanguageMode, isGenerator: boolean, disallowAwait: boolean): boolean;
396
+ static precedence(token: Token, acceptIN: boolean): number;
163
397
  constructor(name: string, precedence: number);
164
398
  getName(): string;
165
399
  getPrecedence(): number;
400
+ equal(token: Token): boolean;
166
401
  }
167
402
  export declare class TokenExpression {
168
403
  token: Token;
@@ -171,6 +406,6 @@ export declare class TokenExpression {
171
406
  getValue<T extends ExpressionNode>(): T;
172
407
  isType(type: Token): boolean;
173
408
  isNotType(type: Token): boolean;
174
- test(func: (token: Token) => boolean): boolean;
409
+ test(func: (token: Token, value?: ExpressionNode) => boolean): boolean;
175
410
  toString(): string;
176
411
  }