From 2d0b5da9369f8e84aaa0ad81d82c4b428eb96fc8 Mon Sep 17 00:00:00 2001 From: kassens Date: Wed, 1 Nov 2023 19:29:00 +0000 Subject: [PATCH] Support Flow `as` expressions in ESLint rules (#27590) Support Flow `as` expressions in ESLint rules, e.g. ` as `. This is the same syntax as TypeScript as expressions. I just looked for any place referencing `TSAsExpression` (the TS node) or `TypeCastExpression` (the previous Flow syntax) and added a case for `AsExpression` as well. DiffTrain build for [6bfc0e032acc7e5ad6da2a09f3c4f47f3321da2c](https://github.com/facebook/react/commit/6bfc0e032acc7e5ad6da2a09f3c4f47f3321da2c) --- compiled/facebook-www/REVISION | 2 +- compiled/facebook-www/eslint-plugin-react-hooks.js | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/compiled/facebook-www/REVISION b/compiled/facebook-www/REVISION index 74ca9bebb7..f39d7c3f63 100644 --- a/compiled/facebook-www/REVISION +++ b/compiled/facebook-www/REVISION @@ -1 +1 @@ -d947c2f1100dfd006fd91c6e9ed84d42ca7ab088 +6bfc0e032acc7e5ad6da2a09f3c4f47f3321da2c diff --git a/compiled/facebook-www/eslint-plugin-react-hooks.js b/compiled/facebook-www/eslint-plugin-react-hooks.js index e33402ab8d..e518b09e02 100644 --- a/compiled/facebook-www/eslint-plugin-react-hooks.js +++ b/compiled/facebook-www/eslint-plugin-react-hooks.js @@ -960,7 +960,7 @@ var ExhaustiveDeps = { return false; } - while (init.type === 'TSAsExpression') { + while (init.type === 'TSAsExpression' || init.type === 'AsExpression') { init = init.expression; } // Detect primitive constants // const foo = 42 @@ -2232,8 +2232,7 @@ function getConstructionExpressionType(node) { return null; case 'TypeCastExpression': - return getConstructionExpressionType(node.expression); - + case 'AsExpression': case 'TSAsExpression': return getConstructionExpressionType(node.expression); }