Files
react-native/packages/react-native-codegen/e2e/__test_fixtures__/modules/NativeEnumTurboModule.js
T
Vitali Zaidman 209d019055 Added an e2e test fixture for Enums and .H+.C TM e2e snapshot tests
Summary:
* Added an e2e test fixture with all the supported enum variations
* Added H and C file TM generators to the TM e2e tests

Changelog: [Internal] Added an e2e test fixture for Enums and .H+.C TM e2e snapshot tests

Reviewed By: cipolleschi

Differential Revision: D42917330

fbshipit-source-id: 8e4adb86b6eb4e2b29a9e6d0cd6e4fd5b002ad1a
2023-02-03 03:03:41 -08:00

69 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 StatusFractionEnum {
Active = 0.2,
Paused = 0.1,
Off = 0.0,
}
export type StateTypeWithEnums = {|
state: string,
regular: StatusRegularEnum,
str: StatusStrEnum,
num: StatusNumEnum,
fraction: StatusFractionEnum,
|};
export interface Spec extends TurboModule {
+getStatusRegular: (statusProp: StateType) => StatusRegularEnum;
+getStatusStr: (statusProp: StateType) => StatusStrEnum;
+getStatusNum: (statusProp: StateType) => StatusNumEnum;
+getStatusFraction: (statusProp: StateType) => StatusFractionEnum;
+getStateType: (
a: StatusRegularEnum,
b: StatusStrEnum,
c: StatusNumEnum,
d: StatusFractionEnum,
) => StateType;
+getStateTypeWithEnums: (
paramOfTypeWithEnums: StateTypeWithEnums,
) => StateTypeWithEnums;
}
export default (TurboModuleRegistry.getEnforcing<Spec>(
'NativeEnumTurboModule',
): Spec);