From c658e87518c0e7eee08e802706b91c78782d467e Mon Sep 17 00:00:00 2001 From: Eli White Date: Mon, 30 Sep 2024 11:19:44 -0700 Subject: [PATCH] Add a test for an Alias to an Alias (#46725) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/46725 This covers types that deeply alias. Changelog: [Internal] Reviewed By: GijsWeterings Differential Revision: D62926913 fbshipit-source-id: 2fea1900f1be2893230a949db6778c76afae0423 --- .../modules/__test_fixtures__/fixtures.js | 2 ++ .../module-parser-snapshot-test.js.snap | 20 +++++++++++++++++++ .../modules/__test_fixtures__/fixtures.js | 2 ++ ...script-module-parser-snapshot-test.js.snap | 20 +++++++++++++++++++ 4 files changed, 44 insertions(+) diff --git a/packages/react-native-codegen/src/parsers/flow/modules/__test_fixtures__/fixtures.js b/packages/react-native-codegen/src/parsers/flow/modules/__test_fixtures__/fixtures.js index a555772d09e..9544c8999ce 100644 --- a/packages/react-native-codegen/src/parsers/flow/modules/__test_fixtures__/fixtures.js +++ b/packages/react-native-codegen/src/parsers/flow/modules/__test_fixtures__/fixtures.js @@ -162,6 +162,7 @@ export type ObjectAlias = {| label: string, truthy: boolean, |}; +export type PureObjectAlias = ObjectAlias; export type ReadOnlyAlias = $ReadOnly; export interface Spec extends TurboModule { @@ -171,6 +172,7 @@ export interface Spec extends TurboModule { +getArray: (a: Array) => {| a: B |}; +getStringFromAlias: (a: ObjectAlias) => string; +getStringFromNullableAlias: (a: ?ObjectAlias) => string; + +getStringFromPureAlias: (a: PureObjectAlias) => string; +getStringFromReadOnlyAlias: (a: ReadOnlyAlias) => string; +getStringFromNullableReadOnlyAlias: (a: ?ReadOnlyAlias) => string; } diff --git a/packages/react-native-codegen/src/parsers/flow/modules/__tests__/__snapshots__/module-parser-snapshot-test.js.snap b/packages/react-native-codegen/src/parsers/flow/modules/__tests__/__snapshots__/module-parser-snapshot-test.js.snap index 83e6f63fbd9..9594001afb6 100644 --- a/packages/react-native-codegen/src/parsers/flow/modules/__tests__/__snapshots__/module-parser-snapshot-test.js.snap +++ b/packages/react-native-codegen/src/parsers/flow/modules/__tests__/__snapshots__/module-parser-snapshot-test.js.snap @@ -688,6 +688,26 @@ exports[`RN Codegen Flow Parser can generate fixture NATIVE_MODULE_WITH_ALIASES ] } }, + { + 'name': 'getStringFromPureAlias', + 'optional': false, + 'typeAnnotation': { + 'type': 'FunctionTypeAnnotation', + 'returnTypeAnnotation': { + 'type': 'StringTypeAnnotation' + }, + 'params': [ + { + 'name': 'a', + 'optional': false, + 'typeAnnotation': { + 'type': 'TypeAliasTypeAnnotation', + 'name': 'ObjectAlias' + } + } + ] + } + }, { 'name': 'getStringFromReadOnlyAlias', 'optional': false, diff --git a/packages/react-native-codegen/src/parsers/typescript/modules/__test_fixtures__/fixtures.js b/packages/react-native-codegen/src/parsers/typescript/modules/__test_fixtures__/fixtures.js index 7ebbe9846ad..41495d6dc54 100644 --- a/packages/react-native-codegen/src/parsers/typescript/modules/__test_fixtures__/fixtures.js +++ b/packages/react-native-codegen/src/parsers/typescript/modules/__test_fixtures__/fixtures.js @@ -146,6 +146,7 @@ export type ObjectAlias = { label: string; truthy: boolean; }; +export type PureObjectAlias = ObjectAlias; export type ReadOnlyAlias = Readonly; export interface Spec extends TurboModule { @@ -155,6 +156,7 @@ export interface Spec extends TurboModule { readonly getArray: (a: Array) => {a: B}; readonly getStringFromAlias: (a: ObjectAlias) => string; readonly getStringFromNullableAlias: (a: ObjectAlias | null) => string; + readonly getStringFromPureAlias: (a: PureObjectAlias) => string; readonly getStringFromReadOnlyAlias: (a: ReadOnlyAlias) => string; readonly getStringFromNullableReadOnlyAlias: (a: ReadOnlyAlias | null) => string; } diff --git a/packages/react-native-codegen/src/parsers/typescript/modules/__tests__/__snapshots__/typescript-module-parser-snapshot-test.js.snap b/packages/react-native-codegen/src/parsers/typescript/modules/__tests__/__snapshots__/typescript-module-parser-snapshot-test.js.snap index 02351a5ba78..22bea569c70 100644 --- a/packages/react-native-codegen/src/parsers/typescript/modules/__tests__/__snapshots__/typescript-module-parser-snapshot-test.js.snap +++ b/packages/react-native-codegen/src/parsers/typescript/modules/__tests__/__snapshots__/typescript-module-parser-snapshot-test.js.snap @@ -679,6 +679,26 @@ exports[`RN Codegen TypeScript Parser can generate fixture NATIVE_MODULE_WITH_AL ] } }, + { + 'name': 'getStringFromPureAlias', + 'optional': false, + 'typeAnnotation': { + 'type': 'FunctionTypeAnnotation', + 'returnTypeAnnotation': { + 'type': 'StringTypeAnnotation' + }, + 'params': [ + { + 'name': 'a', + 'optional': false, + 'typeAnnotation': { + 'type': 'TypeAliasTypeAnnotation', + 'name': 'ObjectAlias' + } + } + ] + } + }, { 'name': 'getStringFromReadOnlyAlias', 'optional': false,