Files
react-native/Libraries/TurboModule/samples/NativeSampleTurboModule.js
Kevin Gozali 0e72137c99 TM JS: Unify import syntax for TurboModuleRegistry
Summary:
For now, we use:

```
import * as TurboModuleRegistry from 'TurboModuleRegistry';

...

TurboModuleRegistry.getEnforcing<Spec>('Foo');
```

Reviewed By: RSNara

Differential Revision: D15020752

fbshipit-source-id: c4e8efaeb978e8f36e5ada998070923c3ed26d21
2019-04-19 21:04:16 -07:00

35 lines
988 B
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 'RCTExport';
import * as TurboModuleRegistry from 'TurboModuleRegistry';
export interface Spec extends TurboModule {
// Exported methods.
+getConstants: () => {|
const1: boolean,
const2: number,
const3: string,
|};
+voidFunc: () => void;
+getBool: (arg: boolean) => boolean;
+getNumber: (arg: number) => number;
+getString: (arg: string) => string;
+getArray: (arg: Array<any>) => Array<any>;
+getObject: (arg: Object) => Object;
+getValue: (x: number, y: string, z: Object) => Object;
+getValueWithCallback: (callback: (value: string) => void) => void;
+getValueWithPromise: (error: boolean) => Promise<string>;
}
export default TurboModuleRegistry.getEnforcing<Spec>('SampleTurboModule');