mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
b13e41d98e
Summary: Changelog: [JS] Migrate ScreenshotManager from NativeModule to TurboModule. Fix SnapshotExample in rn-tester. `const ScreenshotManager = NativeModules.ScreenshotManager;` makes all of RNTesterAppRoute render blank in Bridgeless, because we throw a jsi::JSError when JS calls `NativeModule.get` while in Bridgeless. Reviewed By: RSNara Differential Revision: D33640935 fbshipit-source-id: 124a3b43e1440a7ca0071c95c4388350d2e4affa
35 lines
998 B
JavaScript
35 lines
998 B
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';
|
|
import type {UnsafeObject} from 'react-native/Libraries/Types/CodegenTypes';
|
|
|
|
export type ScreenshotManagerOptions = UnsafeObject;
|
|
|
|
export interface Spec extends TurboModule {
|
|
+getConstants: () => {||};
|
|
takeScreenshot(
|
|
id: string,
|
|
options: ScreenshotManagerOptions,
|
|
): Promise<string>;
|
|
}
|
|
|
|
const NativeModule = TurboModuleRegistry.get<Spec>('ScreenshotManager');
|
|
export function takeScreenshot(
|
|
id: string,
|
|
options: ScreenshotManagerOptions,
|
|
): Promise<string> {
|
|
if (NativeModule != null) {
|
|
return NativeModule.takeScreenshot(id, options);
|
|
}
|
|
return Promise.reject();
|
|
}
|