// Metro module 642 (f643). import { useState, useEffect, useCallback } from "react"; import { areArraysShallowEqual } from "./shallowEqual"; import Backoff from "./Backoff"; import { create } from "./Module644"; import { useStateFromStores } from "./defaultAreStatesEqual"; function $mk101311($env) { return () => ({ isLoading: false, error: null, backoff: (0, $env[7])(), lastSuccessAt: null, failureLockedUntil: null }); } function $mk113442($env) { return (a0) => { let useStoreState2; const r6 = $env; const queryId2 = r6[1].apply(void 0, [...a0]); const r17 = r6[13]; if (queryId2 == null) { useStoreState2 = c565_13; } else { const r8 = r6[11]; useStoreState2 = r8.get(queryId2); if (useStoreState2 == null) { const r26 = create($mk101311(r6)); r8.set(queryId2, r26); useStoreState2 = r26; } } return r17({ queryId: queryId2, args: a0, useStoreState: useStoreState2 }); }; } function $mk113443($env) { return (a0) => { let useStoreState2; const r3 = $env; const queryId2 = r3[1].apply(void 0, [...a0]); if (queryId2 == null) { useStoreState2 = c565_13; } else { const r9 = r3[11]; useStoreState2 = r9.get(queryId2); if (useStoreState2 == null) { const r24 = create($mk101311(r3)); r9.set(queryId2, r24); useStoreState2 = r24; } } useStoreState2.getState().backoff.succeed(); useStoreState2.setState({ failureLockedUntil: null }); return (0, r3[13])({ queryId: queryId2, args: a0, useStoreState: useStoreState2, refetch: true }); }; } function $mk117530($env) { return function makeError(a0) { if (a0 instanceof Error) { return a0; } if (typeof a0 === "object" && a0 != null && "status" in a0 && typeof a0.status === "number") { const retryAfter = a0.retryAfter; const r23 = typeof retryAfter === "number" ? Number.isFinite(retryAfter) ? retryAfter <= 0 ? void 0 : retryAfter : void 0 : void 0; if ("body" in a0 && a0.body != null && typeof a0.body === "object" && "message" in a0.body) { const r57 = new c565_9(String(a0.body.message)); r57.setStatus(a0.status); r57.setRetryAfter(r23); return r57; } const r44 = new c565_9(Object.entries(a0).map((item) => { const [r8, r26] = item; return `${r8}: [${String(r26)}]`; }).join(",")); r44.setStatus(a0.status); r44.setRetryAfter(r23); return r44; } return new Error(String(a0)); }; } function $mk117531($env) { return (a0, a1) => { const r7 = $env; let env31850 = { $parent: $env }; env31850[0] = a0; env31850[1] = a1; const r6 = r7[4]; const retryAfter = r7[8].retryAfter; const r14 = typeof retryAfter === "number" ? Number.isFinite(retryAfter) ? retryAfter <= 0 ? void 0 : retryAfter : void 0 : void 0; r6.fail(() => { const r3 = env31850.$parent.$parent[13]; const r4 = env31850.$parent; r3({ queryId: r4[0], args: r4[1], useStoreState: r4[3], refetch: r4[2] }).then(env31850[0], env31850[1]); }, r14 == null ? 0 : 1000 * r14); }; } let defaultRetryableErrors, defaultBackoff, c565_8, c565_14, c565_9, c565_13; let env565 = {}; const areStatesEqual = function areStatesEqual(a0, a1) { return Array.isArray(a0) && Array.isArray(a1) ? areArraysShallowEqual(a0, a1) : Object.is(a0, a1); }; defaultRetryableErrors = function defaultRetryableErrors(a0) { return a0 instanceof c565_9 && (a0.status >= 500 || a0.status === 429); }; defaultBackoff = function defaultBackoff() { return new Backoff(); }; c565_8 = Symbol("NO_DATA"); class HTTPResponseError extends Error { name = "HTTPResponseError"; status = 0; setStatus(a0) { this.status = a0; } setRetryAfter(a0) { this.retryAfter = a0; } } c565_14 = HTTPResponseError; c565_9 = HTTPResponseError; c565_13 = create(() => ({ isLoading: false, error: null, backoff: new Backoff(), lastSuccessAt: null, failureLockedUntil: null })); export { c565_8 as NO_DATA }; export function createFetchStore(a0, a1) { let env12407 = { $parent: env565 }; env12407[0] = a0; env12407[1] = a1.getQueryId; env12407[2] = a1.get; env12407[3] = a1.load; env12407[4] = a1.getIsLoading; env12407[5] = a1.getError; let retryConfig = a1.retryConfig; if (retryConfig === void 0) { retryConfig = {}; } let maxRetries = retryConfig.maxRetries; if (maxRetries === void 0) { maxRetries = 5; } env12407[6] = maxRetries; let backoff = retryConfig.backoff; if (backoff === void 0) { backoff = defaultBackoff; } env12407[7] = backoff; let retryableErrors = retryConfig.retryableErrors; if (retryableErrors === void 0) { retryableErrors = defaultRetryableErrors; } env12407[8] = retryableErrors; env12407[9] = a1.staleAfter; env12407[10] = a1.failureStaleAfter; env12407[11] = void 0; env12407[12] = function getUseStoreState(a0) { if (a0 == null) { return c565_13; } const r2 = env12407; const r4 = env12407[11]; let r7 = r4.get(a0); if (r7 == null) { const r14 = create($mk101311(r2)); r4.set(a0, r14); r7 = r14; } return r7; }; env12407[13] = function loader() { return env12407[14].apply(this, arguments); }; env12407[14] = function _loader() { const r9 = async (c28661_0) => { let useStoreState2; let isLoading, c28661_2, c28661_3, c28661_4; let c28661_5 = 0; const r13 = env12407; L35: { L32: { L31: { L28: { try { let env31156; L10: { c28661_3 = r13; const r38 = env31156 = { $parent: r13 }; c28661_2 = r38; env31156[0] = void 0; env31156[1] = void 0; env31156[2] = void 0; env31156[3] = void 0; const queryId2 = c28661_0.queryId; env31156[0] = queryId2; env31156[1] = c28661_0.args; const refetch = c28661_0.refetch; if (refetch !== void 0) { env31156[2] = refetch; useStoreState2 = c28661_0.useStoreState; if (useStoreState2 !== void 0) { break L10; } } else { env31156[2] = false; useStoreState2 = c28661_0.useStoreState; if (useStoreState2 !== void 0) { break L10; } } useStoreState2 = (0, env12407[12])(queryId2); } env31156[3] = useStoreState2; env31156[4] = void 0; env31156[5] = void 0; env31156[6] = void 0; env31156[7] = void 0; env31156[8] = void 0; await void 0; env31156[4] = env31156[3].getState().backoff; const r68 = env12407[4]; isLoading = r68 == null ? void 0 : r68.apply(void 0, [...env31156[1]]); if (isLoading == null) { isLoading = env31156[3].getState().isLoading; } env31156[5] = isLoading; if (env31156[0] == null) { break L35; } if (env31156[5]) { break L35; } if (!env31156[2]) { env31156[6] = env12407[2].apply(void 0, [...env31156[1]]); if (env31156[6] === c565_8) { break L32; } if (env31156[6] != null && !(function isCachedDataStale(a0, a1) { if (a1 == null) { return false; } const lastSuccessAt = a0.getState().lastSuccessAt; return lastSuccessAt == null || Date.now() - lastSuccessAt > 1000 * a1; })(env31156[3], env12407[9])) { break L28; } env31156[7] = env31156[3].getState().failureLockedUntil; if (env31156[7] != null) { if (Date.now() < env31156[7]) { break L31; } } } c28661_5 = 1; env31156[3].setState({ isLoading: true }); await env12407[3].apply(void 0, [...env31156[1]]); env31156[4].succeed(); env31156[3].setState({ error: null, isLoading: false, lastSuccessAt: Date.now(), failureLockedUntil: null }); c28661_5 = 0; break L35; } catch ($e) { const r36 = $e; let r7 = r36; c28661_4 = r36; if (c28661_5 !== 0) { while (true) { L47: { try { const r177 = c28661_4; c28661_5 = 0; env31156[8] = $mk117530(env12407.$parent)(r177); env31156[3].setState({ error: env31156[8], isLoading: false }); if ((0, env12407[8])(env31156[8]) && env12407[6] > env31156[4].fails) { await new Promise($mk117531(c28661_2)); break L47; } if (env12407[10] == null) { break L35; } env31156[3].setState({ failureLockedUntil: Date.now() + 1000 * env12407[10] }); break L35; } catch (r173) { r7 = r173; c28661_4 = r173; if (c28661_5 === 0) { break; } continue; } } return void 0; } } throw r7; } } return void 0; } return void 0; } return void 0; } }; env12407[14] = r9; return r9.apply(this, arguments); }; const useCfsHook = function useCfsHook(...r6) { let r13; const [r14, r26] = (0, useState)(r6); if (!(r6 === r14 || areArraysShallowEqual(r6, r14))) { r26(r6); } const r32 = env12407; const args = r14; const r34 = Array; const r36 = env12407[0]; const r18 = r34.isArray(r36) ? r36 : [r36]; const queryId = env12407[1].apply(void 0, [...args]); if (queryId == null) { r13 = c565_13; } else { const r45 = env12407[11]; r13 = r45.get(queryId); if (r13 == null) { const r53 = create($mk101311(r32)); r45.set(queryId, r53); r13 = r53; } } const useStoreState = r13; let isLoading2 = useStateFromStores(r18, () => { const r5 = env12407[4]; return r5 == null ? void 0 : r5.apply(void 0, [...args]); }, [args]); const storeState = useStoreState((a0) => env12407[4] == null && a0.isLoading); let error = useStateFromStores(r18, () => { const r5 = env12407[5]; return r5 == null ? void 0 : r5.apply(void 0, [...args]); }, [args]); const storeState2 = useStoreState((a0) => env12407[5] == null ? a0.error : null); const stateFromStores = useStateFromStores(r18, () => env12407[2].apply(void 0, [...args]), [args], areStatesEqual); (0, useEffect)(() => { (0, env12407[13])({ queryId, args, useStoreState }); }, [queryId, args, useStoreState]); const refetch = (0, useCallback)(() => { (0, env12407[13])({ queryId, args, useStoreState, refetch: true }); }, [queryId, args, useStoreState]); const data = stateFromStores !== c565_8 ? stateFromStores : null; if (error == null) { error = storeState2; } if (isLoading2 == null) { isLoading2 = storeState; } return { data, error, isLoading: isLoading2, refetch }; }; env12407[11] = new Map(); useCfsHook.refetch = async function(...c23809_0) { let c28662_0 = c23809_0; await void 0; let c28662_1 = env12407[1].apply(void 0, [...c28662_0]); let c28662_2 = (0, env12407[12])(c28662_1); c28662_2.getState().backoff.succeed(); c28662_2.setState({ failureLockedUntil: null }); await (0, env12407[13])({ queryId: c28662_1, args: c28662_0, useStoreState: c28662_2, refetch: true }); }; useCfsHook.fetchMany = async function(...c23810_0) { let env28663; const r9 = env28663 = { $parent: env12407 }; let c23810_1 = r9; env28663[0] = c23810_0; await void 0; await Promise.all(env28663[0].map($mk113442(env12407))); }; useCfsHook.refetchMany = async function(...c23811_0) { let env28664; const r9 = env28664 = { $parent: env12407 }; let c23811_1 = r9; env28664[0] = c23811_0; await void 0; await Promise.all(env28664[0].map($mk113443(env12407))); }; return useCfsHook; }