Skip to content

Commit 855c3a6

Browse files
author
Andy
authored
fixUnusedIdentifier: Delete trailing comma in array binding pattern (microsoft#24800)
1 parent 7b2e092 commit 855c3a6

2 files changed

Lines changed: 8 additions & 11 deletions

File tree

src/services/codefixes/fixUnusedIdentifier.ts

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -228,15 +228,12 @@ namespace ts.codefix {
228228

229229
case SyntaxKind.BindingElement: {
230230
const pattern = (parent as BindingElement).parent;
231-
switch (pattern.kind) {
232-
case SyntaxKind.ArrayBindingPattern:
233-
changes.deleteNode(sourceFile, parent); // Don't delete ','
234-
break;
235-
case SyntaxKind.ObjectBindingPattern:
236-
changes.deleteNodeInList(sourceFile, parent);
237-
break;
238-
default:
239-
return Debug.assertNever(pattern);
231+
const preserveComma = pattern.kind === SyntaxKind.ArrayBindingPattern && parent !== last(pattern.elements);
232+
if (preserveComma) {
233+
changes.deleteNode(sourceFile, parent);
234+
}
235+
else {
236+
changes.deleteNodeInList(sourceFile, parent);
240237
}
241238
break;
242239
}

tests/cases/fourslash/codeFixUnusedIdentifier_destructure_partlyUnused.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,15 +57,15 @@ verify.codeFixAll({
5757
x; z;
5858
}
5959
{
60-
const [x,] = o;
60+
const [x] = o;
6161
x;
6262
}
6363
{
6464
const [, y] = o;
6565
y;
6666
}
6767
{
68-
const [, y,] = o;
68+
const [, y] = o;
6969
y;
7070
}
7171
{

0 commit comments

Comments
 (0)