From 685a25ca2ea5bfeeaef9802fd031e8a972561811 Mon Sep 17 00:00:00 2001 From: Eli White Date: Mon, 19 Aug 2019 11:24:49 -0700 Subject: [PATCH] Add recursive imports for Array types Summary: Supporting the native primitives fixture added in the previous diff Reviewed By: JoshuaGross Differential Revision: D16846289 fbshipit-source-id: 4c6afdabba0fe4b55990d25adec21cf65d8beff3 --- .../src/generators/components/GeneratePropsH.js | 10 ++++++++++ .../__snapshots__/GeneratePropsH-test.js.snap | 3 +++ 2 files changed, 13 insertions(+) diff --git a/packages/react-native-codegen/src/generators/components/GeneratePropsH.js b/packages/react-native-codegen/src/generators/components/GeneratePropsH.js index 1462ce882ac..5c81d8ee6a8 100644 --- a/packages/react-native-codegen/src/generators/components/GeneratePropsH.js +++ b/packages/react-native-codegen/src/generators/components/GeneratePropsH.js @@ -494,6 +494,16 @@ function getLocalImports( addImportsForNativeName(typeAnnotation.elementType.name); } + if ( + typeAnnotation.type === 'ArrayTypeAnnotation' && + typeAnnotation.elementType.type === 'ObjectTypeAnnotation' + ) { + const localImports = getLocalImports( + typeAnnotation.elementType.properties, + ); + localImports.forEach(imports.add, imports); + } + if (typeAnnotation.type === 'ObjectTypeAnnotation') { imports.add('#include '); const objectImports = getImports(typeAnnotation.properties); diff --git a/packages/react-native-codegen/src/generators/components/__tests__/__snapshots__/GeneratePropsH-test.js.snap b/packages/react-native-codegen/src/generators/components/__tests__/__snapshots__/GeneratePropsH-test.js.snap index cbee2a92661..b804dfd2cb1 100644 --- a/packages/react-native-codegen/src/generators/components/__tests__/__snapshots__/GeneratePropsH-test.js.snap +++ b/packages/react-native-codegen/src/generators/components/__tests__/__snapshots__/GeneratePropsH-test.js.snap @@ -138,6 +138,9 @@ Map { #pragma once #include +#include +#include +#include #include namespace facebook {