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

107 lines
2.8 KiB
JavaScript

// Metro module 702 (f703).
import { useDebugValue, useEffect, useMemo, useRef } from "react";
import { useSyncExternalStore } from "./Module703";
const is2 = typeof Object.is === "function" ? Object.is : function is(a0, a1) {
return a0 === a1 && (a0 !== 0 || 1 / a0 === 1 / a1) || a0 != a0 && a1 != a1;
};
export const useSyncExternalStoreWithSelector = function(a0, a1, a2, a3, a4) {
let current, syncExternalStore;
const ref = useRef(null);
if (ref.current === null) {
const current2 = {
hasValue: false,
value: null
};
current = current2;
ref.current = current2;
} else {
current = ref.current;
}
const memo = useMemo(function() {
let c23835_0, value;
let c23835_2 = false;
const r4 = a2 !== void 0 ? a2 : null;
let c23835_3 = r4;
return [function() {
let r11;
L12: {
const r5 = a1();
if (c23835_2) {
const r18 = is2(c23835_0, r5);
r11 = value;
if (!r18) {
let r20 = a3(r5);
if (a4 !== void 0 && a4(value, r20)) {
c23835_0 = r5;
r20 = value;
} else {
c23835_0 = r5;
value = r20;
}
r11 = r20;
}
} else {
c23835_2 = true;
c23835_0 = r5;
r11 = a3(r5);
if (a4 !== void 0) {
if (current.hasValue) {
const value2 = current.value;
if (a4(value2, r11)) {
value = value2;
r11 = value2;
break L12;
}
}
}
value = r11;
}
}
return r11;
}, r4 !== null ? function() {
let r11;
L12: {
const r5 = c23835_3();
if (c23835_2) {
const r20 = is2(c23835_0, r5);
r11 = value;
if (!r20) {
let r23 = a3(r5);
if (a4 !== void 0 && a4(value, r23)) {
c23835_0 = r5;
r23 = value;
} else {
c23835_0 = r5;
value = r23;
}
r11 = r23;
}
} else {
c23835_2 = true;
c23835_0 = r5;
r11 = a3(r5);
if (a4 !== void 0) {
if (current.hasValue) {
const value2 = current.value;
if (a4(value2, r11)) {
value = value2;
r11 = value2;
break L12;
}
}
}
value = r11;
}
}
return r11;
} : void 0];
}, [a1, a2, a3, a4]);
syncExternalStore = useSyncExternalStore(a0, memo[0], memo[1]);
useEffect(function() {
current.hasValue = true;
current.value = syncExternalStore;
}, [syncExternalStore]);
useDebugValue(syncExternalStore);
return syncExternalStore;
};