Share ArrayTypeAnnotation between components and modules (#48318)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48318

These structures were the same, but the component side didn't use generics and just had duplicates. Making a base one to be shared.

I need to follow up to this and constrain the types that components allow.

Changelog: [Internal]

Reviewed By: javache

Differential Revision: D67371894

fbshipit-source-id: bb1a30fcd0efe6cc567b88bc6f11e7b385bd7c41
This commit is contained in:
Eli White
2025-01-02 13:20:02 -08:00
committed by Facebook GitHub Bot
parent 697e9462d5
commit b691122afc
3 changed files with 51 additions and 63 deletions
@@ -11,8 +11,8 @@
'use strict';
import type {
ArrayTypeAnnotation,
BooleanTypeAnnotation,
ComponentArrayTypeAnnotation,
DoubleTypeAnnotation,
FloatTypeAnnotation,
Int32TypeAnnotation,
@@ -111,8 +111,10 @@ class PojoCollector {
}
case 'ArrayTypeAnnotation': {
const arrayTypeAnnotation = typeAnnotation;
const elementType: $PropertyType<ArrayTypeAnnotation, 'elementType'> =
arrayTypeAnnotation.elementType;
const elementType: $PropertyType<
ComponentArrayTypeAnnotation,
'elementType',
> = arrayTypeAnnotation.elementType;
const pojoElementType = (() => {
switch (elementType.type) {