Files
Huáng JùnliàngandNicolò Ribaudo c072902f5e Transform discard binding (#17277)
* transform discard binding

* refactor extract functions to utils.ts

* expand scope integrity check to all binding identifiers

* update incomplete comment

* update test output fixtures

* remove forXStatement skip

* add more test cases

* feat: remove trailing void patterns on ignoreFunctionLength assumption

* make node 6 happy

* add more test cases

* skip some exec tests for Node < 12

* update tsconfig.json

* update test fixtures

* fix: handle integration issues

* run basic exec test on Node.js >= 16

* update test case

* feat: pass syntaxType from plugin option

* skip basic test for Node.js 6

* add more test cases

* add new multiple-void test case

* fix: disable named evaluation for parenthesized rhs

* fix: handle using named evaluation

* Revert "fix: disable named evaluation for parenthesized rhs"

This reverts commit 93cf63768e3d68778ee73935a6c8de9c9bba2e2e.

* prefix anonymous function with 0,

* improve takeVoidPatternComments

* use NodePath#splitExportDeclaration

* update test fixtures

* update test options

* update test fixtures due to regenerator runtime changes

* fix: remove VoidPattern from LVal

* fix: improve destructuring transform detection

Previously the isPattern check includes void pattern, which would result to an infinite recursion as the void pattern keeps being queued.

* fix incorrect typings

* update isAnonymousFunctionDefinition
2025-06-28 08:17:58 +02:00

21 lines
304 B
JavaScript

class MyObject {
pAccessCount = 0;
get p() {
this.pAccessCount++;
return 0;
}
}
class MyArray {
length = 0;
*[Symbol.iterator]() {
this.length++;
yield;
this.length++;
yield new MyObject;
}
}
var arr = new MyArray;
var [void, { p: void, ...rest1 }, ...rest2] = arr;