@openrewrite/rewrite 0.23.1 → 0.24.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.
@@ -54,6 +54,7 @@ export declare class JavaScriptParserVisitor {
54
54
  visitVoidKeyword(node: ts.Node): J.Identifier;
55
55
  visitFalseKeyword(node: ts.FalseLiteral): J.Literal;
56
56
  visitNullKeyword(node: ts.NullLiteral): J.Literal;
57
+ visitNeverKeyword(node: ts.Node): J.Identifier;
57
58
  private mapLiteral;
58
59
  visitBigIntLiteral(node: ts.BigIntLiteral): J.Literal;
59
60
  visitStringLiteral(node: ts.StringLiteral): J.Literal;
@@ -63,7 +64,7 @@ export declare class JavaScriptParserVisitor {
63
64
  visitTemplateHead(node: ts.TemplateHead): J.Literal;
64
65
  visitTemplateMiddle(node: ts.TemplateMiddle): J.Literal;
65
66
  visitTemplateTail(node: ts.TemplateTail): J.Literal;
66
- visitIdentifier(node: ts.Identifier): J.Identifier | J.Literal;
67
+ visitIdentifier(node: ts.Identifier): J.Identifier;
67
68
  private mapIdentifier;
68
69
  visitThisKeyword(node: ts.ThisExpression): J.Identifier;
69
70
  visitPrivateIdentifier(node: ts.PrivateIdentifier): J.Identifier;
@@ -84,7 +85,7 @@ export declare class JavaScriptParserVisitor {
84
85
  visitCallSignature(node: ts.CallSignatureDeclaration): J.MethodDeclaration;
85
86
  visitConstructSignature(node: ts.ConstructSignatureDeclaration): J.MethodDeclaration;
86
87
  visitIndexSignature(node: ts.IndexSignatureDeclaration): JS.IndexSignatureDeclaration;
87
- visitTypePredicate(node: ts.TypePredicateNode): J.Unknown;
88
+ visitTypePredicate(node: ts.TypePredicateNode): JS.TypePredicate;
88
89
  visitTypeReference(node: ts.TypeReferenceNode): any;
89
90
  visitFunctionType(node: ts.FunctionTypeNode): JS.FunctionType;
90
91
  visitConstructorType(node: ts.ConstructorTypeNode): JS.FunctionType;
@@ -97,17 +98,17 @@ export declare class JavaScriptParserVisitor {
97
98
  visitUnionType(node: ts.UnionTypeNode): JS.Union;
98
99
  visitIntersectionType(node: ts.IntersectionTypeNode): JS.Intersection;
99
100
  visitConditionalType(node: ts.ConditionalTypeNode): JS.ConditionalType;
100
- visitInferType(node: ts.InferTypeNode): J.Unknown;
101
- visitParenthesizedType(node: ts.ParenthesizedTypeNode): J.Unknown;
102
- visitThisType(node: ts.ThisTypeNode): J.Unknown;
101
+ visitInferType(node: ts.InferTypeNode): JS.InferType;
102
+ visitParenthesizedType(node: ts.ParenthesizedTypeNode): J.ParenthesizedTypeTree;
103
+ visitThisType(node: ts.ThisTypeNode): J.Identifier;
103
104
  visitTypeOperator(node: ts.TypeOperatorNode): JS.TypeOperator;
104
- visitIndexedAccessType(node: ts.IndexedAccessTypeNode): J.Unknown;
105
+ visitIndexedAccessType(node: ts.IndexedAccessTypeNode): JS.IndexedAccessType;
105
106
  visitMappedType(node: ts.MappedTypeNode): J.Unknown;
106
- visitLiteralType(node: ts.LiteralTypeNode): any;
107
- visitNamedTupleMember(node: ts.NamedTupleMember): J.Unknown;
107
+ visitLiteralType(node: ts.LiteralTypeNode): JS.LiteralType;
108
+ visitNamedTupleMember(node: ts.NamedTupleMember): J.VariableDeclarations | JS.JSVariableDeclarations;
108
109
  visitTemplateLiteralType(node: ts.TemplateLiteralTypeNode): JS.TemplateExpression;
109
110
  visitTemplateLiteralTypeSpan(node: ts.TemplateLiteralTypeSpan): JS.TemplateExpression.TemplateSpan;
110
- visitImportType(node: ts.ImportTypeNode): J.Unknown;
111
+ visitImportType(node: ts.ImportTypeNode): JS.ImportType;
111
112
  visitObjectBindingPattern(node: ts.ObjectBindingPattern): JS.ObjectBindingDeclarations;
112
113
  visitArrayBindingPattern(node: ts.ArrayBindingPattern): JS.ArrayBindingPattern;
113
114
  visitBindingElement(node: ts.BindingElement): JS.BindingElement;
@@ -117,6 +118,7 @@ export declare class JavaScriptParserVisitor {
117
118
  visitPropertyAccessExpression(node: ts.PropertyAccessExpression): J.FieldAccess;
118
119
  visitElementAccessExpression(node: ts.ElementAccessExpression): J.ArrayAccess;
119
120
  visitCallExpression(node: ts.CallExpression): J.MethodInvocation;
121
+ visitSuperKeyword(node: ts.KeywordToken<ts.SyntaxKind.SuperKeyword>): J.Identifier;
120
122
  visitNewExpression(node: ts.NewExpression): J.NewClass;
121
123
  visitTaggedTemplateExpression(node: ts.TaggedTemplateExpression): JS.TaggedTemplateExpression;
122
124
  visitTypeAssertionExpression(node: ts.TypeAssertion): J.TypeCast;
@@ -129,7 +131,7 @@ export declare class JavaScriptParserVisitor {
129
131
  visitAwaitExpression(node: ts.AwaitExpression): JS.Await;
130
132
  visitPrefixUnaryExpression(node: ts.PrefixUnaryExpression): J.Unary | J.Unknown;
131
133
  visitPostfixUnaryExpression(node: ts.PostfixUnaryExpression): J.Unary | J.Unknown;
132
- visitBinaryExpression(node: ts.BinaryExpression): J.Assignment | J.AssignmentOperation | J.Binary | J.InstanceOf | J.Unknown | JS.JsBinary;
134
+ visitBinaryExpression(node: ts.BinaryExpression): J.Assignment | J.AssignmentOperation | J.Binary | J.InstanceOf | J.Unknown | JS.JsBinary | JS.JsAssignmentOperation;
133
135
  private mapBinaryOperator;
134
136
  private mapAssignmentOperation;
135
137
  visitConditionalExpression(node: ts.ConditionalExpression): J.Ternary;
@@ -141,9 +143,9 @@ export declare class JavaScriptParserVisitor {
141
143
  visitExpressionWithTypeArguments(node: ts.ExpressionWithTypeArguments): any;
142
144
  visitAsExpression(node: ts.AsExpression): JS.JsBinary;
143
145
  visitNonNullExpression(node: ts.NonNullExpression): JS.Unary;
144
- visitMetaProperty(node: ts.MetaProperty): J.Unknown;
146
+ visitMetaProperty(node: ts.MetaProperty): J.FieldAccess;
145
147
  visitSyntheticExpression(node: ts.SyntheticExpression): J.Unknown;
146
- visitSatisfiesExpression(node: ts.SatisfiesExpression): J.Unknown;
148
+ visitSatisfiesExpression(node: ts.SatisfiesExpression): JS.SatisfiesExpression;
147
149
  visitTemplateSpan(node: ts.TemplateSpan): JS.TemplateExpression.TemplateSpan;
148
150
  visitSemicolonClassElement(node: ts.SemicolonClassElement): J.Empty;
149
151
  visitBlock(node: ts.Block): J.Block;
@@ -184,11 +186,11 @@ export declare class JavaScriptParserVisitor {
184
186
  visitNamespaceImport(node: ts.NamespaceImport): J.Unknown;
185
187
  visitNamedImports(node: ts.NamedImports): J.Unknown;
186
188
  visitImportSpecifier(node: ts.ImportSpecifier): JS.JsImportSpecifier;
187
- visitExportAssignment(node: ts.ExportAssignment): J.Unknown;
188
- visitExportDeclaration(node: ts.ExportDeclaration): J.Unknown;
189
- visitNamedExports(node: ts.NamedExports): J.Unknown;
190
- visitNamespaceExport(node: ts.NamespaceExport): J.Unknown;
191
- visitExportSpecifier(node: ts.ExportSpecifier): J.Unknown;
189
+ visitExportAssignment(node: ts.ExportAssignment): JS.ExportAssignment;
190
+ visitExportDeclaration(node: ts.ExportDeclaration): JS.ExportDeclaration;
191
+ visitNamedExports(node: ts.NamedExports): JS.NamedExports;
192
+ visitNamespaceExport(node: ts.NamespaceExport): JS.Alias;
193
+ visitExportSpecifier(node: ts.ExportSpecifier): JS.ExportSpecifier;
192
194
  visitMissingDeclaration(node: ts.MissingDeclaration): J.Unknown;
193
195
  visitExternalModuleReference(node: ts.ExternalModuleReference): J.Unknown;
194
196
  visitJsxElement(node: ts.JsxElement): J.Unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/javascript/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/javascript/parser.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,7 @@ const core_1 = require("../core");
35
35
  const parserUtils_1 = require("./parserUtils");
36
36
  const typeMapping_1 = require("./typeMapping");
37
37
  const node_path_1 = __importDefault(require("node:path"));
38
+ const _1 = require(".");
38
39
  class JavaScriptParser extends core_1.Parser {
39
40
  constructor() {
40
41
  super();
@@ -235,12 +236,17 @@ class JavaScriptParserVisitor {
235
236
  var _a, _b, _c, _d;
236
237
  if (ts.isVariableStatement(node) || ts.isModuleDeclaration(node) || ts.isClassDeclaration(node) || ts.isEnumDeclaration(node)
237
238
  || ts.isInterfaceDeclaration(node) || ts.isPropertyDeclaration(node) || ts.isPropertySignature(node) || ts.isParameter(node)
238
- || ts.isMethodDeclaration(node) || ts.isConstructorDeclaration(node) || ts.isArrowFunction(node) || ts.isIndexSignatureDeclaration(node) || ts.isTypeAliasDeclaration(node)) {
239
+ || ts.isMethodDeclaration(node) || ts.isConstructorDeclaration(node) || ts.isArrowFunction(node)
240
+ || ts.isIndexSignatureDeclaration(node) || ts.isTypeAliasDeclaration(node) || ts.isExportDeclaration(node)
241
+ || ts.isFunctionDeclaration(node) || ts.isFunctionExpression(node)) {
239
242
  return node.modifiers ? (_a = node.modifiers) === null || _a === void 0 ? void 0 : _a.filter(ts.isModifier).map(this.mapModifier) : [];
240
243
  }
241
- else if (ts.isFunctionDeclaration(node)) {
242
- return [...node.modifiers ? (_b = node.modifiers) === null || _b === void 0 ? void 0 : _b.filter(ts.isModifier).map(this.mapModifier) : [],
243
- new J.Modifier((0, core_1.randomId)(), this.prefix(this.findChildNode(node, ts.SyntaxKind.FunctionKeyword)), core_1.Markers.EMPTY, null, J.Modifier.Type.LanguageExtension, [])];
244
+ else if (ts.isExportAssignment(node)) {
245
+ const defaultModifier = this.findChildNode(node, ts.SyntaxKind.DefaultKeyword);
246
+ return [
247
+ ...node.modifiers ? (_b = node.modifiers) === null || _b === void 0 ? void 0 : _b.filter(ts.isModifier).map(this.mapModifier) : [],
248
+ ...defaultModifier && ts.isModifier(defaultModifier) ? [this.mapModifier(defaultModifier)] : []
249
+ ];
244
250
  }
245
251
  else if (ts.isVariableDeclarationList(node)) {
246
252
  let modifier;
@@ -371,6 +377,9 @@ class JavaScriptParserVisitor {
371
377
  visitNullKeyword(node) {
372
378
  return this.mapLiteral(node, null);
373
379
  }
380
+ visitNeverKeyword(node) {
381
+ return this.mapIdentifier(node, 'never');
382
+ }
374
383
  mapLiteral(node, value) {
375
384
  return new J.Literal((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, value, node.getText(), null, this.mapPrimitiveType(node));
376
385
  }
@@ -399,9 +408,6 @@ class JavaScriptParserVisitor {
399
408
  return this.mapLiteral(node, node.text);
400
409
  }
401
410
  visitIdentifier(node) {
402
- if (node.text === 'undefined') {
403
- return this.mapLiteral(node, undefined);
404
- }
405
411
  return this.mapIdentifier(node, node.text);
406
412
  }
407
413
  mapIdentifier(node, name, withType = true) {
@@ -429,16 +435,16 @@ class JavaScriptParserVisitor {
429
435
  }
430
436
  visitParameter(node) {
431
437
  if (node.questionToken) {
432
- return new JS.JSVariableDeclarations((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], this.mapModifiers(node), this.mapTypeInfo(node), null, [this.rightPadded(new JS.JSVariableDeclarations.JSNamedVariable((0, core_1.randomId)(), this.prefix(node.name), core_1.Markers.EMPTY, this.getOptionalUnary(node), [], node.initializer ? this.leftPadded(this.prefix(node.getChildAt(node.getChildren().indexOf(node.initializer) - 1)), this.visit(node.initializer)) : null, this.mapVariableType(node)), this.suffix(node.name))]);
438
+ return new JS.JSVariableDeclarations((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.mapDecorators(node), this.mapModifiers(node), this.mapTypeInfo(node), null, [this.rightPadded(new JS.JSVariableDeclarations.JSNamedVariable((0, core_1.randomId)(), this.prefix(node.name), core_1.Markers.EMPTY, this.getOptionalUnary(node), [], node.initializer ? this.leftPadded(this.prefix(node.getChildAt(node.getChildren().indexOf(node.initializer) - 1)), this.visit(node.initializer)) : null, this.mapVariableType(node)), this.suffix(node.name))]);
433
439
  }
434
440
  if (node.dotDotDotToken) {
435
- return new JS.JSVariableDeclarations((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], this.mapModifiers(node), this.mapTypeInfo(node), null, [this.rightPadded(new JS.JSVariableDeclarations.JSNamedVariable((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, new JS.Unary((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, this.leftPadded(java_1.Space.EMPTY, JS.Unary.Type.Spread), this.visit(node.name), this.mapType(node)), [], node.initializer ? this.leftPadded(this.prefix(node.getChildAt(node.getChildren().indexOf(node.initializer) - 1)), this.visit(node.initializer)) : null, this.mapVariableType(node)), this.suffix(node.name))]);
441
+ return new JS.JSVariableDeclarations((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.mapDecorators(node), this.mapModifiers(node), this.mapTypeInfo(node), null, [this.rightPadded(new JS.JSVariableDeclarations.JSNamedVariable((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, new JS.Unary((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, this.leftPadded(java_1.Space.EMPTY, JS.Unary.Type.Spread), this.visit(node.name), this.mapType(node)), [], node.initializer ? this.leftPadded(this.prefix(node.getChildAt(node.getChildren().indexOf(node.initializer) - 1)), this.visit(node.initializer)) : null, this.mapVariableType(node)), this.suffix(node.name))]);
436
442
  }
437
443
  const nameExpression = this.visit(node.name);
438
444
  if (nameExpression instanceof J.Identifier) {
439
- return new J.VariableDeclarations((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], this.mapModifiers(node), this.mapTypeInfo(node), null, [], [this.rightPadded(new J.VariableDeclarations.NamedVariable((0, core_1.randomId)(), this.prefix(node.name), core_1.Markers.EMPTY, nameExpression, [], node.initializer ? this.leftPadded(this.prefix(node.getChildAt(node.getChildren().indexOf(node.initializer) - 1)), this.visit(node.initializer)) : null, this.mapVariableType(node)), this.suffix(node.name))]);
445
+ return new J.VariableDeclarations((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.mapDecorators(node), this.mapModifiers(node), this.mapTypeInfo(node), null, [], [this.rightPadded(new J.VariableDeclarations.NamedVariable((0, core_1.randomId)(), this.prefix(node.name), core_1.Markers.EMPTY, nameExpression, [], node.initializer ? this.leftPadded(this.prefix(node.getChildAt(node.getChildren().indexOf(node.initializer) - 1)), this.visit(node.initializer)) : null, this.mapVariableType(node)), this.suffix(node.name))]);
440
446
  }
441
- return new JS.JSVariableDeclarations((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], this.mapModifiers(node), this.mapTypeInfo(node), null, [this.rightPadded(new JS.JSVariableDeclarations.JSNamedVariable((0, core_1.randomId)(), this.prefix(node.name), core_1.Markers.EMPTY, nameExpression, [], node.initializer ? this.leftPadded(this.prefix(node.getChildAt(node.getChildren().indexOf(node.initializer) - 1)), this.visit(node.initializer)) : null, this.mapVariableType(node)), this.suffix(node.name))]);
447
+ return new JS.JSVariableDeclarations((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.mapDecorators(node), this.mapModifiers(node), this.mapTypeInfo(node), null, [this.rightPadded(new JS.JSVariableDeclarations.JSNamedVariable((0, core_1.randomId)(), this.prefix(node.name), core_1.Markers.EMPTY, nameExpression, [], node.initializer ? this.leftPadded(this.prefix(node.getChildAt(node.getChildren().indexOf(node.initializer) - 1)), this.visit(node.initializer)) : null, this.mapVariableType(node)), this.suffix(node.name))]);
442
448
  }
443
449
  visitDecorator(node) {
444
450
  let annotationType;
@@ -468,13 +474,13 @@ class JavaScriptParserVisitor {
468
474
  }
469
475
  visitPropertyDeclaration(node) {
470
476
  if (node.questionToken) {
471
- return new JS.JSVariableDeclarations((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], this.mapModifiers(node), this.mapTypeInfo(node), null, [this.rightPadded(new JS.JSVariableDeclarations.JSNamedVariable((0, core_1.randomId)(), this.prefix(node.name), core_1.Markers.EMPTY, this.getOptionalUnary(node), [], node.initializer ? this.leftPadded(this.prefix(node.getChildAt(node.getChildren().indexOf(node.initializer) - 1)), this.visit(node.initializer)) : null, this.mapVariableType(node)), java_1.Space.EMPTY)]);
477
+ return new JS.JSVariableDeclarations((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.mapDecorators(node), this.mapModifiers(node), this.mapTypeInfo(node), null, [this.rightPadded(new JS.JSVariableDeclarations.JSNamedVariable((0, core_1.randomId)(), this.prefix(node.name), core_1.Markers.EMPTY, this.getOptionalUnary(node), [], node.initializer ? this.leftPadded(this.prefix(node.getChildAt(node.getChildren().indexOf(node.initializer) - 1)), this.visit(node.initializer)) : null, this.mapVariableType(node)), java_1.Space.EMPTY)]);
472
478
  }
473
479
  const nameExpression = this.visit(node.name);
474
480
  if (nameExpression instanceof J.Identifier) {
475
- return new J.VariableDeclarations((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], this.mapModifiers(node), this.mapTypeInfo(node), null, [], [this.rightPadded(new J.VariableDeclarations.NamedVariable((0, core_1.randomId)(), this.prefix(node.name), core_1.Markers.EMPTY, nameExpression, [], node.initializer ? this.leftPadded(this.prefix(node.getChildAt(node.getChildren().indexOf(node.initializer) - 1)), this.visit(node.initializer)) : null, this.mapVariableType(node)), this.suffix(node.name))]);
481
+ return new J.VariableDeclarations((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.mapDecorators(node), this.mapModifiers(node), this.mapTypeInfo(node), null, [], [this.rightPadded(new J.VariableDeclarations.NamedVariable((0, core_1.randomId)(), this.prefix(node.name), core_1.Markers.EMPTY, nameExpression, [], node.initializer ? this.leftPadded(this.prefix(node.getChildAt(node.getChildren().indexOf(node.initializer) - 1)), this.visit(node.initializer)) : null, this.mapVariableType(node)), this.suffix(node.name))]);
476
482
  }
477
- return new JS.JSVariableDeclarations((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], this.mapModifiers(node), this.mapTypeInfo(node), null, [this.rightPadded(new JS.JSVariableDeclarations.JSNamedVariable((0, core_1.randomId)(), this.prefix(node.name), core_1.Markers.EMPTY, this.visit(node.name), [], node.initializer ? this.leftPadded(this.prefix(node.getChildAt(node.getChildren().indexOf(node.initializer) - 1)), this.visit(node.initializer)) : null, this.mapVariableType(node)), java_1.Space.EMPTY)]);
483
+ return new JS.JSVariableDeclarations((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.mapDecorators(node), this.mapModifiers(node), this.mapTypeInfo(node), null, [this.rightPadded(new JS.JSVariableDeclarations.JSNamedVariable((0, core_1.randomId)(), this.prefix(node.name), core_1.Markers.EMPTY, nameExpression, [], node.initializer ? this.leftPadded(this.prefix(node.getChildAt(node.getChildren().indexOf(node.initializer) - 1)), this.visit(node.initializer)) : null, this.mapVariableType(node)), java_1.Space.EMPTY)]);
478
484
  }
479
485
  visitMethodSignature(node) {
480
486
  if (node.questionToken) {
@@ -489,10 +495,11 @@ class JavaScriptParserVisitor {
489
495
  if (node.questionToken) {
490
496
  return new JS.JSMethodDeclaration((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.mapDecorators(node), this.mapModifiers(node), this.mapTypeParametersAsObject(node), this.mapTypeInfo(node), this.getOptionalUnary(node), this.mapCommaSeparatedList(this.getParameterListNodes(node)), null, node.body ? this.convert(node.body) : null, null, this.mapMethodType(node));
491
497
  }
492
- if (ts.isComputedPropertyName(node.name)) {
493
- return new JS.JSMethodDeclaration((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.mapDecorators(node), this.mapModifiers(node), this.mapTypeParametersAsObject(node), this.mapTypeInfo(node), this.convert(node.name), this.mapCommaSeparatedList(this.getParameterListNodes(node)), null, node.body ? this.convert(node.body) : null, null, this.mapMethodType(node));
498
+ const name = node.name ? this.visit(node.name) : this.mapIdentifier(node, "");
499
+ if (!(name instanceof J.Identifier)) {
500
+ return new JS.JSMethodDeclaration((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.mapDecorators(node), this.mapModifiers(node), this.mapTypeParametersAsObject(node), this.mapTypeInfo(node), name, this.mapCommaSeparatedList(this.getParameterListNodes(node)), null, node.body ? this.convert(node.body) : null, null, this.mapMethodType(node));
494
501
  }
495
- return new J.MethodDeclaration((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.mapDecorators(node), this.mapModifiers(node), this.mapTypeParametersAsObject(node), this.mapTypeInfo(node), new J.MethodDeclaration.IdentifierWithAnnotations(node.name ? this.visit(node.name) : this.mapIdentifier(node, ""), []), this.mapCommaSeparatedList(this.getParameterListNodes(node)), null, node.body ? this.convert(node.body) : null, null, this.mapMethodType(node));
502
+ return new J.MethodDeclaration((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.mapDecorators(node), this.mapModifiers(node), this.mapTypeParametersAsObject(node), this.mapTypeInfo(node), new J.MethodDeclaration.IdentifierWithAnnotations(name, []), this.mapCommaSeparatedList(this.getParameterListNodes(node)), null, node.body ? this.convert(node.body) : null, null, this.mapMethodType(node));
496
503
  }
497
504
  mapTypeInfo(node) {
498
505
  return node.type ? new JS.TypeInfo((0, core_1.randomId)(), this.prefix(node.getChildAt(node.getChildren().indexOf(node.type) - 1)), core_1.Markers.EMPTY, this.visit(node.type)) : null;
@@ -522,7 +529,7 @@ class JavaScriptParserVisitor {
522
529
  return new JS.IndexSignatureDeclaration((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.mapModifiers(node), this.mapCommaSeparatedList(this.getParameterListNodes(node, ts.SyntaxKind.OpenBracketToken)), this.leftPadded(this.prefix(node.getChildAt(node.getChildren().indexOf(node.type) - 1)), this.convert(node.type)), this.mapType(node));
523
530
  }
524
531
  visitTypePredicate(node) {
525
- return this.visitUnknown(node);
532
+ return new JS.TypePredicate((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, node.assertsModifier ? this.leftPadded(this.prefix(node.assertsModifier), true) : this.leftPadded(java_1.Space.EMPTY, false), this.visit(node.parameterName), node.type ? this.leftPadded(this.suffix(node.parameterName), this.convert(node.type)) : null, this.mapType(node));
526
533
  }
527
534
  visitTypeReference(node) {
528
535
  if (node.typeArguments) {
@@ -531,10 +538,10 @@ class JavaScriptParserVisitor {
531
538
  return this.visit(node.typeName);
532
539
  }
533
540
  visitFunctionType(node) {
534
- return new JS.FunctionType((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.rightPadded(false, java_1.Space.EMPTY), new java_1.JContainer(this.prefix(node), node.parameters.map(p => this.rightPadded(this.visit(p), this.suffix(p))), core_1.Markers.EMPTY), this.prefix(this.findChildNode(node, ts.SyntaxKind.EqualsGreaterThanToken)), this.convert(node.type), null);
541
+ return new JS.FunctionType((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.rightPadded(false, java_1.Space.EMPTY), this.mapTypeParametersAsObject(node), new java_1.JContainer(this.prefix(node.getChildAt(node.getChildren().findIndex(n => n.pos === node.parameters.pos) - 1)), node.parameters.map(p => this.rightPadded(this.visit(p), this.suffix(p))), core_1.Markers.EMPTY), this.prefix(this.findChildNode(node, ts.SyntaxKind.EqualsGreaterThanToken)), this.convert(node.type), null);
535
542
  }
536
543
  visitConstructorType(node) {
537
- return new JS.FunctionType((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.rightPadded(true, this.suffix(this.findChildNode(node, ts.SyntaxKind.NewKeyword))), new java_1.JContainer(this.prefix(node), node.parameters.map(p => this.rightPadded(this.visit(p), this.suffix(p))), core_1.Markers.EMPTY), this.prefix(this.findChildNode(node, ts.SyntaxKind.EqualsGreaterThanToken)), this.convert(node.type), null);
544
+ return new JS.FunctionType((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.rightPadded(true, this.suffix(this.findChildNode(node, ts.SyntaxKind.NewKeyword))), this.mapTypeParametersAsObject(node), new java_1.JContainer(this.prefix(node.getChildAt(node.getChildren().findIndex(n => n.pos === node.parameters.pos) - 1)), node.parameters.map(p => this.rightPadded(this.visit(p), this.suffix(p))), core_1.Markers.EMPTY), this.prefix(this.findChildNode(node, ts.SyntaxKind.EqualsGreaterThanToken)), this.convert(node.type), null);
538
545
  }
539
546
  visitTypeQuery(node) {
540
547
  return new JS.TypeQuery((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.convert(node.exprName), this.mapType(node));
@@ -578,13 +585,13 @@ class JavaScriptParserVisitor {
578
585
  return new JS.ConditionalType((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.visit(node.checkType), new java_1.JContainer(this.prefix(this.findChildNode(node, ts.SyntaxKind.ExtendsKeyword)), [this.rightPadded(new J.Ternary((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, this.convert(node.extendsType), this.leftPadded(this.suffix(node.extendsType), this.convert(node.trueType)), this.leftPadded(this.suffix(node.trueType), this.convert(node.falseType)), this.mapType(node)), java_1.Space.EMPTY)], core_1.Markers.EMPTY), this.mapType(node));
579
586
  }
580
587
  visitInferType(node) {
581
- return this.visitUnknown(node);
588
+ return new JS.InferType((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.leftPadded(java_1.Space.EMPTY, this.convert(node.typeParameter)), this.mapType(node));
582
589
  }
583
590
  visitParenthesizedType(node) {
584
- return this.visitUnknown(node);
591
+ return new J.ParenthesizedTypeTree((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, [], new J.Parentheses((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.rightPadded(this.convert(node.type), this.prefix(node.getLastToken()))));
585
592
  }
586
593
  visitThisType(node) {
587
- return this.visitUnknown(node);
594
+ return this.mapIdentifier(node, 'this');
588
595
  }
589
596
  visitTypeOperator(node) {
590
597
  function mapTypeOperator(operator) {
@@ -598,16 +605,22 @@ class JavaScriptParserVisitor {
598
605
  return new JS.TypeOperator((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, mapTypeOperator(node.operator), this.leftPadded(this.prefix(node.type), this.visit(node.type)));
599
606
  }
600
607
  visitIndexedAccessType(node) {
601
- return this.visitUnknown(node);
608
+ return new JS.IndexedAccessType((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.convert(node.objectType), this.rightPadded(new JS.IndexedAccessType.IndexType((0, core_1.randomId)(), this.prefix(this.findChildNode(node, ts.SyntaxKind.OpenBracketToken)), core_1.Markers.EMPTY, this.rightPadded(this.convert(node.indexType), this.suffix(node.indexType)), this.mapType(node.indexType)), this.suffix(this.findChildNode(node, ts.SyntaxKind.CloseBracketToken))), this.mapType(node));
602
609
  }
603
610
  visitMappedType(node) {
604
611
  return this.visitUnknown(node);
605
612
  }
606
613
  visitLiteralType(node) {
607
- return this.visit(node.literal);
614
+ return new JS.LiteralType((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.visit(node.literal), this.mapType(node));
608
615
  }
609
616
  visitNamedTupleMember(node) {
610
- return this.visitUnknown(node);
617
+ if (node.questionToken) {
618
+ return new JS.JSVariableDeclarations((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], [], this.mapTypeInfo(node), null, [this.rightPadded(new JS.JSVariableDeclarations.JSNamedVariable((0, core_1.randomId)(), this.prefix(node.name), core_1.Markers.EMPTY, this.getOptionalUnary(node), [], null, this.mapVariableType(node)), this.suffix(node.name))]);
619
+ }
620
+ if (node.dotDotDotToken) {
621
+ return new JS.JSVariableDeclarations((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], [], this.mapTypeInfo(node), null, [this.rightPadded(new JS.JSVariableDeclarations.JSNamedVariable((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, new JS.Unary((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, this.leftPadded(java_1.Space.EMPTY, JS.Unary.Type.Spread), this.visit(node.name), this.mapType(node)), [], null, this.mapVariableType(node)), this.suffix(node.name))]);
622
+ }
623
+ return new J.VariableDeclarations((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], [], this.mapTypeInfo(node), null, [], [this.rightPadded(new J.VariableDeclarations.NamedVariable((0, core_1.randomId)(), this.prefix(node.name), core_1.Markers.EMPTY, this.visit(node.name), [], null, this.mapVariableType(node)), this.suffix(node.name))]);
611
624
  }
612
625
  visitTemplateLiteralType(node) {
613
626
  return new JS.TemplateExpression((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.visit(node.head), node.templateSpans.map(s => this.rightPadded(this.visit(s), this.suffix(s))), this.mapType(node));
@@ -616,7 +629,7 @@ class JavaScriptParserVisitor {
616
629
  return new JS.TemplateExpression.TemplateSpan((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.convert(node.type), this.visit(node.literal));
617
630
  }
618
631
  visitImportType(node) {
619
- return this.visitUnknown(node);
632
+ return new JS.ImportType((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, node.isTypeOf ? this.rightPadded(true, this.suffix(this.findChildNode(node, ts.SyntaxKind.TypeOfKeyword))) : this.rightPadded(false, java_1.Space.EMPTY), new J.ParenthesizedTypeTree((0, core_1.randomId)(), this.suffix(this.findChildNode(node, ts.SyntaxKind.ImportKeyword)), core_1.Markers.EMPTY, [], new J.Parentheses((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, this.rightPadded(this.visit(node.argument), this.suffix(node.argument)))), node.qualifier ? this.leftPadded(this.prefix(this.findChildNode(node, ts.SyntaxKind.DotToken)), this.visit(node.qualifier)) : null, node.typeArguments ? this.mapTypeArguments(this.suffix(node.qualifier), node.typeArguments) : null, this.mapType(node));
620
633
  }
621
634
  visitObjectBindingPattern(node) {
622
635
  return new JS.ObjectBindingDeclarations((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], [], null, this.mapCommaSeparatedList(node.getChildren(this.sourceFile)), null);
@@ -673,6 +686,9 @@ class JavaScriptParserVisitor {
673
686
  }
674
687
  return new J.MethodInvocation((0, core_1.randomId)(), prefix, core_1.Markers.EMPTY, select, typeArguments, name, this.mapCommaSeparatedList(node.getChildren(this.sourceFile).slice(-3)), this.mapMethodType(node));
675
688
  }
689
+ visitSuperKeyword(node) {
690
+ return this.mapIdentifier(node, node.getText());
691
+ }
676
692
  visitNewExpression(node) {
677
693
  return new J.NewClass((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, null, java_1.Space.EMPTY, this.visit(node.expression), this.mapCommaSeparatedList(node.arguments ? node.getChildren(this.sourceFile).slice(2) : []), null, this.mapMethodType(node));
678
694
  }
@@ -686,7 +702,7 @@ class JavaScriptParserVisitor {
686
702
  return new J.ParenthesizedTypeTree((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, [], new J.Parentheses((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.rightPadded(this.convert(node.expression), this.prefix(node.getLastToken()))));
687
703
  }
688
704
  visitFunctionExpression(node) {
689
- return new JS.FunctionDeclaration((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], node.name ? this.visit(node.name) : null, this.mapTypeParametersAsObject(node), this.mapCommaSeparatedList(this.getParameterListNodes(node)), this.mapTypeInfo(node), this.convert(node.body), this.mapMethodType(node));
705
+ return new JS.FunctionDeclaration((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.mapModifiers(node), this.leftPadded(this.prefix(this.findChildNode(node, ts.SyntaxKind.FunctionKeyword)), !!node.asteriskToken), this.leftPadded(node.asteriskToken ? this.prefix(node.asteriskToken) : java_1.Space.EMPTY, node.name ? this.visit(node.name) : new J.Identifier((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, [], "", null, null)), this.mapTypeParametersAsObject(node), this.mapCommaSeparatedList(this.getParameterListNodes(node)), this.mapTypeInfo(node), this.convert(node.body), this.mapMethodType(node));
690
706
  }
691
707
  visitArrowFunction(node) {
692
708
  const openParenToken = this.findChildNode(node, ts.SyntaxKind.OpenParenToken);
@@ -764,6 +780,12 @@ class JavaScriptParserVisitor {
764
780
  case ts.SyntaxKind.QuestionQuestionToken:
765
781
  binaryOperator = JS.JsBinary.Type.QuestionQuestion;
766
782
  break;
783
+ case ts.SyntaxKind.InKeyword:
784
+ binaryOperator = JS.JsBinary.Type.In;
785
+ break;
786
+ case ts.SyntaxKind.CommaToken:
787
+ binaryOperator = JS.JsBinary.Type.Comma;
788
+ break;
767
789
  }
768
790
  if (binaryOperator !== undefined) {
769
791
  return new JS.JsBinary((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.convert(node.left), this.leftPadded(this.prefix(node.operatorToken), binaryOperator), this.convert(node.right), this.mapType(node));
@@ -773,7 +795,22 @@ class JavaScriptParserVisitor {
773
795
  }
774
796
  binaryOperator = this.mapBinaryOperator(node);
775
797
  if (binaryOperator === undefined) {
776
- const assignmentOperation = this.mapAssignmentOperation(node);
798
+ let assignmentOperation;
799
+ switch (node.operatorToken.kind) {
800
+ case ts.SyntaxKind.QuestionQuestionEqualsToken:
801
+ assignmentOperation = JS.JsAssignmentOperation.Type.QuestionQuestion;
802
+ break;
803
+ case ts.SyntaxKind.AmpersandAmpersandEqualsToken:
804
+ assignmentOperation = JS.JsAssignmentOperation.Type.And;
805
+ break;
806
+ case ts.SyntaxKind.BarBarEqualsToken:
807
+ assignmentOperation = JS.JsAssignmentOperation.Type.Or;
808
+ break;
809
+ }
810
+ if (assignmentOperation !== undefined) {
811
+ return new JS.JsAssignmentOperation((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.convert(node.left), this.leftPadded(this.prefix(node.operatorToken), assignmentOperation), this.convert(node.right), this.mapType(node));
812
+ }
813
+ assignmentOperation = this.mapAssignmentOperation(node);
777
814
  if (assignmentOperation === undefined) {
778
815
  return this.visitUnknown(node);
779
816
  }
@@ -885,13 +922,13 @@ class JavaScriptParserVisitor {
885
922
  return new JS.Unary((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, this.leftPadded(this.suffix(node.expression), JS.Unary.Type.Exclamation), this.visit(node.expression), this.mapType(node));
886
923
  }
887
924
  visitMetaProperty(node) {
888
- return this.visitUnknown(node);
925
+ return new J.FieldAccess((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, node.keywordToken === ts.SyntaxKind.NewKeyword ? this.mapIdentifier(node, 'new') : this.mapIdentifier(node, 'import'), this.leftPadded(this.prefix(node.getChildAt(1, this.sourceFile)), this.convert(node.name)), this.mapType(node));
889
926
  }
890
927
  visitSyntheticExpression(node) {
891
928
  return this.visitUnknown(node);
892
929
  }
893
930
  visitSatisfiesExpression(node) {
894
- return this.visitUnknown(node);
931
+ return new JS.SatisfiesExpression((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.visit(node.expression), this.leftPadded(this.suffix(node.expression), this.visit(node.type)), this.mapType(node));
895
932
  }
896
933
  visitTemplateSpan(node) {
897
934
  return new JS.TemplateExpression.TemplateSpan((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.convert(node.expression), this.visit(node.literal));
@@ -933,18 +970,18 @@ class JavaScriptParserVisitor {
933
970
  var _a;
934
971
  return new J.ForLoop((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, new J.ForLoop.Control((0, core_1.randomId)(), this.prefix(this.findChildNode(node, ts.SyntaxKind.OpenParenToken)), core_1.Markers.EMPTY, [node.initializer ?
935
972
  (ts.isVariableDeclarationList(node.initializer) ? this.rightPadded(this.visit(node.initializer), java_1.Space.EMPTY) :
936
- this.rightPadded(this.convert(node.initializer), this.suffix(node.initializer.getLastToken()))) :
937
- this.rightPadded(this.newJEmpty(), this.suffix(this.findChildNode(node, ts.SyntaxKind.OpenParenToken)))], node.condition ? this.rightPadded(this.convert(node.condition), this.suffix(node.condition.getLastToken())) :
938
- this.rightPadded(this.newJEmpty(), this.suffix(this.findChildNode(node, ts.SyntaxKind.SemicolonToken))), [node.incrementor ? this.rightPadded(this.convert(node.incrementor), this.suffix(node.incrementor.getLastToken())) :
973
+ this.rightPadded(new _1.ExpressionStatement((0, core_1.randomId)(), this.visit(node.initializer)), this.suffix(node.initializer.getLastToken()))) :
974
+ this.rightPadded(this.newJEmpty(), this.suffix(this.findChildNode(node, ts.SyntaxKind.OpenParenToken)))], node.condition ? this.rightPadded(ts.isStatement(node.condition) ? this.visit(node.condition) : new _1.ExpressionStatement((0, core_1.randomId)(), this.visit(node.condition)), this.suffix(node.condition.getLastToken())) :
975
+ this.rightPadded(this.newJEmpty(), this.suffix(this.findChildNode(node, ts.SyntaxKind.SemicolonToken))), [node.incrementor ? this.rightPadded(ts.isStatement(node.incrementor) ? this.visit(node.incrementor) : new _1.ExpressionStatement((0, core_1.randomId)(), this.visit(node.incrementor)), this.suffix(node.incrementor.getLastToken())) :
939
976
  this.rightPadded(this.newJEmpty(this.prefix(this.findChildNode(node, ts.SyntaxKind.CloseParenToken))), java_1.Space.EMPTY)]), this.rightPadded(this.convert(node.statement), this.semicolonPrefix(node.statement), ((_a = node.statement.getLastToken()) === null || _a === void 0 ? void 0 : _a.kind) == ts.SyntaxKind.SemicolonToken ? core_1.Markers.build([new java_1.Semicolon((0, core_1.randomId)())]) : core_1.Markers.EMPTY));
940
977
  }
941
978
  visitForInStatement(node) {
942
979
  var _a;
943
- return new JS.JSForInLoop((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, new JS.JSForInOfLoopControl((0, core_1.randomId)(), this.prefix(this.findChildNode(node, ts.SyntaxKind.OpenParenToken)), core_1.Markers.EMPTY, this.rightPadded(this.visit(node.initializer), this.prefix(node.initializer)), this.rightPadded(this.visit(node.expression), this.suffix(node.expression))), this.rightPadded(this.convert(node.statement), this.semicolonPrefix(node.statement), ((_a = node.statement.getLastToken()) === null || _a === void 0 ? void 0 : _a.kind) == ts.SyntaxKind.SemicolonToken ? core_1.Markers.build([new java_1.Semicolon((0, core_1.randomId)())]) : core_1.Markers.EMPTY));
980
+ return new JS.JSForInLoop((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, new JS.JSForInOfLoopControl((0, core_1.randomId)(), this.prefix(this.findChildNode(node, ts.SyntaxKind.OpenParenToken)), core_1.Markers.EMPTY, this.rightPadded(this.visit(node.initializer), this.suffix(node.initializer)), this.rightPadded(this.visit(node.expression), this.suffix(node.expression))), this.rightPadded(this.convert(node.statement), this.semicolonPrefix(node.statement), ((_a = node.statement.getLastToken()) === null || _a === void 0 ? void 0 : _a.kind) == ts.SyntaxKind.SemicolonToken ? core_1.Markers.build([new java_1.Semicolon((0, core_1.randomId)())]) : core_1.Markers.EMPTY));
944
981
  }
945
982
  visitForOfStatement(node) {
946
983
  var _a;
947
- return new JS.JSForOfLoop((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, node.awaitModifier ? this.leftPadded(this.prefix(node.awaitModifier), true) : this.leftPadded(java_1.Space.EMPTY, false), new JS.JSForInOfLoopControl((0, core_1.randomId)(), this.prefix(this.findChildNode(node, ts.SyntaxKind.OpenParenToken)), core_1.Markers.EMPTY, this.rightPadded(this.visit(node.initializer), this.prefix(node.initializer)), this.rightPadded(this.visit(node.expression), this.suffix(node.expression))), this.rightPadded(this.convert(node.statement), this.semicolonPrefix(node.statement), ((_a = node.statement.getLastToken()) === null || _a === void 0 ? void 0 : _a.kind) == ts.SyntaxKind.SemicolonToken ? core_1.Markers.build([new java_1.Semicolon((0, core_1.randomId)())]) : core_1.Markers.EMPTY));
984
+ return new JS.JSForOfLoop((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, node.awaitModifier ? this.leftPadded(this.prefix(node.awaitModifier), true) : this.leftPadded(java_1.Space.EMPTY, false), new JS.JSForInOfLoopControl((0, core_1.randomId)(), this.prefix(this.findChildNode(node, ts.SyntaxKind.OpenParenToken)), core_1.Markers.EMPTY, this.rightPadded(this.visit(node.initializer), this.suffix(node.initializer)), this.rightPadded(this.visit(node.expression), this.suffix(node.expression))), this.rightPadded(this.convert(node.statement), this.semicolonPrefix(node.statement), ((_a = node.statement.getLastToken()) === null || _a === void 0 ? void 0 : _a.kind) == ts.SyntaxKind.SemicolonToken ? core_1.Markers.build([new java_1.Semicolon((0, core_1.randomId)())]) : core_1.Markers.EMPTY));
948
985
  }
949
986
  visitContinueStatement(node) {
950
987
  return new J.Continue((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, node.label ? this.visit(node.label) : null);
@@ -994,7 +1031,7 @@ class JavaScriptParserVisitor {
994
1031
  }));
995
1032
  }
996
1033
  visitFunctionDeclaration(node) {
997
- return new JS.FunctionDeclaration((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.mapModifiers(node), node.name ? this.visit(node.name) : null, this.mapTypeParametersAsObject(node), this.mapCommaSeparatedList(this.getParameterListNodes(node)), this.mapTypeInfo(node), this.convert(node.body), this.mapMethodType(node));
1034
+ return new JS.FunctionDeclaration((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.mapModifiers(node), this.leftPadded(this.prefix(this.findChildNode(node, ts.SyntaxKind.FunctionKeyword)), !!node.asteriskToken), this.leftPadded(node.asteriskToken ? this.prefix(node.asteriskToken) : java_1.Space.EMPTY, node.name ? this.visit(node.name) : new J.Identifier((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, [], "", null, null)), this.mapTypeParametersAsObject(node), this.mapCommaSeparatedList(this.getParameterListNodes(node)), this.mapTypeInfo(node), this.convert(node.body), this.mapMethodType(node));
998
1035
  }
999
1036
  getParameterListNodes(node, openToken = ts.SyntaxKind.OpenParenToken) {
1000
1037
  const children = node.getChildren(this.sourceFile);
@@ -1078,19 +1115,21 @@ class JavaScriptParserVisitor {
1078
1115
  : this.convert(node.name), this.mapType(node));
1079
1116
  }
1080
1117
  visitExportAssignment(node) {
1081
- return this.visitUnknown(node);
1118
+ return new JS.ExportAssignment((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.mapModifiers(node), this.leftPadded(node.isExportEquals ? this.prefix(this.findChildNode(node, ts.SyntaxKind.EqualsToken)) : java_1.Space.EMPTY, (!!node.isExportEquals)), this.visit(node.expression));
1082
1119
  }
1083
1120
  visitExportDeclaration(node) {
1084
- return this.visitUnknown(node);
1121
+ return new JS.ExportDeclaration((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.mapModifiers(node), this.leftPadded(node.isTypeOnly ? this.prefix(this.findChildNode(node, ts.SyntaxKind.TypeKeyword)) : java_1.Space.EMPTY, node.isTypeOnly), node.exportClause ? this.visit(node.exportClause) : this.mapIdentifier(this.findChildNode(node, ts.SyntaxKind.AsteriskToken), "*"), node.moduleSpecifier ? this.leftPadded(this.prefix(this.findChildNode(node, ts.SyntaxKind.FromKeyword)), this.visit(node.moduleSpecifier)) : null);
1085
1122
  }
1086
1123
  visitNamedExports(node) {
1087
- return this.visitUnknown(node);
1124
+ return new JS.NamedExports((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.mapCommaSeparatedList(node.getChildren()), this.mapType(node));
1088
1125
  }
1089
1126
  visitNamespaceExport(node) {
1090
- return this.visitUnknown(node);
1127
+ return new JS.Alias((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.rightPadded(this.mapIdentifier(this.findChildNode(node, ts.SyntaxKind.AsteriskToken), "*"), this.prefix(this.findChildNode(node, ts.SyntaxKind.AsKeyword))), this.visit(node.name));
1091
1128
  }
1092
1129
  visitExportSpecifier(node) {
1093
- return this.visitUnknown(node);
1130
+ return new JS.ExportSpecifier((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.leftPadded(node.isTypeOnly ? this.prefix(this.findChildNode(node, ts.SyntaxKind.TypeKeyword)) : java_1.Space.EMPTY, node.isTypeOnly), node.propertyName
1131
+ ? new JS.Alias((0, core_1.randomId)(), this.prefix(node.propertyName), core_1.Markers.EMPTY, this.rightPadded(this.convert(node.propertyName), this.suffix(node.propertyName)), this.convert(node.name))
1132
+ : this.convert(node.name), this.mapType(node));
1094
1133
  }
1095
1134
  visitMissingDeclaration(node) {
1096
1135
  return this.visitUnknown(node);
@@ -1391,22 +1430,10 @@ class JavaScriptParserVisitor {
1391
1430
  : null;
1392
1431
  }
1393
1432
  mapTypeParametersAsObject(node) {
1394
- if (!node.typeParameters)
1433
+ const typeParameters = node.typeParameters;
1434
+ if (!typeParameters)
1395
1435
  return null;
1396
- let ts_prefix;
1397
- if (ts.isConstructSignatureDeclaration(node)) {
1398
- ts_prefix = this.suffix(this.findChildNode(node, ts.SyntaxKind.NewKeyword));
1399
- }
1400
- else if (ts.isFunctionExpression(node)) {
1401
- ts_prefix = this.suffix(this.findChildNode(node, ts.SyntaxKind.FunctionKeyword));
1402
- }
1403
- else if (ts.isTypeAliasDeclaration(node)) {
1404
- ts_prefix = this.suffix(node.name);
1405
- }
1406
- else {
1407
- ts_prefix = node.questionToken ? this.suffix(node.questionToken) : node.name ? this.suffix(node.name) : java_1.Space.EMPTY;
1408
- }
1409
- return new J.TypeParameters((0, core_1.randomId)(), ts_prefix, core_1.Markers.EMPTY, [], node.typeParameters.map(tp => this.rightPadded(this.visit(tp), this.suffix(tp))));
1436
+ return new J.TypeParameters((0, core_1.randomId)(), this.prefix(node.getChildAt(node.getChildren().findIndex(n => n.pos === typeParameters[0].pos) - 1)), core_1.Markers.EMPTY, [], typeParameters.map(tp => this.rightPadded(this.visit(tp), this.suffix(tp))));
1410
1437
  }
1411
1438
  mapTypeParametersList(typeParamsNodeArray) {
1412
1439
  return typeParamsNodeArray.map(tp => this.rightPadded(this.visit(tp), this.suffix(tp)));