// Metro module 3962 (f3963). import _slicedToArray from "./_slicedToArray"; import { useState, useMemo, useRef, useEffect } from "react"; import { Image } from "react-native"; import { RiveFileFactory } from "./Module3945"; import { callDispose } from "./Module3942"; let env2257 = {}; export function useRiveFile(a0, r7 = {}) { let env13758 = { $parent: env2257 }; env13758[0] = r7; env13758[1] = void 0; env13758[2] = void 0; env13758[3] = void 0; env13758[4] = void 0; env13758[5] = void 0; env13758[6] = void 0; const r14 = _slicedToArray((0, useState)({ riveFile: void 0, isLoading: true, error: null }), 2); const r15 = r14[0]; env13758[1] = r14[1]; const r20 = (0, useMemo)(() => { const referencedAssets = env13758[0].referencedAssets; const r1 = {}; let c24899_0 = r1; let r8 = void 0; if (referencedAssets !== void 0) { Object.entries(referencedAssets).forEach((item) => { let r42; const [r27, image] = item; const r33 = image !== null && typeof image === "object" && "__type" in image && image.__type === "HybridObject"; L28: { if (!r33) { const source = image.source; if (typeof source === "number") { const r47 = Image.resolveAssetSource(source); if (r47 && r47.uri) { r42 = { sourceAssetId: r47.uri }; break L28; } throw new Error("Invalid asset source provided."); } const uri = source.uri; if (typeof source === "object" && uri) { r42 = { sourceUrl: uri }; break L28; } const { fileName, path } = source; if (typeof source === "object" && fileName) { const r41 = { sourceAsset: fileName }; r42 = r41; if (!path) { break L28; } r41.path = path; r42 = r41; break L28; } throw new Error("Invalid source provided."); } r42 = { image }; } c24899_0[r27] = r42; }); r8 = r1; } return r8; }, [r7.referencedAssets]); env13758[2] = r20; env13758[3] = (0, useRef)(r20); const r24 = a0 != null && typeof a0 === "object" && "uri" in a0 ? "uri" : "primitive"; env13758[4] = r24; const r27 = a0 != null && typeof a0 === "object" && "uri" in a0 ? a0.uri : a0; env13758[5] = r27; useEffect(() => { let env24900 = { $parent: env13758 }; env24900[0] = null; let c24901_0 = async () => { let c31333_1, c31333_2; let c31333_3 = 0; let c31922_0; const r11 = void 0; L34: { L25: { L20: { try { c31333_1 = r11; c31333_3 = 1; const r25 = env13758[4] === "uri" ? { uri: env13758[5] } : env13758[5]; if (r25 == null) { (0, env13758[1])({ riveFile: null, isLoading: false, error: new Error("No Rive file input provided.") }); c31333_3 = 0; break L34; } L23: { if (typeof r25 === "string") { c31333_1.$parent[0] = !r25.startsWith("http://") && !r25.startsWith("https://") ? await RiveFileFactory.fromResource(r25, env13758[3].current) : await RiveFileFactory.fromURL(r25, env13758[3].current); } else { if (typeof r25 !== "number" && !("uri" in r25)) { if (r25 instanceof ArrayBuffer) { c31333_1.$parent[0] = await RiveFileFactory.fromBytes(r25, env13758[3].current); break L23; } (0, env13758[1])({ riveFile: c31333_1.$parent[0], isLoading: false, error: null }); c31333_3 = 0; break L20; } c31333_1.$parent[0] = await RiveFileFactory.fromSource(r25, env13758[3].current); } } (0, env13758[1])({ riveFile: c31333_1.$parent[0], isLoading: false, error: null }); c31333_3 = 0; break L25; } catch ($e) { const r41 = $e; let r7 = r41; c31333_2 = r41; if (c31333_3 !== 0) { while (true) { try { const r229 = c31333_2; c31333_3 = 0; c31922_0 = r229; console.error(c31922_0); env13758[1]({ riveFile: null, isLoading: false, error: c31922_0 instanceof Error ? c31922_0 : new Error("Failed to load Rive file") }); break L25; } catch (r225) { r7 = r225; c31333_2 = r225; if (c31333_3 === 0) { break; } } } } throw r7; } } return void 0; } return void 0; } }; (function loadRiveFile() { return c24901_0.apply(this, arguments); })(); return () => { if (env24900[0]) { callDispose(env24900[0]); } }; }, [r24, r27]); const riveFile = r15.riveFile; env13758[6] = riveFile; useEffect(() => { const r2 = env13758[3]; const current = r2.current; const data = env13758[2]; if (current !== data && env13758[6] && data) { env13758[6].updateReferencedAssets({ data }); r2.current = data; } }, [r20, riveFile]); return { riveFile: r15.riveFile, isLoading: r15.isLoading, error: r15.error }; }