From 899a754bef3da0726abdda43bd6e56b724c97577 Mon Sep 17 00:00:00 2001 From: Diogo Franco Date: Wed, 10 May 2017 10:50:01 +0900 Subject: [PATCH] Correct the validator for ArrayPattern (#5722) The elements of the `elements` array should be either `Identifier`, `Pattern` or `RestElement`, but the validator was requiring `Expression`. It happened to work for `Identifier` since an `Identifier` is an `Expression`, but not for the other possible pattern elements. --- packages/babel-types/src/definitions/es2015.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/babel-types/src/definitions/es2015.js b/packages/babel-types/src/definitions/es2015.js index 7cb893384c..cf7ef3e45b 100644 --- a/packages/babel-types/src/definitions/es2015.js +++ b/packages/babel-types/src/definitions/es2015.js @@ -29,7 +29,7 @@ defineType("ArrayPattern", { aliases: ["Pattern", "LVal"], fields: { elements: { - validate: chain(assertValueType("array"), assertEach(assertNodeType("Expression"))), + validate: chain(assertValueType("array"), assertEach(assertNodeType("Identifier", "Pattern", "RestElement"))), }, decorators: { validate: chain(assertValueType("array"), assertEach(assertNodeType("Decorator"))),