oxc-parser 0.72.1 → 0.72.2

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.
package/README.md CHANGED
@@ -18,6 +18,7 @@ If you need all ASTs in the same with-TS-properties format, use the `astType: 't
18
18
 
19
19
  The only differences between Oxc's AST and ESTree / TS-ESTree are:
20
20
 
21
+ - Support for Stage 3 [decorators](https://github.com/tc39/proposal-decorators).
21
22
  - Support for Stage 3 ECMA features [`import defer`](https://github.com/tc39/proposal-defer-import-eval)
22
23
  and [`import source`](https://github.com/tc39/proposal-source-phase-imports).
23
24
  - In TS-ESTree AST, `import.defer(...)` and `import.source(...)` are represented as an `ImportExpression`
@@ -123,12 +123,12 @@ function deserializeObjectProperty(pos) {
123
123
  type: 'Property',
124
124
  start: deserializeU32(pos),
125
125
  end: deserializeU32(pos + 4),
126
+ kind: deserializePropertyKind(pos + 40),
127
+ key: deserializePropertyKey(pos + 8),
128
+ value: deserializeExpression(pos + 24),
126
129
  method: deserializeBool(pos + 41),
127
130
  shorthand: deserializeBool(pos + 42),
128
131
  computed: deserializeBool(pos + 43),
129
- key: deserializePropertyKey(pos + 8),
130
- value: deserializeExpression(pos + 24),
131
- kind: deserializePropertyKind(pos + 40),
132
132
  };
133
133
  }
134
134
 
@@ -137,8 +137,8 @@ function deserializeTemplateLiteral(pos) {
137
137
  type: 'TemplateLiteral',
138
138
  start: deserializeU32(pos),
139
139
  end: deserializeU32(pos + 4),
140
- expressions: deserializeVecExpression(pos + 32),
141
140
  quasis: deserializeVecTemplateElement(pos + 8),
141
+ expressions: deserializeVecExpression(pos + 32),
142
142
  };
143
143
  }
144
144
 
@@ -178,8 +178,8 @@ function deserializeComputedMemberExpression(pos) {
178
178
  end: deserializeU32(pos + 4),
179
179
  object: deserializeExpression(pos + 8),
180
180
  property: deserializeExpression(pos + 24),
181
- computed: true,
182
181
  optional: deserializeBool(pos + 40),
182
+ computed: true,
183
183
  };
184
184
  }
185
185
 
@@ -190,8 +190,8 @@ function deserializeStaticMemberExpression(pos) {
190
190
  end: deserializeU32(pos + 4),
191
191
  object: deserializeExpression(pos + 8),
192
192
  property: deserializeIdentifierName(pos + 24),
193
- computed: false,
194
193
  optional: deserializeBool(pos + 48),
194
+ computed: false,
195
195
  };
196
196
  }
197
197
 
@@ -202,8 +202,8 @@ function deserializePrivateFieldExpression(pos) {
202
202
  end: deserializeU32(pos + 4),
203
203
  object: deserializeExpression(pos + 8),
204
204
  property: deserializePrivateIdentifier(pos + 24),
205
- computed: false,
206
205
  optional: deserializeBool(pos + 48),
206
+ computed: false,
207
207
  };
208
208
  }
209
209
 
@@ -264,8 +264,8 @@ function deserializeUnaryExpression(pos) {
264
264
  start: deserializeU32(pos),
265
265
  end: deserializeU32(pos + 4),
266
266
  operator: deserializeUnaryOperator(pos + 24),
267
- prefix: true,
268
267
  argument: deserializeExpression(pos + 8),
268
+ prefix: true,
269
269
  };
270
270
  }
271
271
 
@@ -386,12 +386,12 @@ function deserializeAssignmentTargetPropertyIdentifier(pos) {
386
386
  type: 'Property',
387
387
  start,
388
388
  end,
389
+ kind: 'init',
390
+ key,
391
+ value,
389
392
  method: false,
390
393
  shorthand: true,
391
394
  computed: false,
392
- key,
393
- value,
394
- kind: 'init',
395
395
  };
396
396
  }
397
397
 
@@ -400,12 +400,12 @@ function deserializeAssignmentTargetPropertyProperty(pos) {
400
400
  type: 'Property',
401
401
  start: deserializeU32(pos),
402
402
  end: deserializeU32(pos + 4),
403
+ kind: 'init',
404
+ key: deserializePropertyKey(pos + 8),
405
+ value: deserializeAssignmentTargetMaybeDefault(pos + 24),
403
406
  method: false,
404
407
  shorthand: false,
405
408
  computed: deserializeBool(pos + 40),
406
- key: deserializePropertyKey(pos + 8),
407
- value: deserializeAssignmentTargetMaybeDefault(pos + 24),
408
- kind: 'init',
409
409
  };
410
410
  }
411
411
 
@@ -486,8 +486,8 @@ function deserializeVariableDeclaration(pos) {
486
486
  type: 'VariableDeclaration',
487
487
  start: deserializeU32(pos),
488
488
  end: deserializeU32(pos + 4),
489
- declarations: deserializeVecVariableDeclarator(pos + 8),
490
489
  kind: deserializeVariableDeclarationKind(pos + 32),
490
+ declarations: deserializeVecVariableDeclarator(pos + 8),
491
491
  };
492
492
  }
493
493
 
@@ -636,8 +636,8 @@ function deserializeSwitchCase(pos) {
636
636
  type: 'SwitchCase',
637
637
  start: deserializeU32(pos),
638
638
  end: deserializeU32(pos + 4),
639
- consequent: deserializeVecStatement(pos + 24),
640
639
  test: deserializeOptionExpression(pos + 8),
640
+ consequent: deserializeVecStatement(pos + 24),
641
641
  };
642
642
  }
643
643
 
@@ -646,8 +646,8 @@ function deserializeLabeledStatement(pos) {
646
646
  type: 'LabeledStatement',
647
647
  start: deserializeU32(pos),
648
648
  end: deserializeU32(pos + 4),
649
- body: deserializeStatement(pos + 32),
650
649
  label: deserializeLabelIdentifier(pos + 8),
650
+ body: deserializeStatement(pos + 32),
651
651
  };
652
652
  }
653
653
 
@@ -728,12 +728,12 @@ function deserializeBindingProperty(pos) {
728
728
  type: 'Property',
729
729
  start: deserializeU32(pos),
730
730
  end: deserializeU32(pos + 4),
731
+ kind: 'init',
732
+ key: deserializePropertyKey(pos + 8),
733
+ value: deserializeBindingPattern(pos + 24),
731
734
  method: false,
732
735
  shorthand: deserializeBool(pos + 56),
733
736
  computed: deserializeBool(pos + 57),
734
- key: deserializePropertyKey(pos + 8),
735
- value: deserializeBindingPattern(pos + 24),
736
- kind: 'init',
737
737
  };
738
738
  }
739
739
 
@@ -765,11 +765,11 @@ function deserializeFunction(pos) {
765
765
  start: deserializeU32(pos),
766
766
  end: deserializeU32(pos + 4),
767
767
  id: deserializeOptionBindingIdentifier(pos + 8),
768
- expression: false,
769
768
  generator: deserializeBool(pos + 85),
770
769
  async: deserializeBool(pos + 86),
771
770
  params,
772
771
  body: deserializeOptionBoxFunctionBody(pos + 72),
772
+ expression: false,
773
773
  };
774
774
  }
775
775
 
@@ -809,12 +809,12 @@ function deserializeArrowFunctionExpression(pos) {
809
809
  type: 'ArrowFunctionExpression',
810
810
  start: deserializeU32(pos),
811
811
  end: deserializeU32(pos + 4),
812
- id: null,
813
812
  expression,
814
- generator: false,
815
813
  async: deserializeBool(pos + 45),
816
814
  params: deserializeBoxFormalParameters(pos + 16),
817
815
  body: expression ? body.body[0].expression : body,
816
+ id: null,
817
+ generator: false,
818
818
  };
819
819
  }
820
820
 
@@ -833,6 +833,7 @@ function deserializeClass(pos) {
833
833
  type: deserializeClassType(pos + 132),
834
834
  start: deserializeU32(pos),
835
835
  end: deserializeU32(pos + 4),
836
+ decorators: deserializeVecDecorator(pos + 8),
836
837
  id: deserializeOptionBindingIdentifier(pos + 32),
837
838
  superClass: deserializeOptionExpression(pos + 72),
838
839
  body: deserializeBoxClassBody(pos + 120),
@@ -853,11 +854,12 @@ function deserializeMethodDefinition(pos) {
853
854
  type: deserializeMethodDefinitionType(pos + 56),
854
855
  start: deserializeU32(pos),
855
856
  end: deserializeU32(pos + 4),
856
- static: deserializeBool(pos + 59),
857
- computed: deserializeBool(pos + 58),
857
+ decorators: deserializeVecDecorator(pos + 8),
858
858
  key: deserializePropertyKey(pos + 32),
859
- kind: deserializeMethodDefinitionKind(pos + 57),
860
859
  value: deserializeBoxFunction(pos + 48),
860
+ kind: deserializeMethodDefinitionKind(pos + 57),
861
+ computed: deserializeBool(pos + 58),
862
+ static: deserializeBool(pos + 59),
861
863
  };
862
864
  }
863
865
 
@@ -866,10 +868,11 @@ function deserializePropertyDefinition(pos) {
866
868
  type: deserializePropertyDefinitionType(pos + 72),
867
869
  start: deserializeU32(pos),
868
870
  end: deserializeU32(pos + 4),
869
- static: deserializeBool(pos + 74),
870
- computed: deserializeBool(pos + 73),
871
+ decorators: deserializeVecDecorator(pos + 8),
871
872
  key: deserializePropertyKey(pos + 32),
872
873
  value: deserializeOptionExpression(pos + 56),
874
+ computed: deserializeBool(pos + 73),
875
+ static: deserializeBool(pos + 74),
873
876
  };
874
877
  }
875
878
 
@@ -896,6 +899,7 @@ function deserializeAccessorProperty(pos) {
896
899
  type: deserializeAccessorPropertyType(pos + 72),
897
900
  start: deserializeU32(pos),
898
901
  end: deserializeU32(pos + 4),
902
+ decorators: deserializeVecDecorator(pos + 8),
899
903
  key: deserializePropertyKey(pos + 32),
900
904
  value: deserializeOptionExpression(pos + 56),
901
905
  computed: deserializeBool(pos + 73),
@@ -924,8 +928,8 @@ function deserializeImportDeclaration(pos) {
924
928
  end: deserializeU32(pos + 4),
925
929
  specifiers,
926
930
  source: deserializeStringLiteral(pos + 32),
927
- attributes: withClause === null ? [] : withClause.attributes,
928
931
  phase: deserializeOptionImportPhase(pos + 88),
932
+ attributes: withClause === null ? [] : withClause.attributes,
929
933
  };
930
934
  }
931
935
 
@@ -1142,8 +1146,8 @@ function deserializeJSXElement(pos) {
1142
1146
  start: deserializeU32(pos),
1143
1147
  end: deserializeU32(pos + 4),
1144
1148
  openingElement,
1145
- closingElement,
1146
1149
  children: deserializeVecJSXChild(pos + 16),
1150
+ closingElement,
1147
1151
  };
1148
1152
  }
1149
1153
 
@@ -1152,8 +1156,8 @@ function deserializeJSXOpeningElement(pos) {
1152
1156
  type: 'JSXOpeningElement',
1153
1157
  start: deserializeU32(pos),
1154
1158
  end: deserializeU32(pos + 4),
1155
- attributes: deserializeVecJSXAttributeItem(pos + 32),
1156
1159
  name: deserializeJSXElementName(pos + 8),
1160
+ attributes: deserializeVecJSXAttributeItem(pos + 32),
1157
1161
  selfClosing: false,
1158
1162
  };
1159
1163
  }
@@ -1173,8 +1177,8 @@ function deserializeJSXFragment(pos) {
1173
1177
  start: deserializeU32(pos),
1174
1178
  end: deserializeU32(pos + 4),
1175
1179
  openingFragment: deserializeJSXOpeningFragment(pos + 8),
1176
- closingFragment: deserializeJSXClosingFragment(pos + 40),
1177
1180
  children: deserializeVecJSXChild(pos + 16),
1181
+ closingFragment: deserializeJSXClosingFragment(pos + 40),
1178
1182
  };
1179
1183
  }
1180
1184
 
@@ -1285,8 +1289,8 @@ function deserializeTSThisParameter(pos) {
1285
1289
  type: 'Identifier',
1286
1290
  start: deserializeU32(pos),
1287
1291
  end: deserializeU32(pos + 4),
1288
- name: 'this',
1289
1292
  decorators: [],
1293
+ name: 'this',
1290
1294
  optional: false,
1291
1295
  typeAnnotation: deserializeOptionBoxTSTypeAnnotation(pos + 16),
1292
1296
  };
@@ -1319,8 +1323,8 @@ function deserializeTSEnumMember(pos) {
1319
1323
  start: deserializeU32(pos),
1320
1324
  end: deserializeU32(pos + 4),
1321
1325
  id: deserializeTSEnumMemberName(pos + 8),
1322
- computed: deserializeU8(pos + 8) > 1,
1323
1326
  initializer: deserializeOptionExpression(pos + 24),
1327
+ computed: deserializeU8(pos + 8) > 1,
1324
1328
  };
1325
1329
  }
1326
1330
 
@@ -1760,8 +1764,8 @@ function deserializeTSIndexSignatureName(pos) {
1760
1764
  type: 'Identifier',
1761
1765
  start: deserializeU32(pos),
1762
1766
  end: deserializeU32(pos + 4),
1763
- name: deserializeStr(pos + 8),
1764
1767
  decorators: [],
1768
+ name: deserializeStr(pos + 8),
1765
1769
  optional: false,
1766
1770
  typeAnnotation: deserializeBoxTSTypeAnnotation(pos + 24),
1767
1771
  };
@@ -1913,19 +1917,19 @@ function deserializeTSConstructorType(pos) {
1913
1917
  }
1914
1918
 
1915
1919
  function deserializeTSMappedType(pos) {
1920
+ const typeParameter = deserializeBoxTSTypeParameter(pos + 8);
1916
1921
  let optional = deserializeOptionTSMappedTypeModifierOperator(pos + 52);
1917
1922
  if (optional === null) optional = false;
1918
- const typeParameter = deserializeBoxTSTypeParameter(pos + 8);
1919
1923
  return {
1920
1924
  type: 'TSMappedType',
1921
1925
  start: deserializeU32(pos),
1922
1926
  end: deserializeU32(pos + 4),
1927
+ key: typeParameter.name,
1928
+ constraint: typeParameter.constraint,
1923
1929
  nameType: deserializeOptionTSType(pos + 16),
1924
1930
  typeAnnotation: deserializeOptionTSType(pos + 32),
1925
1931
  optional,
1926
1932
  readonly: deserializeOptionTSMappedTypeModifierOperator(pos + 53),
1927
- key: typeParameter.name,
1928
- constraint: typeParameter.constraint,
1929
1933
  };
1930
1934
  }
1931
1935
 
@@ -73,8 +73,8 @@ function deserializeIdentifierName(pos) {
73
73
  type: 'Identifier',
74
74
  start: deserializeU32(pos),
75
75
  end: deserializeU32(pos + 4),
76
- name: deserializeStr(pos + 8),
77
76
  decorators: [],
77
+ name: deserializeStr(pos + 8),
78
78
  optional: false,
79
79
  typeAnnotation: null,
80
80
  };
@@ -85,8 +85,8 @@ function deserializeIdentifierReference(pos) {
85
85
  type: 'Identifier',
86
86
  start: deserializeU32(pos),
87
87
  end: deserializeU32(pos + 4),
88
- name: deserializeStr(pos + 8),
89
88
  decorators: [],
89
+ name: deserializeStr(pos + 8),
90
90
  optional: false,
91
91
  typeAnnotation: null,
92
92
  };
@@ -97,8 +97,8 @@ function deserializeBindingIdentifier(pos) {
97
97
  type: 'Identifier',
98
98
  start: deserializeU32(pos),
99
99
  end: deserializeU32(pos + 4),
100
- name: deserializeStr(pos + 8),
101
100
  decorators: [],
101
+ name: deserializeStr(pos + 8),
102
102
  optional: false,
103
103
  typeAnnotation: null,
104
104
  };
@@ -109,8 +109,8 @@ function deserializeLabelIdentifier(pos) {
109
109
  type: 'Identifier',
110
110
  start: deserializeU32(pos),
111
111
  end: deserializeU32(pos + 4),
112
- name: deserializeStr(pos + 8),
113
112
  decorators: [],
113
+ name: deserializeStr(pos + 8),
114
114
  optional: false,
115
115
  typeAnnotation: null,
116
116
  };
@@ -151,12 +151,12 @@ function deserializeObjectProperty(pos) {
151
151
  type: 'Property',
152
152
  start: deserializeU32(pos),
153
153
  end: deserializeU32(pos + 4),
154
+ kind: deserializePropertyKind(pos + 40),
155
+ key: deserializePropertyKey(pos + 8),
156
+ value: deserializeExpression(pos + 24),
154
157
  method: deserializeBool(pos + 41),
155
158
  shorthand: deserializeBool(pos + 42),
156
159
  computed: deserializeBool(pos + 43),
157
- key: deserializePropertyKey(pos + 8),
158
- value: deserializeExpression(pos + 24),
159
- kind: deserializePropertyKind(pos + 40),
160
160
  optional: false,
161
161
  };
162
162
  }
@@ -166,8 +166,8 @@ function deserializeTemplateLiteral(pos) {
166
166
  type: 'TemplateLiteral',
167
167
  start: deserializeU32(pos),
168
168
  end: deserializeU32(pos + 4),
169
- expressions: deserializeVecExpression(pos + 32),
170
169
  quasis: deserializeVecTemplateElement(pos + 8),
170
+ expressions: deserializeVecExpression(pos + 32),
171
171
  };
172
172
  }
173
173
 
@@ -177,8 +177,8 @@ function deserializeTaggedTemplateExpression(pos) {
177
177
  start: deserializeU32(pos),
178
178
  end: deserializeU32(pos + 4),
179
179
  tag: deserializeExpression(pos + 8),
180
- quasi: deserializeTemplateLiteral(pos + 32),
181
180
  typeArguments: deserializeOptionBoxTSTypeParameterInstantiation(pos + 24),
181
+ quasi: deserializeTemplateLiteral(pos + 32),
182
182
  };
183
183
  }
184
184
 
@@ -208,8 +208,8 @@ function deserializeComputedMemberExpression(pos) {
208
208
  end: deserializeU32(pos + 4),
209
209
  object: deserializeExpression(pos + 8),
210
210
  property: deserializeExpression(pos + 24),
211
- computed: true,
212
211
  optional: deserializeBool(pos + 40),
212
+ computed: true,
213
213
  };
214
214
  }
215
215
 
@@ -220,8 +220,8 @@ function deserializeStaticMemberExpression(pos) {
220
220
  end: deserializeU32(pos + 4),
221
221
  object: deserializeExpression(pos + 8),
222
222
  property: deserializeIdentifierName(pos + 24),
223
- computed: false,
224
223
  optional: deserializeBool(pos + 48),
224
+ computed: false,
225
225
  };
226
226
  }
227
227
 
@@ -232,8 +232,8 @@ function deserializePrivateFieldExpression(pos) {
232
232
  end: deserializeU32(pos + 4),
233
233
  object: deserializeExpression(pos + 8),
234
234
  property: deserializePrivateIdentifier(pos + 24),
235
- computed: false,
236
235
  optional: deserializeBool(pos + 48),
236
+ computed: false,
237
237
  };
238
238
  }
239
239
 
@@ -243,9 +243,9 @@ function deserializeCallExpression(pos) {
243
243
  start: deserializeU32(pos),
244
244
  end: deserializeU32(pos + 4),
245
245
  callee: deserializeExpression(pos + 8),
246
+ typeArguments: deserializeOptionBoxTSTypeParameterInstantiation(pos + 24),
246
247
  arguments: deserializeVecArgument(pos + 32),
247
248
  optional: deserializeBool(pos + 56),
248
- typeArguments: deserializeOptionBoxTSTypeParameterInstantiation(pos + 24),
249
249
  };
250
250
  }
251
251
 
@@ -255,8 +255,8 @@ function deserializeNewExpression(pos) {
255
255
  start: deserializeU32(pos),
256
256
  end: deserializeU32(pos + 4),
257
257
  callee: deserializeExpression(pos + 8),
258
- arguments: deserializeVecArgument(pos + 32),
259
258
  typeArguments: deserializeOptionBoxTSTypeParameterInstantiation(pos + 24),
259
+ arguments: deserializeVecArgument(pos + 32),
260
260
  };
261
261
  }
262
262
 
@@ -296,8 +296,8 @@ function deserializeUnaryExpression(pos) {
296
296
  start: deserializeU32(pos),
297
297
  end: deserializeU32(pos + 4),
298
298
  operator: deserializeUnaryOperator(pos + 24),
299
- prefix: true,
300
299
  argument: deserializeExpression(pos + 8),
300
+ prefix: true,
301
301
  };
302
302
  }
303
303
 
@@ -364,8 +364,8 @@ function deserializeArrayAssignmentTarget(pos) {
364
364
  type: 'ArrayPattern',
365
365
  start: deserializeU32(pos),
366
366
  end: deserializeU32(pos + 4),
367
- elements,
368
367
  decorators: [],
368
+ elements,
369
369
  optional: false,
370
370
  typeAnnotation: null,
371
371
  };
@@ -379,8 +379,8 @@ function deserializeObjectAssignmentTarget(pos) {
379
379
  type: 'ObjectPattern',
380
380
  start: deserializeU32(pos),
381
381
  end: deserializeU32(pos + 4),
382
- properties,
383
382
  decorators: [],
383
+ properties,
384
384
  optional: false,
385
385
  typeAnnotation: null,
386
386
  };
@@ -391,8 +391,8 @@ function deserializeAssignmentTargetRest(pos) {
391
391
  type: 'RestElement',
392
392
  start: deserializeU32(pos),
393
393
  end: deserializeU32(pos + 4),
394
- argument: deserializeAssignmentTarget(pos + 8),
395
394
  decorators: [],
395
+ argument: deserializeAssignmentTarget(pos + 8),
396
396
  optional: false,
397
397
  typeAnnotation: null,
398
398
  value: null,
@@ -404,9 +404,9 @@ function deserializeAssignmentTargetWithDefault(pos) {
404
404
  type: 'AssignmentPattern',
405
405
  start: deserializeU32(pos),
406
406
  end: deserializeU32(pos + 4),
407
+ decorators: [],
407
408
  left: deserializeAssignmentTarget(pos + 8),
408
409
  right: deserializeExpression(pos + 24),
409
- decorators: [],
410
410
  optional: false,
411
411
  typeAnnotation: null,
412
412
  };
@@ -434,12 +434,12 @@ function deserializeAssignmentTargetPropertyIdentifier(pos) {
434
434
  type: 'Property',
435
435
  start,
436
436
  end,
437
+ kind: 'init',
438
+ key,
439
+ value,
437
440
  method: false,
438
441
  shorthand: true,
439
442
  computed: false,
440
- key,
441
- value,
442
- kind: 'init',
443
443
  optional: false,
444
444
  };
445
445
  }
@@ -449,12 +449,12 @@ function deserializeAssignmentTargetPropertyProperty(pos) {
449
449
  type: 'Property',
450
450
  start: deserializeU32(pos),
451
451
  end: deserializeU32(pos + 4),
452
+ kind: 'init',
453
+ key: deserializePropertyKey(pos + 8),
454
+ value: deserializeAssignmentTargetMaybeDefault(pos + 24),
452
455
  method: false,
453
456
  shorthand: false,
454
457
  computed: deserializeBool(pos + 40),
455
- key: deserializePropertyKey(pos + 8),
456
- value: deserializeAssignmentTargetMaybeDefault(pos + 24),
457
- kind: 'init',
458
458
  optional: false,
459
459
  };
460
460
  }
@@ -536,8 +536,8 @@ function deserializeVariableDeclaration(pos) {
536
536
  type: 'VariableDeclaration',
537
537
  start: deserializeU32(pos),
538
538
  end: deserializeU32(pos + 4),
539
- declarations: deserializeVecVariableDeclarator(pos + 8),
540
539
  kind: deserializeVariableDeclarationKind(pos + 32),
540
+ declarations: deserializeVecVariableDeclarator(pos + 8),
541
541
  declare: deserializeBool(pos + 33),
542
542
  };
543
543
  }
@@ -689,8 +689,8 @@ function deserializeSwitchCase(pos) {
689
689
  type: 'SwitchCase',
690
690
  start: deserializeU32(pos),
691
691
  end: deserializeU32(pos + 4),
692
- consequent: deserializeVecStatement(pos + 24),
693
692
  test: deserializeOptionExpression(pos + 8),
693
+ consequent: deserializeVecStatement(pos + 24),
694
694
  };
695
695
  }
696
696
 
@@ -699,8 +699,8 @@ function deserializeLabeledStatement(pos) {
699
699
  type: 'LabeledStatement',
700
700
  start: deserializeU32(pos),
701
701
  end: deserializeU32(pos + 4),
702
- body: deserializeStatement(pos + 32),
703
702
  label: deserializeLabelIdentifier(pos + 8),
703
+ body: deserializeStatement(pos + 32),
704
704
  };
705
705
  }
706
706
 
@@ -763,9 +763,9 @@ function deserializeAssignmentPattern(pos) {
763
763
  type: 'AssignmentPattern',
764
764
  start: deserializeU32(pos),
765
765
  end: deserializeU32(pos + 4),
766
+ decorators: [],
766
767
  left: deserializeBindingPattern(pos + 8),
767
768
  right: deserializeExpression(pos + 40),
768
- decorators: [],
769
769
  optional: false,
770
770
  typeAnnotation: null,
771
771
  };
@@ -779,8 +779,8 @@ function deserializeObjectPattern(pos) {
779
779
  type: 'ObjectPattern',
780
780
  start: deserializeU32(pos),
781
781
  end: deserializeU32(pos + 4),
782
- properties,
783
782
  decorators: [],
783
+ properties,
784
784
  optional: false,
785
785
  typeAnnotation: null,
786
786
  };
@@ -791,12 +791,12 @@ function deserializeBindingProperty(pos) {
791
791
  type: 'Property',
792
792
  start: deserializeU32(pos),
793
793
  end: deserializeU32(pos + 4),
794
+ kind: 'init',
795
+ key: deserializePropertyKey(pos + 8),
796
+ value: deserializeBindingPattern(pos + 24),
794
797
  method: false,
795
798
  shorthand: deserializeBool(pos + 56),
796
799
  computed: deserializeBool(pos + 57),
797
- key: deserializePropertyKey(pos + 8),
798
- value: deserializeBindingPattern(pos + 24),
799
- kind: 'init',
800
800
  optional: false,
801
801
  };
802
802
  }
@@ -809,8 +809,8 @@ function deserializeArrayPattern(pos) {
809
809
  type: 'ArrayPattern',
810
810
  start: deserializeU32(pos),
811
811
  end: deserializeU32(pos + 4),
812
- elements,
813
812
  decorators: [],
813
+ elements,
814
814
  optional: false,
815
815
  typeAnnotation: null,
816
816
  };
@@ -821,8 +821,8 @@ function deserializeBindingRestElement(pos) {
821
821
  type: 'RestElement',
822
822
  start: deserializeU32(pos),
823
823
  end: deserializeU32(pos + 4),
824
- argument: deserializeBindingPattern(pos + 8),
825
824
  decorators: [],
825
+ argument: deserializeBindingPattern(pos + 8),
826
826
  optional: false,
827
827
  typeAnnotation: null,
828
828
  value: null,
@@ -838,14 +838,14 @@ function deserializeFunction(pos) {
838
838
  start: deserializeU32(pos),
839
839
  end: deserializeU32(pos + 4),
840
840
  id: deserializeOptionBindingIdentifier(pos + 8),
841
- expression: false,
842
841
  generator: deserializeBool(pos + 85),
843
842
  async: deserializeBool(pos + 86),
844
- params,
845
- body: deserializeOptionBoxFunctionBody(pos + 72),
846
843
  declare: deserializeBool(pos + 87),
847
844
  typeParameters: deserializeOptionBoxTSTypeParameterDeclaration(pos + 40),
845
+ params,
848
846
  returnType: deserializeOptionBoxTSTypeAnnotation(pos + 64),
847
+ body: deserializeOptionBoxFunctionBody(pos + 72),
848
+ expression: false,
849
849
  };
850
850
  }
851
851
 
@@ -915,14 +915,14 @@ function deserializeArrowFunctionExpression(pos) {
915
915
  type: 'ArrowFunctionExpression',
916
916
  start: deserializeU32(pos),
917
917
  end: deserializeU32(pos + 4),
918
- id: null,
919
918
  expression,
920
- generator: false,
921
919
  async: deserializeBool(pos + 45),
922
- params: deserializeBoxFormalParameters(pos + 16),
923
- body: expression ? body.body[0].expression : body,
924
920
  typeParameters: deserializeOptionBoxTSTypeParameterDeclaration(pos + 8),
921
+ params: deserializeBoxFormalParameters(pos + 16),
925
922
  returnType: deserializeOptionBoxTSTypeAnnotation(pos + 24),
923
+ body: expression ? body.body[0].expression : body,
924
+ id: null,
925
+ generator: false,
926
926
  };
927
927
  }
928
928
 
@@ -941,13 +941,13 @@ function deserializeClass(pos) {
941
941
  type: deserializeClassType(pos + 132),
942
942
  start: deserializeU32(pos),
943
943
  end: deserializeU32(pos + 4),
944
- id: deserializeOptionBindingIdentifier(pos + 32),
945
- superClass: deserializeOptionExpression(pos + 72),
946
- body: deserializeBoxClassBody(pos + 120),
947
944
  decorators: deserializeVecDecorator(pos + 8),
945
+ id: deserializeOptionBindingIdentifier(pos + 32),
948
946
  typeParameters: deserializeOptionBoxTSTypeParameterDeclaration(pos + 64),
947
+ superClass: deserializeOptionExpression(pos + 72),
949
948
  superTypeArguments: deserializeOptionBoxTSTypeParameterInstantiation(pos + 88),
950
949
  implements: deserializeVecTSClassImplements(pos + 96),
950
+ body: deserializeBoxClassBody(pos + 120),
951
951
  abstract: deserializeBool(pos + 133),
952
952
  declare: deserializeBool(pos + 134),
953
953
  };
@@ -980,12 +980,12 @@ function deserializeMethodDefinition(pos) {
980
980
  type: deserializeMethodDefinitionType(pos + 56),
981
981
  start: deserializeU32(pos),
982
982
  end: deserializeU32(pos + 4),
983
- static: deserializeBool(pos + 59),
984
- computed: deserializeBool(pos + 58),
983
+ decorators: deserializeVecDecorator(pos + 8),
985
984
  key,
986
- kind,
987
985
  value: deserializeBoxFunction(pos + 48),
988
- decorators: deserializeVecDecorator(pos + 8),
986
+ kind,
987
+ computed: deserializeBool(pos + 58),
988
+ static: deserializeBool(pos + 59),
989
989
  override: deserializeBool(pos + 60),
990
990
  optional: deserializeBool(pos + 61),
991
991
  accessibility: deserializeOptionTSAccessibility(pos + 62),
@@ -997,17 +997,17 @@ function deserializePropertyDefinition(pos) {
997
997
  type: deserializePropertyDefinitionType(pos + 72),
998
998
  start: deserializeU32(pos),
999
999
  end: deserializeU32(pos + 4),
1000
- static: deserializeBool(pos + 74),
1001
- computed: deserializeBool(pos + 73),
1000
+ decorators: deserializeVecDecorator(pos + 8),
1002
1001
  key: deserializePropertyKey(pos + 32),
1002
+ typeAnnotation: deserializeOptionBoxTSTypeAnnotation(pos + 48),
1003
1003
  value: deserializeOptionExpression(pos + 56),
1004
- decorators: deserializeVecDecorator(pos + 8),
1004
+ computed: deserializeBool(pos + 73),
1005
+ static: deserializeBool(pos + 74),
1005
1006
  declare: deserializeBool(pos + 75),
1006
1007
  override: deserializeBool(pos + 76),
1007
1008
  optional: deserializeBool(pos + 77),
1008
1009
  definite: deserializeBool(pos + 78),
1009
1010
  readonly: deserializeBool(pos + 79),
1010
- typeAnnotation: deserializeOptionBoxTSTypeAnnotation(pos + 48),
1011
1011
  accessibility: deserializeOptionTSAccessibility(pos + 80),
1012
1012
  };
1013
1013
  }
@@ -1035,18 +1035,18 @@ function deserializeAccessorProperty(pos) {
1035
1035
  type: deserializeAccessorPropertyType(pos + 72),
1036
1036
  start: deserializeU32(pos),
1037
1037
  end: deserializeU32(pos + 4),
1038
+ decorators: deserializeVecDecorator(pos + 8),
1038
1039
  key: deserializePropertyKey(pos + 32),
1039
1040
  typeAnnotation: deserializeOptionBoxTSTypeAnnotation(pos + 48),
1040
1041
  value: deserializeOptionExpression(pos + 56),
1041
1042
  computed: deserializeBool(pos + 73),
1042
1043
  static: deserializeBool(pos + 74),
1043
- decorators: deserializeVecDecorator(pos + 8),
1044
+ override: deserializeBool(pos + 75),
1044
1045
  definite: deserializeBool(pos + 76),
1045
1046
  accessibility: deserializeOptionTSAccessibility(pos + 77),
1047
+ declare: false,
1046
1048
  optional: false,
1047
- override: deserializeBool(pos + 75),
1048
1049
  readonly: false,
1049
- declare: false,
1050
1050
  };
1051
1051
  }
1052
1052
 
@@ -1071,8 +1071,8 @@ function deserializeImportDeclaration(pos) {
1071
1071
  end: deserializeU32(pos + 4),
1072
1072
  specifiers,
1073
1073
  source: deserializeStringLiteral(pos + 32),
1074
- attributes: withClause === null ? [] : withClause.attributes,
1075
1074
  phase: deserializeOptionImportPhase(pos + 88),
1075
+ attributes: withClause === null ? [] : withClause.attributes,
1076
1076
  importKind: deserializeImportOrExportKind(pos + 89),
1077
1077
  };
1078
1078
  }
@@ -1131,8 +1131,8 @@ function deserializeExportNamedDeclaration(pos) {
1131
1131
  declaration: deserializeOptionDeclaration(pos + 8),
1132
1132
  specifiers: deserializeVecExportSpecifier(pos + 24),
1133
1133
  source: deserializeOptionStringLiteral(pos + 48),
1134
- attributes: withClause === null ? [] : withClause.attributes,
1135
1134
  exportKind: deserializeImportOrExportKind(pos + 104),
1135
+ attributes: withClause === null ? [] : withClause.attributes,
1136
1136
  };
1137
1137
  }
1138
1138
 
@@ -1295,8 +1295,8 @@ function deserializeJSXElement(pos) {
1295
1295
  start: deserializeU32(pos),
1296
1296
  end: deserializeU32(pos + 4),
1297
1297
  openingElement,
1298
- closingElement,
1299
1298
  children: deserializeVecJSXChild(pos + 16),
1299
+ closingElement,
1300
1300
  };
1301
1301
  }
1302
1302
 
@@ -1305,10 +1305,10 @@ function deserializeJSXOpeningElement(pos) {
1305
1305
  type: 'JSXOpeningElement',
1306
1306
  start: deserializeU32(pos),
1307
1307
  end: deserializeU32(pos + 4),
1308
- attributes: deserializeVecJSXAttributeItem(pos + 32),
1309
1308
  name: deserializeJSXElementName(pos + 8),
1310
- selfClosing: false,
1311
1309
  typeArguments: deserializeOptionBoxTSTypeParameterInstantiation(pos + 24),
1310
+ attributes: deserializeVecJSXAttributeItem(pos + 32),
1311
+ selfClosing: false,
1312
1312
  };
1313
1313
  }
1314
1314
 
@@ -1327,8 +1327,8 @@ function deserializeJSXFragment(pos) {
1327
1327
  start: deserializeU32(pos),
1328
1328
  end: deserializeU32(pos + 4),
1329
1329
  openingFragment: deserializeJSXOpeningFragment(pos + 8),
1330
- closingFragment: deserializeJSXClosingFragment(pos + 40),
1331
1330
  children: deserializeVecJSXChild(pos + 16),
1331
+ closingFragment: deserializeJSXClosingFragment(pos + 40),
1332
1332
  };
1333
1333
  }
1334
1334
 
@@ -1437,8 +1437,8 @@ function deserializeTSThisParameter(pos) {
1437
1437
  type: 'Identifier',
1438
1438
  start: deserializeU32(pos),
1439
1439
  end: deserializeU32(pos + 4),
1440
- name: 'this',
1441
1440
  decorators: [],
1441
+ name: 'this',
1442
1442
  optional: false,
1443
1443
  typeAnnotation: deserializeOptionBoxTSTypeAnnotation(pos + 16),
1444
1444
  };
@@ -1471,8 +1471,8 @@ function deserializeTSEnumMember(pos) {
1471
1471
  start: deserializeU32(pos),
1472
1472
  end: deserializeU32(pos + 4),
1473
1473
  id: deserializeTSEnumMemberName(pos + 8),
1474
- computed: deserializeU8(pos + 8) > 1,
1475
1474
  initializer: deserializeOptionExpression(pos + 24),
1475
+ computed: deserializeU8(pos + 8) > 1,
1476
1476
  };
1477
1477
  }
1478
1478
 
@@ -1912,8 +1912,8 @@ function deserializeTSIndexSignatureName(pos) {
1912
1912
  type: 'Identifier',
1913
1913
  start: deserializeU32(pos),
1914
1914
  end: deserializeU32(pos + 4),
1915
- name: deserializeStr(pos + 8),
1916
1915
  decorators: [],
1916
+ name: deserializeStr(pos + 8),
1917
1917
  optional: false,
1918
1918
  typeAnnotation: deserializeBoxTSTypeAnnotation(pos + 24),
1919
1919
  };
@@ -2065,19 +2065,19 @@ function deserializeTSConstructorType(pos) {
2065
2065
  }
2066
2066
 
2067
2067
  function deserializeTSMappedType(pos) {
2068
+ const typeParameter = deserializeBoxTSTypeParameter(pos + 8);
2068
2069
  let optional = deserializeOptionTSMappedTypeModifierOperator(pos + 52);
2069
2070
  if (optional === null) optional = false;
2070
- const typeParameter = deserializeBoxTSTypeParameter(pos + 8);
2071
2071
  return {
2072
2072
  type: 'TSMappedType',
2073
2073
  start: deserializeU32(pos),
2074
2074
  end: deserializeU32(pos + 4),
2075
+ key: typeParameter.name,
2076
+ constraint: typeParameter.constraint,
2075
2077
  nameType: deserializeOptionTSType(pos + 16),
2076
2078
  typeAnnotation: deserializeOptionTSType(pos + 32),
2077
2079
  optional,
2078
2080
  readonly: deserializeOptionTSMappedTypeModifierOperator(pos + 53),
2079
- key: typeParameter.name,
2080
- constraint: typeParameter.constraint,
2081
2081
  };
2082
2082
  }
2083
2083
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oxc-parser",
3
- "version": "0.72.1",
3
+ "version": "0.72.2",
4
4
  "main": "index.js",
5
5
  "browser": "wasm.mjs",
6
6
  "engines": {
@@ -39,7 +39,7 @@
39
39
  "access": "public"
40
40
  },
41
41
  "dependencies": {
42
- "@oxc-project/types": "^0.72.1"
42
+ "@oxc-project/types": "^0.72.2"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@codspeed/vitest-plugin": "^4.0.0",
@@ -77,20 +77,20 @@
77
77
  "dtsHeaderFile": "header.js"
78
78
  },
79
79
  "optionalDependencies": {
80
- "@oxc-parser/binding-win32-x64-msvc": "0.72.1",
81
- "@oxc-parser/binding-win32-arm64-msvc": "0.72.1",
82
- "@oxc-parser/binding-linux-x64-gnu": "0.72.1",
83
- "@oxc-parser/binding-linux-x64-musl": "0.72.1",
84
- "@oxc-parser/binding-freebsd-x64": "0.72.1",
85
- "@oxc-parser/binding-linux-arm64-gnu": "0.72.1",
86
- "@oxc-parser/binding-linux-arm64-musl": "0.72.1",
87
- "@oxc-parser/binding-linux-arm-gnueabihf": "0.72.1",
88
- "@oxc-parser/binding-linux-arm-musleabihf": "0.72.1",
89
- "@oxc-parser/binding-linux-s390x-gnu": "0.72.1",
90
- "@oxc-parser/binding-linux-riscv64-gnu": "0.72.1",
91
- "@oxc-parser/binding-darwin-x64": "0.72.1",
92
- "@oxc-parser/binding-darwin-arm64": "0.72.1",
93
- "@oxc-parser/binding-wasm32-wasi": "0.72.1"
80
+ "@oxc-parser/binding-win32-x64-msvc": "0.72.2",
81
+ "@oxc-parser/binding-win32-arm64-msvc": "0.72.2",
82
+ "@oxc-parser/binding-linux-x64-gnu": "0.72.2",
83
+ "@oxc-parser/binding-linux-x64-musl": "0.72.2",
84
+ "@oxc-parser/binding-freebsd-x64": "0.72.2",
85
+ "@oxc-parser/binding-linux-arm64-gnu": "0.72.2",
86
+ "@oxc-parser/binding-linux-arm64-musl": "0.72.2",
87
+ "@oxc-parser/binding-linux-arm-gnueabihf": "0.72.2",
88
+ "@oxc-parser/binding-linux-arm-musleabihf": "0.72.2",
89
+ "@oxc-parser/binding-linux-s390x-gnu": "0.72.2",
90
+ "@oxc-parser/binding-linux-riscv64-gnu": "0.72.2",
91
+ "@oxc-parser/binding-darwin-x64": "0.72.2",
92
+ "@oxc-parser/binding-darwin-arm64": "0.72.2",
93
+ "@oxc-parser/binding-wasm32-wasi": "0.72.2"
94
94
  },
95
95
  "scripts": {
96
96
  "build-dev": "napi build --platform --js bindings.js",