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

122 lines
3.2 KiB
React

// Metro module 3854 (f3855).
import * as Module19 from "react";
import { lazy, useState, useEffect } from "react";
import * as _pausedPromise from "./pausedPromise";
import { importWithRetry } from "./pausedPromise";
const loaderMaker = function loaderMaker(r2 = "transparent") {
const backgroundColor = r2;
return () => <div style={{
position: "absolute",
width: "100%",
height: "100%",
backgroundColor
}} />;
};
for (const key in _pausedPromise) {
exports[key] = _pausedPromise[key];
}
export { loaderMaker };
export function makeLazy(a0) {
const { createPromise, webpackId, renderLoader } = a0;
let name2 = a0.name;
const name = name2;
let memo = a0.memo;
if (memo === void 0) {
memo = false;
}
let Component2 = lazy(() => importWithRetry({
createPromise,
webpackId,
name
}));
const Wrapper2 = (props) => <Module19.Suspense fallback={renderLoader != null ? renderLoader() : <div style={{
position: "absolute",
width: "100%",
height: "100%",
backgroundColor: "transparent"
}} />}>
<Component2 {...props} />
</Module19.Suspense>;
const r15 = memo ? Module19.memo(Wrapper2) : Wrapper2;
if (!name) {
name2 = "Unknown";
}
r15.displayName = `Suspense(${name2})`;
return r15;
}
export function makeLazyWithPreload(a0) {
let $mk102812 = function() {
return (a0) => {
default2 = a0.default;
return a0;
};
};
const { createPromise: createPromise2, webpackId: webpackId2, renderLoader: renderLoader2 } = a0;
let name2 = a0.name;
let memo = a0.memo;
if (memo === void 0) {
memo = false;
}
let c13688_3 = null;
const default2 = null;
let Component3 = lazy(() => {
if (c13688_3 == null) {
c13688_3 = importWithRetry({
createPromise: createPromise2,
webpackId: webpackId2
}).then($mk102812());
}
return c13688_3;
});
const Wrapper2 = (props) => {
let r32, fallback;
const [Component] = useState(() => default2);
if (Component != null) {
r32 = <Component {...props} />;
} else {
if (renderLoader2 != null) {
fallback = renderLoader2();
} else {
let c24741_0 = "transparent";
fallback = <div style={{
position: "absolute",
width: "100%",
height: "100%",
backgroundColor: "transparent"
}} />;
}
r32 = <Module19.Suspense fallback={fallback}>
<Component3 {...props} />
</Module19.Suspense>;
}
return r32;
};
const r16 = memo ? Module19.memo(Wrapper2) : Wrapper2;
if (!name2) {
name2 = "Unknown";
}
r16.displayName = `Suspense(${name2})`;
r16.preload = () => {
if (c13688_3 == null) {
c13688_3 = importWithRetry({
createPromise: createPromise2,
webpackId: webpackId2
}).then($mk102812());
}
};
return r16;
}
export function LazyLibrary(props) {
const { createPromise: createPromise3, webpackId: webpackId3, render, renderFallback } = props;
const [state, setState] = useState(null);
useEffect(() => {
importWithRetry({
createPromise: createPromise3,
webpackId: webpackId3
}).then((result) => setState(result.default));
}, []);
return <>
{state == null ? renderFallback() : render(state)}
</>;
}