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

42 lines
1.2 KiB
JavaScript

// Metro module 3953 (f3954).
import { useCallback, useEffect, useRef, useState } from "react";
import { useDisposableMemo } from "./Module3954";
export function useRiveProperty(a0, a1, c13752_2) {
let c13752_0 = a0;
const ref = useRef(void 0);
const disposableMemo = useDisposableMemo(() => {
if (c13752_0) {
return c13752_2(c13752_0, a1);
}
}, (a0) => a0 == null ? void 0 : a0.dispose(), [a0, a1], ref);
const [state, setState] = useState(void 0);
const [state2, setState2] = useState(null);
useEffect(() => {
setState2(null);
}, [a1, a0]);
useEffect(() => {
if (c13752_0 && !disposableMemo) {
setState2(new Error(`Property "${a1}" not found in the ViewModel instance`));
}
}, [a0, disposableMemo, a1]);
useEffect(() => {
if (disposableMemo) {
setState(disposableMemo.value);
let c24896_0 = disposableMemo.addListener((a0) => {
setState(a0);
});
return () => {
try {
c24896_0();
} catch ($e) {}
};
}
}, [disposableMemo]);
return [state, useCallback((a0) => {
const current = ref.current;
if (current) {
current.value = typeof a0 === "function" ? a0(state) : a0;
}
}, [disposableMemo, state]), state2, disposableMemo];
}