index.js 659B

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