Files
react-native/packages/react-native-codegen/e2e/__test_fixtures__/modules/NativeObjectTurboModule.js
T
Michał Osadnik b5b6d1d69f Minor improvements in native modules codegens
Summary: Add handling of `$ReadOnly`, $ReadOnlyArray`. Drop handling of params for callback (does not impact native generated node) and promises' types (does not impact native generated node). Remove typo from native codegen.

Reviewed By: RSNara

Differential Revision: D16686886

fbshipit-source-id: 26345978bbbba0cee14d00e7b5b9e5017c89a46c
2019-08-08 11:18:07 -07:00

64 lines
1.3 KiB
JavaScript

/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @flow
* @format
*/
'use strict';
import type {TurboModule} from 'react-native/Libraries/TurboModule/RCTExport';
import * as TurboModuleRegistry from 'react-native/Libraries/TurboModule/TurboModuleRegistry';
export type GenericObject = Object;
type AnotherGenericObject = GenericObject;
export interface Spec extends TurboModule {
+getGenericObject: (arg: Object) => Object;
+getGenericObjectReadOnly: (arg: Object) => $ReadOnly<{|a: string|}>;
+getGenericObjectWithAlias: (arg: GenericObject) => AnotherGenericObject;
+difficultObject: (A: {|
D: boolean,
E: {|
D: boolean,
E: number,
F: string,
|},
F: string,
|}) => {|
D: boolean,
E: {|
D: boolean,
E: {|
D: boolean,
E: number,
F: string,
|},
F: string,
|},
F: string,
|};
+getConstants: () => {|
D: boolean,
E: {|
D: boolean,
E: {|
D: boolean,
E: {|
D: boolean,
E: number,
F: string,
|},
F: string,
|},
F: string,
|},
F: string,
|};
}
export default TurboModuleRegistry.getEnforcing<Spec>('SampleTurboModule');