Files
react-native/packages/react-native-codegen/e2e/__test_fixtures__/modules/NativeEnumTurboModule.js
T
zhongwuzw 1a1795a537 Fixes enum codegen value cases (#44654)
Summary:
Fixes https://github.com/facebook/react-native/issues/44632

## Changelog:

[GENERAL] [FIXED] - [codegen] Fixes enum codegen value cases

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

Test Plan: https://github.com/facebook/react-native/issues/44632

Reviewed By: cipolleschi, dmytrorykun

Differential Revision: D58135645

Pulled By: cortinico

fbshipit-source-id: 5c0634ef1d1d7375d2ecfcf7f916d67fd39b7300
2024-06-07 07:53:59 -07:00

70 lines
1.5 KiB
JavaScript

/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @flow strict-local
* @format
*/
import type {TurboModule} from 'react-native/Libraries/TurboModule/RCTExport';
import * as TurboModuleRegistry from 'react-native/Libraries/TurboModule/TurboModuleRegistry';
export type StateType = {|
state: string,
|};
export enum StatusRegularEnum {
Active,
Paused,
Off,
}
export enum StatusStrEnum {
Active = 'active',
Paused = 'paused',
Off = 'off',
}
export enum StatusNumEnum {
Active = 2,
Paused = 1,
Off = 0,
}
export enum StatusLowerCaseEnum {
Active = 'active',
Paused = 'paused',
Off = 'off',
}
export type StateTypeWithEnums = {|
state: string,
regular: StatusRegularEnum,
str: StatusStrEnum,
num: StatusNumEnum,
lowerCase: StatusLowerCaseEnum,
|};
export interface Spec extends TurboModule {
+getStatusRegular: (statusProp: StateType) => StatusRegularEnum;
+getStatusStr: (statusProp: StateType) => StatusStrEnum;
+getStatusNum: (statusProp: StateType) => StatusNumEnum;
+getStatusLowerCase: (statusProp: StateType) => StatusLowerCaseEnum;
+getStateType: (
a: StatusRegularEnum,
b: StatusStrEnum,
c: StatusNumEnum,
d: StatusLowerCaseEnum,
) => StateType;
+getStateTypeWithEnums: (
paramOfTypeWithEnums: StateTypeWithEnums,
) => StateTypeWithEnums;
}
export default (TurboModuleRegistry.getEnforcing<Spec>(
'NativeEnumTurboModule',
): Spec);