447 lines
13 KiB
JavaScript
447 lines
13 KiB
JavaScript
// 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;
|
|
}
|