Initial boiler plate project
This commit is contained in:
39
node_modules/next/dist/esm/client/components/react-dev-overlay/pages/ErrorBoundary.js
generated
vendored
Normal file
39
node_modules/next/dist/esm/client/components/react-dev-overlay/pages/ErrorBoundary.js
generated
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
||||
import * as React from "react";
|
||||
export class ErrorBoundary extends React.PureComponent {
|
||||
static getDerivedStateFromError(error) {
|
||||
return {
|
||||
error
|
||||
};
|
||||
}
|
||||
componentDidCatch(error, // Loosely typed because it depends on the React version and was
|
||||
// accidentally excluded in some versions.
|
||||
errorInfo) {
|
||||
this.props.onError(error, (errorInfo == null ? void 0 : errorInfo.componentStack) || null);
|
||||
if (!this.props.globalOverlay) {
|
||||
this.setState({
|
||||
error
|
||||
});
|
||||
}
|
||||
}
|
||||
// Explicit type is needed to avoid the generated `.d.ts` having a wide return type that could be specific the the `@types/react` version.
|
||||
render() {
|
||||
// The component has to be unmounted or else it would continue to error
|
||||
return this.state.error || this.props.globalOverlay && this.props.isMounted ? // When the overlay is global for the application and it wraps a component rendering `<html>`
|
||||
// we have to render the html shell otherwise the shadow root will not be able to attach
|
||||
this.props.globalOverlay ? /*#__PURE__*/ _jsxs("html", {
|
||||
children: [
|
||||
/*#__PURE__*/ _jsx("head", {}),
|
||||
/*#__PURE__*/ _jsx("body", {})
|
||||
]
|
||||
}) : null : this.props.children;
|
||||
}
|
||||
constructor(...args){
|
||||
super(...args);
|
||||
this.state = {
|
||||
error: null
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
//# sourceMappingURL=ErrorBoundary.js.map
|
||||
1
node_modules/next/dist/esm/client/components/react-dev-overlay/pages/ErrorBoundary.js.map
generated
vendored
Normal file
1
node_modules/next/dist/esm/client/components/react-dev-overlay/pages/ErrorBoundary.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../../../src/client/components/react-dev-overlay/pages/ErrorBoundary.tsx"],"names":["React","ErrorBoundary","PureComponent","getDerivedStateFromError","error","componentDidCatch","errorInfo","props","onError","componentStack","globalOverlay","setState","render","state","isMounted","html","head","body","children"],"mappings":";AAAA,YAAYA,WAAW,QAAO;AAU9B,OAAO,MAAMC,sBAAsBD,MAAME,aAAa;IAMpD,OAAOC,yBAAyBC,KAAY,EAAE;QAC5C,OAAO;YAAEA;QAAM;IACjB;IAEAC,kBACED,KAAY,EACZ,gEAAgE;IAChE,0CAA0C;IAC1CE,SAA8C,EAC9C;QACA,IAAI,CAACC,KAAK,CAACC,OAAO,CAACJ,OAAOE,CAAAA,6BAAAA,UAAWG,cAAc,KAAI;QACvD,IAAI,CAAC,IAAI,CAACF,KAAK,CAACG,aAAa,EAAE;YAC7B,IAAI,CAACC,QAAQ,CAAC;gBAAEP;YAAM;QACxB;IACF;IAEA,0IAA0I;IAC1IQ,SAA0B;QACxB,uEAAuE;QACvE,OAAO,IAAI,CAACC,KAAK,CAACT,KAAK,IACpB,IAAI,CAACG,KAAK,CAACG,aAAa,IAAI,IAAI,CAACH,KAAK,CAACO,SAAS,GACjD,6FAA6F;QAC7F,wFAAwF;QACxF,IAAI,CAACP,KAAK,CAACG,aAAa,iBACtB,MAACK;;8BACC,KAACC;8BACD,KAACC;;aAED,OAEJ,IAAI,CAACV,KAAK,CAACW,QAAQ;IAEvB;;;aAlCAL,QAAQ;YAAET,OAAO;QAAK;;AAmCxB"}
|
||||
65
node_modules/next/dist/esm/client/components/react-dev-overlay/pages/ReactDevOverlay.js
generated
vendored
Normal file
65
node_modules/next/dist/esm/client/components/react-dev-overlay/pages/ReactDevOverlay.js
generated
vendored
Normal file
@ -0,0 +1,65 @@
|
||||
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
||||
import * as React from "react";
|
||||
import * as Bus from "./bus";
|
||||
import { ShadowPortal } from "../internal/components/ShadowPortal";
|
||||
import { BuildError } from "../internal/container/BuildError";
|
||||
import { Errors } from "../internal/container/Errors";
|
||||
import { ErrorBoundary } from "./ErrorBoundary";
|
||||
import { Base } from "../internal/styles/Base";
|
||||
import { ComponentStyles } from "../internal/styles/ComponentStyles";
|
||||
import { CssReset } from "../internal/styles/CssReset";
|
||||
import { useErrorOverlayReducer } from "../shared";
|
||||
const shouldPreventDisplay = (errorType, preventType)=>{
|
||||
if (!preventType || !errorType) {
|
||||
return false;
|
||||
}
|
||||
return preventType.includes(errorType);
|
||||
};
|
||||
export default function ReactDevOverlay(param) {
|
||||
let { children, preventDisplay, globalOverlay } = param;
|
||||
const [state, dispatch] = useErrorOverlayReducer();
|
||||
React.useEffect(()=>{
|
||||
Bus.on(dispatch);
|
||||
return function() {
|
||||
Bus.off(dispatch);
|
||||
};
|
||||
}, [
|
||||
dispatch
|
||||
]);
|
||||
const onComponentError = React.useCallback((_error, _componentStack)=>{
|
||||
// TODO: special handling
|
||||
}, []);
|
||||
const hasBuildError = state.buildError != null;
|
||||
const hasRuntimeErrors = Boolean(state.errors.length);
|
||||
const errorType = hasBuildError ? "build" : hasRuntimeErrors ? "runtime" : null;
|
||||
const isMounted = errorType !== null;
|
||||
const displayPrevented = shouldPreventDisplay(errorType, preventDisplay);
|
||||
return /*#__PURE__*/ _jsxs(_Fragment, {
|
||||
children: [
|
||||
/*#__PURE__*/ _jsx(ErrorBoundary, {
|
||||
globalOverlay: globalOverlay,
|
||||
isMounted: isMounted,
|
||||
onError: onComponentError,
|
||||
children: children != null ? children : null
|
||||
}),
|
||||
isMounted ? /*#__PURE__*/ _jsxs(ShadowPortal, {
|
||||
children: [
|
||||
/*#__PURE__*/ _jsx(CssReset, {}),
|
||||
/*#__PURE__*/ _jsx(Base, {}),
|
||||
/*#__PURE__*/ _jsx(ComponentStyles, {}),
|
||||
displayPrevented ? null : hasBuildError ? /*#__PURE__*/ _jsx(BuildError, {
|
||||
message: state.buildError,
|
||||
versionInfo: state.versionInfo
|
||||
}) : hasRuntimeErrors ? /*#__PURE__*/ _jsx(Errors, {
|
||||
isAppDir: false,
|
||||
errors: state.errors,
|
||||
versionInfo: state.versionInfo,
|
||||
initialDisplayState: "fullscreen"
|
||||
}) : undefined
|
||||
]
|
||||
}) : undefined
|
||||
]
|
||||
});
|
||||
}
|
||||
|
||||
//# sourceMappingURL=ReactDevOverlay.js.map
|
||||
1
node_modules/next/dist/esm/client/components/react-dev-overlay/pages/ReactDevOverlay.js.map
generated
vendored
Normal file
1
node_modules/next/dist/esm/client/components/react-dev-overlay/pages/ReactDevOverlay.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../../../src/client/components/react-dev-overlay/pages/ReactDevOverlay.tsx"],"names":["React","Bus","ShadowPortal","BuildError","Errors","ErrorBoundary","Base","ComponentStyles","CssReset","useErrorOverlayReducer","shouldPreventDisplay","errorType","preventType","includes","ReactDevOverlay","children","preventDisplay","globalOverlay","state","dispatch","useEffect","on","off","onComponentError","useCallback","_error","_componentStack","hasBuildError","buildError","hasRuntimeErrors","Boolean","errors","length","isMounted","displayPrevented","onError","message","versionInfo","isAppDir","initialDisplayState","undefined"],"mappings":";AAAA,YAAYA,WAAW,QAAO;AAE9B,YAAYC,SAAS,QAAO;AAC5B,SAASC,YAAY,QAAQ,sCAAqC;AAClE,SAASC,UAAU,QAAQ,mCAAkC;AAC7D,SAASC,MAAM,QAAQ,+BAA8B;AACrD,SAASC,aAAa,QAAQ,kBAAiB;AAC/C,SAASC,IAAI,QAAQ,0BAAyB;AAC9C,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,QAAQ,QAAQ,8BAA6B;AACtD,SAASC,sBAAsB,QAAQ,YAAW;AAIlD,MAAMC,uBAAuB,CAC3BC,WACAC;IAEA,IAAI,CAACA,eAAe,CAACD,WAAW;QAC9B,OAAO;IACT;IACA,OAAOC,YAAYC,QAAQ,CAACF;AAC9B;AAQA,eAAe,SAASG,gBAAgB,KAIjB;IAJiB,IAAA,EACtCC,QAAQ,EACRC,cAAc,EACdC,aAAa,EACQ,GAJiB;IAKtC,MAAM,CAACC,OAAOC,SAAS,GAAGV;IAE1BT,MAAMoB,SAAS,CAAC;QACdnB,IAAIoB,EAAE,CAACF;QACP,OAAO;YACLlB,IAAIqB,GAAG,CAACH;QACV;IACF,GAAG;QAACA;KAAS;IAEb,MAAMI,mBAAmBvB,MAAMwB,WAAW,CACxC,CAACC,QAAeC;IACd,yBAAyB;IAC3B,GACA,EAAE;IAGJ,MAAMC,gBAAgBT,MAAMU,UAAU,IAAI;IAC1C,MAAMC,mBAAmBC,QAAQZ,MAAMa,MAAM,CAACC,MAAM;IACpD,MAAMrB,YAAYgB,gBACd,UACAE,mBACA,YACA;IACJ,MAAMI,YAAYtB,cAAc;IAEhC,MAAMuB,mBAAmBxB,qBAAqBC,WAAWK;IAEzD,qBACE;;0BACE,KAACX;gBACCY,eAAeA;gBACfgB,WAAWA;gBACXE,SAASZ;0BAERR,mBAAAA,WAAY;;YAEdkB,0BACC,MAAC/B;;kCACC,KAACM;kCACD,KAACF;kCACD,KAACC;oBAEA2B,mBAAmB,OAAOP,8BACzB,KAACxB;wBACCiC,SAASlB,MAAMU,UAAU;wBACzBS,aAAanB,MAAMmB,WAAW;yBAE9BR,iCACF,KAACzB;wBACCkC,UAAU;wBACVP,QAAQb,MAAMa,MAAM;wBACpBM,aAAanB,MAAMmB,WAAW;wBAC9BE,qBAAqB;yBAErBC;;iBAEJA;;;AAGV"}
|
||||
38
node_modules/next/dist/esm/client/components/react-dev-overlay/pages/bus.js
generated
vendored
Normal file
38
node_modules/next/dist/esm/client/components/react-dev-overlay/pages/bus.js
generated
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
let handlers = new Set();
|
||||
let queue = [];
|
||||
function drain() {
|
||||
// Draining should never happen synchronously in case multiple handlers are
|
||||
// registered.
|
||||
setTimeout(function() {
|
||||
while(// Until we are out of events:
|
||||
Boolean(queue.length) && // Or, if all handlers removed themselves as a result of handling the
|
||||
// event(s)
|
||||
Boolean(handlers.size)){
|
||||
const ev = queue.shift();
|
||||
handlers.forEach((handler)=>handler(ev));
|
||||
}
|
||||
}, 1);
|
||||
}
|
||||
export function emit(ev) {
|
||||
queue.push(Object.freeze({
|
||||
...ev
|
||||
}));
|
||||
drain();
|
||||
}
|
||||
export function on(fn) {
|
||||
if (handlers.has(fn)) {
|
||||
return false;
|
||||
}
|
||||
handlers.add(fn);
|
||||
drain();
|
||||
return true;
|
||||
}
|
||||
export function off(fn) {
|
||||
if (handlers.has(fn)) {
|
||||
handlers.delete(fn);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
//# sourceMappingURL=bus.js.map
|
||||
1
node_modules/next/dist/esm/client/components/react-dev-overlay/pages/bus.js.map
generated
vendored
Normal file
1
node_modules/next/dist/esm/client/components/react-dev-overlay/pages/bus.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../../../src/client/components/react-dev-overlay/pages/bus.ts"],"names":["handlers","Set","queue","drain","setTimeout","Boolean","length","size","ev","shift","forEach","handler","emit","push","Object","freeze","on","fn","has","add","off","delete"],"mappings":"AAIA,IAAIA,WAAiC,IAAIC;AACzC,IAAIC,QAAoB,EAAE;AAE1B,SAASC;IACP,2EAA2E;IAC3E,cAAc;IACdC,WAAW;QACT,MACE,8BAA8B;QAC9BC,QAAQH,MAAMI,MAAM,KACpB,qEAAqE;QACrE,WAAW;QACXD,QAAQL,SAASO,IAAI,EACrB;YACA,MAAMC,KAAKN,MAAMO,KAAK;YACtBT,SAASU,OAAO,CAAC,CAACC,UAAYA,QAAQH;QACxC;IACF,GAAG;AACL;AAEA,OAAO,SAASI,KAAKJ,EAAY;IAC/BN,MAAMW,IAAI,CAACC,OAAOC,MAAM,CAAC;QAAE,GAAGP,EAAE;IAAC;IACjCL;AACF;AAEA,OAAO,SAASa,GAAGC,EAAmB;IACpC,IAAIjB,SAASkB,GAAG,CAACD,KAAK;QACpB,OAAO;IACT;IAEAjB,SAASmB,GAAG,CAACF;IACbd;IACA,OAAO;AACT;AAEA,OAAO,SAASiB,IAAIH,EAAmB;IACrC,IAAIjB,SAASkB,GAAG,CAACD,KAAK;QACpBjB,SAASqB,MAAM,CAACJ;QAChB,OAAO;IACT;IAEA,OAAO;AACT"}
|
||||
110
node_modules/next/dist/esm/client/components/react-dev-overlay/pages/client.js
generated
vendored
Normal file
110
node_modules/next/dist/esm/client/components/react-dev-overlay/pages/client.js
generated
vendored
Normal file
@ -0,0 +1,110 @@
|
||||
import * as Bus from "./bus";
|
||||
import { parseStack } from "../internal/helpers/parseStack";
|
||||
import { parseComponentStack } from "../internal/helpers/parse-component-stack";
|
||||
import { hydrationErrorState, patchConsoleError } from "../internal/helpers/hydration-error-info";
|
||||
import { ACTION_BEFORE_REFRESH, ACTION_BUILD_ERROR, ACTION_BUILD_OK, ACTION_REFRESH, ACTION_UNHANDLED_ERROR, ACTION_UNHANDLED_REJECTION, ACTION_VERSION_INFO } from "../shared";
|
||||
// Patch console.error to collect information about hydration errors
|
||||
patchConsoleError();
|
||||
let isRegistered = false;
|
||||
let stackTraceLimit = undefined;
|
||||
function onUnhandledError(ev) {
|
||||
const error = ev == null ? void 0 : ev.error;
|
||||
if (!error || !(error instanceof Error) || typeof error.stack !== "string") {
|
||||
// A non-error was thrown, we don't have anything to show. :-(
|
||||
return;
|
||||
}
|
||||
if (error.message.match(/(hydration|content does not match|did not match)/i)) {
|
||||
if (hydrationErrorState.warning) {
|
||||
error.details = {
|
||||
...error.details,
|
||||
// It contains the warning, component stack, server and client tag names
|
||||
...hydrationErrorState
|
||||
};
|
||||
}
|
||||
error.message += "\nSee more info here: https://nextjs.org/docs/messages/react-hydration-error";
|
||||
}
|
||||
const e = error;
|
||||
const componentStackFrames = typeof hydrationErrorState.componentStack === "string" ? parseComponentStack(hydrationErrorState.componentStack) : undefined;
|
||||
// Skip ModuleBuildError and ModuleNotFoundError, as it will be sent through onBuildError callback.
|
||||
// This is to avoid same error as different type showing up on client to cause flashing.
|
||||
if (e.name !== "ModuleBuildError" && e.name !== "ModuleNotFoundError") {
|
||||
Bus.emit({
|
||||
type: ACTION_UNHANDLED_ERROR,
|
||||
reason: error,
|
||||
frames: parseStack(e.stack),
|
||||
componentStackFrames
|
||||
});
|
||||
}
|
||||
}
|
||||
function onUnhandledRejection(ev) {
|
||||
const reason = ev == null ? void 0 : ev.reason;
|
||||
if (!reason || !(reason instanceof Error) || typeof reason.stack !== "string") {
|
||||
// A non-error was thrown, we don't have anything to show. :-(
|
||||
return;
|
||||
}
|
||||
const e = reason;
|
||||
Bus.emit({
|
||||
type: ACTION_UNHANDLED_REJECTION,
|
||||
reason: reason,
|
||||
frames: parseStack(e.stack)
|
||||
});
|
||||
}
|
||||
export function register() {
|
||||
if (isRegistered) {
|
||||
return;
|
||||
}
|
||||
isRegistered = true;
|
||||
try {
|
||||
const limit = Error.stackTraceLimit;
|
||||
Error.stackTraceLimit = 50;
|
||||
stackTraceLimit = limit;
|
||||
} catch (e) {}
|
||||
window.addEventListener("error", onUnhandledError);
|
||||
window.addEventListener("unhandledrejection", onUnhandledRejection);
|
||||
}
|
||||
export function unregister() {
|
||||
if (!isRegistered) {
|
||||
return;
|
||||
}
|
||||
isRegistered = false;
|
||||
if (stackTraceLimit !== undefined) {
|
||||
try {
|
||||
Error.stackTraceLimit = stackTraceLimit;
|
||||
} catch (e) {}
|
||||
stackTraceLimit = undefined;
|
||||
}
|
||||
window.removeEventListener("error", onUnhandledError);
|
||||
window.removeEventListener("unhandledrejection", onUnhandledRejection);
|
||||
}
|
||||
export function onBuildOk() {
|
||||
Bus.emit({
|
||||
type: ACTION_BUILD_OK
|
||||
});
|
||||
}
|
||||
export function onBuildError(message) {
|
||||
Bus.emit({
|
||||
type: ACTION_BUILD_ERROR,
|
||||
message
|
||||
});
|
||||
}
|
||||
export function onRefresh() {
|
||||
Bus.emit({
|
||||
type: ACTION_REFRESH
|
||||
});
|
||||
}
|
||||
export function onBeforeRefresh() {
|
||||
Bus.emit({
|
||||
type: ACTION_BEFORE_REFRESH
|
||||
});
|
||||
}
|
||||
export function onVersionInfo(versionInfo) {
|
||||
Bus.emit({
|
||||
type: ACTION_VERSION_INFO,
|
||||
versionInfo
|
||||
});
|
||||
}
|
||||
export { getErrorByType } from "../internal/helpers/getErrorByType";
|
||||
export { getServerError } from "../internal/helpers/nodeStackFrames";
|
||||
export { default as ReactDevOverlay } from "./ReactDevOverlay";
|
||||
|
||||
//# sourceMappingURL=client.js.map
|
||||
1
node_modules/next/dist/esm/client/components/react-dev-overlay/pages/client.js.map
generated
vendored
Normal file
1
node_modules/next/dist/esm/client/components/react-dev-overlay/pages/client.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../../../src/client/components/react-dev-overlay/pages/client.ts"],"names":["Bus","parseStack","parseComponentStack","hydrationErrorState","patchConsoleError","ACTION_BEFORE_REFRESH","ACTION_BUILD_ERROR","ACTION_BUILD_OK","ACTION_REFRESH","ACTION_UNHANDLED_ERROR","ACTION_UNHANDLED_REJECTION","ACTION_VERSION_INFO","isRegistered","stackTraceLimit","undefined","onUnhandledError","ev","error","Error","stack","message","match","warning","details","e","componentStackFrames","componentStack","name","emit","type","reason","frames","onUnhandledRejection","register","limit","window","addEventListener","unregister","removeEventListener","onBuildOk","onBuildError","onRefresh","onBeforeRefresh","onVersionInfo","versionInfo","getErrorByType","getServerError","default","ReactDevOverlay"],"mappings":"AAAA,YAAYA,SAAS,QAAO;AAC5B,SAASC,UAAU,QAAQ,iCAAgC;AAC3D,SAASC,mBAAmB,QAAQ,4CAA2C;AAC/E,SACEC,mBAAmB,EACnBC,iBAAiB,QACZ,2CAA0C;AACjD,SACEC,qBAAqB,EACrBC,kBAAkB,EAClBC,eAAe,EACfC,cAAc,EACdC,sBAAsB,EACtBC,0BAA0B,EAC1BC,mBAAmB,QACd,YAAW;AAGlB,oEAAoE;AACpEP;AAEA,IAAIQ,eAAe;AACnB,IAAIC,kBAAsCC;AAE1C,SAASC,iBAAiBC,EAAc;IACtC,MAAMC,QAAQD,sBAAAA,GAAIC,KAAK;IACvB,IAAI,CAACA,SAAS,CAAEA,CAAAA,iBAAiBC,KAAI,KAAM,OAAOD,MAAME,KAAK,KAAK,UAAU;QAC1E,8DAA8D;QAC9D;IACF;IAEA,IACEF,MAAMG,OAAO,CAACC,KAAK,CAAC,sDACpB;QACA,IAAIlB,oBAAoBmB,OAAO,EAAE;YAI7BL,MAAcM,OAAO,GAAG;gBACxB,GAAG,AAACN,MAAcM,OAAO;gBACzB,wEAAwE;gBACxE,GAAGpB,mBAAmB;YACxB;QACF;QACAc,MAAMG,OAAO,IAAK;IACpB;IAEA,MAAMI,IAAIP;IACV,MAAMQ,uBACJ,OAAOtB,oBAAoBuB,cAAc,KAAK,WAC1CxB,oBAAoBC,oBAAoBuB,cAAc,IACtDZ;IAEN,mGAAmG;IACnG,wFAAwF;IACxF,IAAIU,EAAEG,IAAI,KAAK,sBAAsBH,EAAEG,IAAI,KAAK,uBAAuB;QACrE3B,IAAI4B,IAAI,CAAC;YACPC,MAAMpB;YACNqB,QAAQb;YACRc,QAAQ9B,WAAWuB,EAAEL,KAAK;YAC1BM;QACF;IACF;AACF;AAEA,SAASO,qBAAqBhB,EAAyB;IACrD,MAAMc,SAASd,sBAAAA,GAAIc,MAAM;IACzB,IACE,CAACA,UACD,CAAEA,CAAAA,kBAAkBZ,KAAI,KACxB,OAAOY,OAAOX,KAAK,KAAK,UACxB;QACA,8DAA8D;QAC9D;IACF;IAEA,MAAMK,IAAIM;IACV9B,IAAI4B,IAAI,CAAC;QACPC,MAAMnB;QACNoB,QAAQA;QACRC,QAAQ9B,WAAWuB,EAAEL,KAAK;IAC5B;AACF;AAEA,OAAO,SAASc;IACd,IAAIrB,cAAc;QAChB;IACF;IACAA,eAAe;IAEf,IAAI;QACF,MAAMsB,QAAQhB,MAAML,eAAe;QACnCK,MAAML,eAAe,GAAG;QACxBA,kBAAkBqB;IACpB,EAAE,UAAM,CAAC;IAETC,OAAOC,gBAAgB,CAAC,SAASrB;IACjCoB,OAAOC,gBAAgB,CAAC,sBAAsBJ;AAChD;AAEA,OAAO,SAASK;IACd,IAAI,CAACzB,cAAc;QACjB;IACF;IACAA,eAAe;IAEf,IAAIC,oBAAoBC,WAAW;QACjC,IAAI;YACFI,MAAML,eAAe,GAAGA;QAC1B,EAAE,UAAM,CAAC;QACTA,kBAAkBC;IACpB;IAEAqB,OAAOG,mBAAmB,CAAC,SAASvB;IACpCoB,OAAOG,mBAAmB,CAAC,sBAAsBN;AACnD;AAEA,OAAO,SAASO;IACdvC,IAAI4B,IAAI,CAAC;QAAEC,MAAMtB;IAAgB;AACnC;AAEA,OAAO,SAASiC,aAAapB,OAAe;IAC1CpB,IAAI4B,IAAI,CAAC;QAAEC,MAAMvB;QAAoBc;IAAQ;AAC/C;AAEA,OAAO,SAASqB;IACdzC,IAAI4B,IAAI,CAAC;QAAEC,MAAMrB;IAAe;AAClC;AAEA,OAAO,SAASkC;IACd1C,IAAI4B,IAAI,CAAC;QAAEC,MAAMxB;IAAsB;AACzC;AAEA,OAAO,SAASsC,cAAcC,WAAwB;IACpD5C,IAAI4B,IAAI,CAAC;QAAEC,MAAMlB;QAAqBiC;IAAY;AACpD;AAEA,SAASC,cAAc,QAAQ,qCAAoC;AACnE,SAASC,cAAc,QAAQ,sCAAqC;AACpE,SAASC,WAAWC,eAAe,QAAQ,oBAAmB"}
|
||||
393
node_modules/next/dist/esm/client/components/react-dev-overlay/pages/hot-reloader-client.js
generated
vendored
Normal file
393
node_modules/next/dist/esm/client/components/react-dev-overlay/pages/hot-reloader-client.js
generated
vendored
Normal file
@ -0,0 +1,393 @@
|
||||
// TODO: Remove use of `any` type. Fix no-use-before-define violations.
|
||||
/* eslint-disable @typescript-eslint/no-use-before-define */ /**
|
||||
* MIT License
|
||||
*
|
||||
* Copyright (c) 2013-present, Facebook, Inc.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/ // This file is a modified version of the Create React App HMR dev client that
|
||||
// can be found here:
|
||||
// https://github.com/facebook/create-react-app/blob/v3.4.1/packages/react-dev-utils/webpackHotDevClient.js
|
||||
import { register, onBuildError, onBuildOk, onBeforeRefresh, onRefresh, onVersionInfo } from "./client";
|
||||
import stripAnsi from "next/dist/compiled/strip-ansi";
|
||||
import { addMessageListener, sendMessage } from "./websocket";
|
||||
import formatWebpackMessages from "../internal/helpers/format-webpack-messages";
|
||||
import { HMR_ACTIONS_SENT_TO_BROWSER } from "../../../../server/dev/hot-reloader-types";
|
||||
import { extractModulesFromTurbopackMessage } from "../../../../server/dev/extract-modules-from-turbopack-message";
|
||||
import { REACT_REFRESH_FULL_RELOAD_FROM_ERROR } from "../shared";
|
||||
import { RuntimeErrorHandler } from "../internal/helpers/runtime-error-handler";
|
||||
window.__nextDevClientId = Math.round(Math.random() * 100 + Date.now());
|
||||
let customHmrEventHandler;
|
||||
let turbopackMessageListeners = [];
|
||||
let MODE = "webpack";
|
||||
export default function connect(mode) {
|
||||
MODE = mode;
|
||||
register();
|
||||
addMessageListener((payload)=>{
|
||||
if (!("action" in payload)) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
processMessage(payload);
|
||||
} catch (err) {
|
||||
var _err_stack;
|
||||
console.warn("[HMR] Invalid message: " + payload + "\n" + ((_err_stack = err == null ? void 0 : err.stack) != null ? _err_stack : ""));
|
||||
}
|
||||
});
|
||||
return {
|
||||
subscribeToHmrEvent (handler) {
|
||||
customHmrEventHandler = handler;
|
||||
},
|
||||
onUnrecoverableError () {
|
||||
RuntimeErrorHandler.hadRuntimeError = true;
|
||||
},
|
||||
addTurbopackMessageListener (cb) {
|
||||
turbopackMessageListeners.push(cb);
|
||||
},
|
||||
sendTurbopackMessage (msg) {
|
||||
sendMessage(msg);
|
||||
},
|
||||
handleUpdateError (err) {
|
||||
performFullReload(err);
|
||||
}
|
||||
};
|
||||
}
|
||||
// Remember some state related to hot module replacement.
|
||||
var isFirstCompilation = true;
|
||||
var mostRecentCompilationHash = null;
|
||||
var hasCompileErrors = false;
|
||||
function clearOutdatedErrors() {
|
||||
// Clean up outdated compile errors, if any.
|
||||
if (typeof console !== "undefined" && typeof console.clear === "function") {
|
||||
if (hasCompileErrors) {
|
||||
console.clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
// Successful compilation.
|
||||
function handleSuccess() {
|
||||
clearOutdatedErrors();
|
||||
if (MODE === "webpack") {
|
||||
const isHotUpdate = !isFirstCompilation || window.__NEXT_DATA__.page !== "/_error" && isUpdateAvailable();
|
||||
isFirstCompilation = false;
|
||||
hasCompileErrors = false;
|
||||
// Attempt to apply hot updates or reload.
|
||||
if (isHotUpdate) {
|
||||
tryApplyUpdates(onBeforeFastRefresh, onFastRefresh);
|
||||
}
|
||||
} else {
|
||||
onBuildOk();
|
||||
}
|
||||
}
|
||||
// Compilation with warnings (e.g. ESLint).
|
||||
function handleWarnings(warnings) {
|
||||
clearOutdatedErrors();
|
||||
const isHotUpdate = !isFirstCompilation;
|
||||
isFirstCompilation = false;
|
||||
hasCompileErrors = false;
|
||||
function printWarnings() {
|
||||
// Print warnings to the console.
|
||||
const formatted = formatWebpackMessages({
|
||||
warnings: warnings,
|
||||
errors: []
|
||||
});
|
||||
if (typeof console !== "undefined" && typeof console.warn === "function") {
|
||||
var _formatted_warnings;
|
||||
for(let i = 0; i < ((_formatted_warnings = formatted.warnings) == null ? void 0 : _formatted_warnings.length); i++){
|
||||
if (i === 5) {
|
||||
console.warn("There were more warnings in other files.\n" + "You can find a complete log in the terminal.");
|
||||
break;
|
||||
}
|
||||
console.warn(stripAnsi(formatted.warnings[i]));
|
||||
}
|
||||
}
|
||||
}
|
||||
printWarnings();
|
||||
// Attempt to apply hot updates or reload.
|
||||
if (isHotUpdate) {
|
||||
tryApplyUpdates(onBeforeFastRefresh, onFastRefresh);
|
||||
}
|
||||
}
|
||||
// Compilation with errors (e.g. syntax error or missing modules).
|
||||
function handleErrors(errors) {
|
||||
clearOutdatedErrors();
|
||||
isFirstCompilation = false;
|
||||
hasCompileErrors = true;
|
||||
// "Massage" webpack messages.
|
||||
var formatted = formatWebpackMessages({
|
||||
errors: errors,
|
||||
warnings: []
|
||||
});
|
||||
// Only show the first error.
|
||||
onBuildError(formatted.errors[0]);
|
||||
// Also log them to the console.
|
||||
if (typeof console !== "undefined" && typeof console.error === "function") {
|
||||
for(var i = 0; i < formatted.errors.length; i++){
|
||||
console.error(stripAnsi(formatted.errors[i]));
|
||||
}
|
||||
}
|
||||
// Do not attempt to reload now.
|
||||
// We will reload on next success instead.
|
||||
if (process.env.__NEXT_TEST_MODE) {
|
||||
if (self.__NEXT_HMR_CB) {
|
||||
self.__NEXT_HMR_CB(formatted.errors[0]);
|
||||
self.__NEXT_HMR_CB = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
let startLatency = undefined;
|
||||
function onBeforeFastRefresh(updatedModules) {
|
||||
if (updatedModules.length > 0) {
|
||||
// Only trigger a pending state if we have updates to apply
|
||||
// (cf. onFastRefresh)
|
||||
onBeforeRefresh();
|
||||
}
|
||||
}
|
||||
function onFastRefresh(updatedModules) {
|
||||
if (updatedModules === void 0) updatedModules = [];
|
||||
onBuildOk();
|
||||
if (updatedModules.length === 0) {
|
||||
return;
|
||||
}
|
||||
onRefresh();
|
||||
reportHmrLatency();
|
||||
}
|
||||
function reportHmrLatency(updatedModules) {
|
||||
if (updatedModules === void 0) updatedModules = [];
|
||||
if (startLatency) {
|
||||
const endLatency = Date.now();
|
||||
const latency = endLatency - startLatency;
|
||||
console.log("[Fast Refresh] done in " + latency + "ms");
|
||||
sendMessage(JSON.stringify({
|
||||
event: "client-hmr-latency",
|
||||
id: window.__nextDevClientId,
|
||||
startTime: startLatency,
|
||||
endTime: endLatency,
|
||||
page: window.location.pathname,
|
||||
updatedModules,
|
||||
// Whether the page (tab) was hidden at the time the event occurred.
|
||||
// This can impact the accuracy of the event's timing.
|
||||
isPageHidden: document.visibilityState === "hidden"
|
||||
}));
|
||||
if (self.__NEXT_HMR_LATENCY_CB) {
|
||||
self.__NEXT_HMR_LATENCY_CB(latency);
|
||||
}
|
||||
}
|
||||
}
|
||||
// There is a newer version of the code available.
|
||||
function handleAvailableHash(hash) {
|
||||
// Update last known compilation hash.
|
||||
mostRecentCompilationHash = hash;
|
||||
}
|
||||
/** Handles messages from the sevrer for the Pages Router. */ function processMessage(obj) {
|
||||
if (!("action" in obj)) {
|
||||
return;
|
||||
}
|
||||
// Use turbopack message for analytics, (still need built for webpack)
|
||||
switch(obj.action){
|
||||
case HMR_ACTIONS_SENT_TO_BROWSER.BUILDING:
|
||||
{
|
||||
startLatency = Date.now();
|
||||
console.log("[Fast Refresh] rebuilding");
|
||||
break;
|
||||
}
|
||||
case HMR_ACTIONS_SENT_TO_BROWSER.BUILT:
|
||||
case HMR_ACTIONS_SENT_TO_BROWSER.SYNC:
|
||||
{
|
||||
if (obj.hash) handleAvailableHash(obj.hash);
|
||||
const { errors, warnings } = obj;
|
||||
// Is undefined when it's a 'built' event
|
||||
if ("versionInfo" in obj) onVersionInfo(obj.versionInfo);
|
||||
const hasErrors = Boolean(errors && errors.length);
|
||||
if (hasErrors) {
|
||||
sendMessage(JSON.stringify({
|
||||
event: "client-error",
|
||||
errorCount: errors.length,
|
||||
clientId: window.__nextDevClientId
|
||||
}));
|
||||
return handleErrors(errors);
|
||||
}
|
||||
const hasWarnings = Boolean(warnings && warnings.length);
|
||||
if (hasWarnings) {
|
||||
sendMessage(JSON.stringify({
|
||||
event: "client-warning",
|
||||
warningCount: warnings.length,
|
||||
clientId: window.__nextDevClientId
|
||||
}));
|
||||
return handleWarnings(warnings);
|
||||
}
|
||||
sendMessage(JSON.stringify({
|
||||
event: "client-success",
|
||||
clientId: window.__nextDevClientId
|
||||
}));
|
||||
return handleSuccess();
|
||||
}
|
||||
case HMR_ACTIONS_SENT_TO_BROWSER.SERVER_COMPONENT_CHANGES:
|
||||
{
|
||||
window.location.reload();
|
||||
return;
|
||||
}
|
||||
case HMR_ACTIONS_SENT_TO_BROWSER.SERVER_ERROR:
|
||||
{
|
||||
const { errorJSON } = obj;
|
||||
if (errorJSON) {
|
||||
const { message, stack } = JSON.parse(errorJSON);
|
||||
const error = new Error(message);
|
||||
error.stack = stack;
|
||||
handleErrors([
|
||||
error
|
||||
]);
|
||||
}
|
||||
return;
|
||||
}
|
||||
case HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_CONNECTED:
|
||||
{
|
||||
for (const listener of turbopackMessageListeners){
|
||||
listener({
|
||||
type: HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_CONNECTED
|
||||
});
|
||||
}
|
||||
break;
|
||||
}
|
||||
case HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_MESSAGE:
|
||||
{
|
||||
const updatedModules = extractModulesFromTurbopackMessage(obj.data);
|
||||
onBeforeFastRefresh(updatedModules);
|
||||
for (const listener of turbopackMessageListeners){
|
||||
listener({
|
||||
type: HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_MESSAGE,
|
||||
data: obj.data
|
||||
});
|
||||
}
|
||||
if (RuntimeErrorHandler.hadRuntimeError) {
|
||||
console.warn(REACT_REFRESH_FULL_RELOAD_FROM_ERROR);
|
||||
performFullReload(null);
|
||||
}
|
||||
onRefresh();
|
||||
reportHmrLatency(updatedModules);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
if (customHmrEventHandler) {
|
||||
customHmrEventHandler(obj);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
// Is there a newer version of this code available?
|
||||
function isUpdateAvailable() {
|
||||
/* globals __webpack_hash__ */ // __webpack_hash__ is the hash of the current compilation.
|
||||
// It's a global variable injected by Webpack.
|
||||
return mostRecentCompilationHash !== __webpack_hash__;
|
||||
}
|
||||
// Webpack disallows updates in other states.
|
||||
function canApplyUpdates() {
|
||||
// @ts-expect-error TODO: module.hot exists but type needs to be added. Can't use `as any` here as webpack parses for `module.hot` calls.
|
||||
return module.hot.status() === "idle";
|
||||
}
|
||||
function afterApplyUpdates(fn) {
|
||||
if (canApplyUpdates()) {
|
||||
fn();
|
||||
} else {
|
||||
function handler(status) {
|
||||
if (status === "idle") {
|
||||
// @ts-expect-error TODO: module.hot exists but type needs to be added. Can't use `as any` here as webpack parses for `module.hot` calls.
|
||||
module.hot.removeStatusHandler(handler);
|
||||
fn();
|
||||
}
|
||||
}
|
||||
// @ts-expect-error TODO: module.hot exists but type needs to be added. Can't use `as any` here as webpack parses for `module.hot` calls.
|
||||
module.hot.addStatusHandler(handler);
|
||||
}
|
||||
}
|
||||
// Attempt to update code on the fly, fall back to a hard reload.
|
||||
function tryApplyUpdates(onBeforeHotUpdate, onHotUpdateSuccess) {
|
||||
// @ts-expect-error TODO: module.hot exists but type needs to be added. Can't use `as any` here as webpack parses for `module.hot` calls.
|
||||
if (!module.hot) {
|
||||
// HotModuleReplacementPlugin is not in Webpack configuration.
|
||||
console.error("HotModuleReplacementPlugin is not in Webpack configuration.");
|
||||
// window.location.reload();
|
||||
return;
|
||||
}
|
||||
if (!isUpdateAvailable() || !canApplyUpdates()) {
|
||||
onBuildOk();
|
||||
return;
|
||||
}
|
||||
function handleApplyUpdates(err, updatedModules) {
|
||||
if (err || RuntimeErrorHandler.hadRuntimeError || !updatedModules) {
|
||||
if (err) {
|
||||
console.warn("[Fast Refresh] performing full reload\n\n" + "Fast Refresh will perform a full reload when you edit a file that's imported by modules outside of the React rendering tree.\n" + "You might have a file which exports a React component but also exports a value that is imported by a non-React component file.\n" + "Consider migrating the non-React component export to a separate file and importing it into both files.\n\n" + "It is also possible the parent component of the component you edited is a class component, which disables Fast Refresh.\n" + "Fast Refresh requires at least one parent function component in your React tree.");
|
||||
} else if (RuntimeErrorHandler.hadRuntimeError) {
|
||||
console.warn("[Fast Refresh] performing full reload because your application had an unrecoverable error");
|
||||
}
|
||||
performFullReload(err);
|
||||
return;
|
||||
}
|
||||
if (typeof onHotUpdateSuccess === "function") {
|
||||
// Maybe we want to do something.
|
||||
onHotUpdateSuccess(updatedModules);
|
||||
}
|
||||
if (isUpdateAvailable()) {
|
||||
// While we were updating, there was a new update! Do it again.
|
||||
// However, this time, don't trigger a pending refresh state.
|
||||
tryApplyUpdates(updatedModules.length > 0 ? undefined : onBeforeHotUpdate, updatedModules.length > 0 ? onBuildOk : onHotUpdateSuccess);
|
||||
} else {
|
||||
onBuildOk();
|
||||
if (process.env.__NEXT_TEST_MODE) {
|
||||
afterApplyUpdates(()=>{
|
||||
if (self.__NEXT_HMR_CB) {
|
||||
self.__NEXT_HMR_CB();
|
||||
self.__NEXT_HMR_CB = null;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
// https://webpack.js.org/api/hot-module-replacement/#check
|
||||
// @ts-expect-error TODO: module.hot exists but type needs to be added. Can't use `as any` here as webpack parses for `module.hot` calls.
|
||||
module.hot.check(/* autoApply */ false).then((updatedModules)=>{
|
||||
if (!updatedModules) {
|
||||
return null;
|
||||
}
|
||||
if (typeof onBeforeHotUpdate === "function") {
|
||||
onBeforeHotUpdate(updatedModules);
|
||||
}
|
||||
// @ts-expect-error TODO: module.hot exists but type needs to be added. Can't use `as any` here as webpack parses for `module.hot` calls.
|
||||
return module.hot.apply();
|
||||
}).then((updatedModules)=>{
|
||||
handleApplyUpdates(null, updatedModules);
|
||||
}, (err)=>{
|
||||
handleApplyUpdates(err, null);
|
||||
});
|
||||
}
|
||||
export function performFullReload(err) {
|
||||
const stackTrace = err && (err.stack && err.stack.split("\n").slice(0, 5).join("\n") || err.message || err + "");
|
||||
sendMessage(JSON.stringify({
|
||||
event: "client-full-reload",
|
||||
stackTrace,
|
||||
hadRuntimeError: !!RuntimeErrorHandler.hadRuntimeError,
|
||||
dependencyChain: err ? err.dependencyChain : undefined
|
||||
}));
|
||||
window.location.reload();
|
||||
}
|
||||
|
||||
//# sourceMappingURL=hot-reloader-client.js.map
|
||||
1
node_modules/next/dist/esm/client/components/react-dev-overlay/pages/hot-reloader-client.js.map
generated
vendored
Normal file
1
node_modules/next/dist/esm/client/components/react-dev-overlay/pages/hot-reloader-client.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
51
node_modules/next/dist/esm/client/components/react-dev-overlay/pages/websocket.js
generated
vendored
Normal file
51
node_modules/next/dist/esm/client/components/react-dev-overlay/pages/websocket.js
generated
vendored
Normal file
@ -0,0 +1,51 @@
|
||||
import { getSocketUrl } from "../internal/helpers/get-socket-url";
|
||||
let source;
|
||||
const eventCallbacks = [];
|
||||
export function addMessageListener(callback) {
|
||||
eventCallbacks.push(callback);
|
||||
}
|
||||
export function sendMessage(data) {
|
||||
if (!source || source.readyState !== source.OPEN) return;
|
||||
return source.send(data);
|
||||
}
|
||||
let reconnections = 0;
|
||||
export function connectHMR(options) {
|
||||
function init() {
|
||||
if (source) source.close();
|
||||
function handleOnline() {
|
||||
reconnections = 0;
|
||||
window.console.log("[HMR] connected");
|
||||
}
|
||||
function handleMessage(event) {
|
||||
// Coerce into HMR_ACTION_TYPES as that is the format.
|
||||
const msg = JSON.parse(event.data);
|
||||
for (const eventCallback of eventCallbacks){
|
||||
eventCallback(msg);
|
||||
}
|
||||
}
|
||||
let timer;
|
||||
function handleDisconnect() {
|
||||
source.onerror = null;
|
||||
source.onclose = null;
|
||||
source.close();
|
||||
reconnections++;
|
||||
// After 25 reconnects we'll want to reload the page as it indicates the dev server is no longer running.
|
||||
if (reconnections > 25) {
|
||||
window.location.reload();
|
||||
return;
|
||||
}
|
||||
clearTimeout(timer);
|
||||
// Try again after 5 seconds
|
||||
timer = setTimeout(init, reconnections > 5 ? 5000 : 1000);
|
||||
}
|
||||
const url = getSocketUrl(options.assetPrefix);
|
||||
source = new window.WebSocket("" + url + options.path);
|
||||
source.onopen = handleOnline;
|
||||
source.onerror = handleDisconnect;
|
||||
source.onclose = handleDisconnect;
|
||||
source.onmessage = handleMessage;
|
||||
}
|
||||
init();
|
||||
}
|
||||
|
||||
//# sourceMappingURL=websocket.js.map
|
||||
1
node_modules/next/dist/esm/client/components/react-dev-overlay/pages/websocket.js.map
generated
vendored
Normal file
1
node_modules/next/dist/esm/client/components/react-dev-overlay/pages/websocket.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../../../src/client/components/react-dev-overlay/pages/websocket.ts"],"names":["getSocketUrl","source","eventCallbacks","addMessageListener","callback","push","sendMessage","data","readyState","OPEN","send","reconnections","connectHMR","options","init","close","handleOnline","window","console","log","handleMessage","event","msg","JSON","parse","eventCallback","timer","handleDisconnect","onerror","onclose","location","reload","clearTimeout","setTimeout","url","assetPrefix","WebSocket","path","onopen","onmessage"],"mappings":"AACA,SAASA,YAAY,QAAQ,qCAAoC;AAEjE,IAAIC;AAIJ,MAAMC,iBAAwC,EAAE;AAEhD,OAAO,SAASC,mBAAmBC,QAAwB;IACzDF,eAAeG,IAAI,CAACD;AACtB;AAEA,OAAO,SAASE,YAAYC,IAAY;IACtC,IAAI,CAACN,UAAUA,OAAOO,UAAU,KAAKP,OAAOQ,IAAI,EAAE;IAClD,OAAOR,OAAOS,IAAI,CAACH;AACrB;AAEA,IAAII,gBAAgB;AAEpB,OAAO,SAASC,WAAWC,OAA8C;IACvE,SAASC;QACP,IAAIb,QAAQA,OAAOc,KAAK;QAExB,SAASC;YACPL,gBAAgB;YAChBM,OAAOC,OAAO,CAACC,GAAG,CAAC;QACrB;QAEA,SAASC,cAAcC,KAA2B;YAChD,sDAAsD;YACtD,MAAMC,MAAwBC,KAAKC,KAAK,CAACH,MAAMd,IAAI;YACnD,KAAK,MAAMkB,iBAAiBvB,eAAgB;gBAC1CuB,cAAcH;YAChB;QACF;QAEA,IAAII;QACJ,SAASC;YACP1B,OAAO2B,OAAO,GAAG;YACjB3B,OAAO4B,OAAO,GAAG;YACjB5B,OAAOc,KAAK;YACZJ;YACA,yGAAyG;YACzG,IAAIA,gBAAgB,IAAI;gBACtBM,OAAOa,QAAQ,CAACC,MAAM;gBACtB;YACF;YAEAC,aAAaN;YACb,4BAA4B;YAC5BA,QAAQO,WAAWnB,MAAMH,gBAAgB,IAAI,OAAO;QACtD;QAEA,MAAMuB,MAAMlC,aAAaa,QAAQsB,WAAW;QAE5ClC,SAAS,IAAIgB,OAAOmB,SAAS,CAAC,AAAC,KAAEF,MAAMrB,QAAQwB,IAAI;QACnDpC,OAAOqC,MAAM,GAAGtB;QAChBf,OAAO2B,OAAO,GAAGD;QACjB1B,OAAO4B,OAAO,GAAGF;QACjB1B,OAAOsC,SAAS,GAAGnB;IACrB;IAEAN;AACF"}
|
||||
Reference in New Issue
Block a user