Files
discord-decomp/_bundle/areStatesEqual.js
T
2026-11-01 12:12:55 +02:00

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;
}