Files
29d22a17b7 Parse discard binding (#17163)
* add VoidPattern definition

* update types artifacts

* parse void binding

* print void binding

* fix typing errors

* update parser typings

* fix: remove VoidPattern from ForXStatement.left

* fix typing errors

* add Babel 8 tests

* require syntaxType option

* add test for object-rest-spread change

* feat(types): disallow void pattern in var/let/const declaration

* fix: allow nested void pattern in catch param

* improve UnexpectedVoidPattern error message

* remove R&T integration parser tests

* polish: throw different error when CoverDiscardElement is parsed

* Update expression.ts

Co-authored-by: liuxingbaoyu <[email protected]>

* update discardBinding plugin option types

---------

Co-authored-by: liuxingbaoyu <[email protected]>
2025-06-28 08:17:58 +02:00

70 lines
1.3 KiB
JavaScript

{
// function parameter
function f(void = 0) {}
}
{
// arrow function parameter
(void = 0) => {}
}
{
// async arrow function parameter
async (void = 0) => {}
}
{
// nested array pattern: function parameter
function f([void = 0]) {}
}
{
// nested array pattern: arrow function parameter
([void = 0]) => {}
}
{
// nested array pattern: async arrow function parameter
async ([void = 0]) => {}
}
{
// nested object pattern: function parameter
function f({ p: void = 0 }) {}
}
{
// nested object pattern: arrow function parameter
({ p: void = 0 }) => {}
}
{
// nested object pattern: async arrow function parameter
async ({ p: void = 0 }) => {}
}
{
// nested array pattern: destructuring binding
let [void = 0] = [];
}
{
// nested object pattern: destructuring binding
let { p: void = 0 } = {};
}
{
// nested array pattern: for-of destructuring binding
for (let [void = 0] of []);
}
{
// nested object pattern: for-of destructuring binding
for (let { p: void = 0 } of [{}]);
}
{
// nested array pattern: destructuring assignment
([void = 0] = []);
}
{
// nested object pattern: destructuring assignment
({ p: void = 0 } = {});
}
{
// nested array pattern: for-of destructuring assignment
for ([void = 0] of []);
}
{
// nested object pattern: for-of destructuring assignment
for ({ p: void = 0 } of [{}]);
}