1 |
|
2 |
|
3 | import { NativeModules, findNodeHandle } from "react-native";
|
4 |
|
5 | const { RNViewShot } = NativeModules;
|
6 |
|
7 | export default async function takeSnapshotAsync(
|
8 | view: ?(number | ReactElement<any>),
|
9 | options ?: {
|
10 | width ?: number;
|
11 | height ?: number;
|
12 | format ?: "png" | "jpg" | "jpeg" | "webm";
|
13 | quality ?: number;
|
14 | result ?: "file" | "base64" | "data-uri";
|
15 | }
|
16 | ): Promise<string> {
|
17 | if (typeof view !== "number") {
|
18 | const node = findNodeHandle(view);
|
19 | if (!node) return Promise.reject(new Error("findNodeHandle failed to resolve view="+String(view)));
|
20 | view = node;
|
21 | }
|
22 |
|
23 | return RNViewShot.takeSnapshot(view, options);
|
24 | }
|