From 02957718d7ca1af815493d145697c1e848b16c17 Mon Sep 17 00:00:00 2001 From: Dmitry Rykun Date: Thu, 12 Oct 2023 11:24:16 -0700 Subject: [PATCH] SVC Codegen: Handle TSAsExpression when looking for the codegen declaration (#40860) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/40860 This diff adds support for the `AS` expression in TS sources. The following codegen declaration should work now: ``` export default codegenNativeComponent( 'MyComponentView', ) as HostComponent; ``` Changelog: [General][Added] - Handle TSAsExpression when looking for the codegen declaration Reviewed By: shwanton Differential Revision: D50225241 fbshipit-source-id: 247a3d341d742b548e82318d0fa21dff9884d2bd --- packages/babel-plugin-codegen/index.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/babel-plugin-codegen/index.js b/packages/babel-plugin-codegen/index.js index 4314e6d50eb518..541f591a45b4c4 100644 --- a/packages/babel-plugin-codegen/index.js +++ b/packages/babel-plugin-codegen/index.js @@ -83,6 +83,14 @@ function isCodegenDeclaration(declaration) { declaration.expression.callee.name === 'codegenNativeComponent' ) { return true; + } else if ( + declaration.type === 'TSAsExpression' && + declaration.expression && + declaration.expression.callee && + declaration.expression.callee.name && + declaration.expression.callee.name === 'codegenNativeComponent' + ) { + return true; } return false;