diff --git a/packages/react-native-codegen/e2e/deep_imports/__tests__/modules/__snapshots__/GenerateModuleH-test.js.snap b/packages/react-native-codegen/e2e/deep_imports/__tests__/modules/__snapshots__/GenerateModuleH-test.js.snap index 12b33f60c4d..fcb1757cafc 100644 --- a/packages/react-native-codegen/e2e/deep_imports/__tests__/modules/__snapshots__/GenerateModuleH-test.js.snap +++ b/packages/react-native-codegen/e2e/deep_imports/__tests__/modules/__snapshots__/GenerateModuleH-test.js.snap @@ -152,7 +152,7 @@ struct Bridging { #pragma mark - NativeEnumTurboModuleStatusNumEnum -enum class NativeEnumTurboModuleStatusNumEnum { Active, Paused, Off }; +enum class NativeEnumTurboModuleStatusNumEnum { Active = 2, Paused = 1, Off = 0 }; template <> struct Bridging { @@ -1749,7 +1749,7 @@ struct Bridging { #pragma mark - NativeEnumTurboModuleStatusNumEnum -enum class NativeEnumTurboModuleStatusNumEnum { Active, Paused, Off }; +enum class NativeEnumTurboModuleStatusNumEnum { Active = 2, Paused = 1, Off = 0 }; template <> struct Bridging { diff --git a/packages/react-native-codegen/src/generators/modules/GenerateModuleH.js b/packages/react-native-codegen/src/generators/modules/GenerateModuleH.js index f6266693baa..388e00e1a27 100644 --- a/packages/react-native-codegen/src/generators/modules/GenerateModuleH.js +++ b/packages/react-native-codegen/src/generators/modules/GenerateModuleH.js @@ -537,7 +537,15 @@ function generateEnum( return EnumTemplate({ enumName, - values: members.map(member => toSafeCppString(member.name)).join(', '), + values: members + .map(member => { + const name = toSafeCppString(member.name); + if (Number.isInteger(member.value.value)) { + return `${name} = ${member.value.value}`; + } + return name; + }) + .join(', '), fromCases, toCases, nativeEnumMemberType, diff --git a/packages/react-native-codegen/src/generators/modules/__tests__/__snapshots__/GenerateModuleH-test.js.snap b/packages/react-native-codegen/src/generators/modules/__tests__/__snapshots__/GenerateModuleH-test.js.snap index dab0a5575f8..36a1573cc97 100644 --- a/packages/react-native-codegen/src/generators/modules/__tests__/__snapshots__/GenerateModuleH-test.js.snap +++ b/packages/react-native-codegen/src/generators/modules/__tests__/__snapshots__/GenerateModuleH-test.js.snap @@ -156,7 +156,7 @@ namespace facebook::react { #pragma mark - NativeSampleTurboModuleEnumInt -enum class NativeSampleTurboModuleEnumInt { IA, IB }; +enum class NativeSampleTurboModuleEnumInt { IA = 23, IB = 42 }; template <> struct Bridging { @@ -1713,7 +1713,7 @@ namespace facebook::react { #pragma mark - NativeSampleTurboModuleNumEnum -enum class NativeSampleTurboModuleNumEnum { ONE, TWO }; +enum class NativeSampleTurboModuleNumEnum { ONE = 1, TWO = 2 }; template <> struct Bridging { @@ -1741,7 +1741,7 @@ struct Bridging { #pragma mark - NativeSampleTurboModuleFloatEnum -enum class NativeSampleTurboModuleFloatEnum { POINT_ZERO, POINT_ONE, POINT_TWO }; +enum class NativeSampleTurboModuleFloatEnum { POINT_ZERO = 0, POINT_ONE, POINT_TWO }; template <> struct Bridging {