import { n as BaseComponent, t as publicDirURL } from "../../../public_dir-C5bujZKB.js";
import { n as htmlEscape, t as colors } from "../../../helpers-B9BQYaS6.js";
import { dump, themes } from "@poppinss/dumper/html";
import { dump as dump$1 } from "@poppinss/dumper/console";
const CHEVIRON = ``;
const EDITORS = {
textmate: "txmt://open?url=file://%f&line=%l",
macvim: "mvim://open?url=file://%f&line=%l",
emacs: "emacs://open?url=file://%f&line=%l",
sublime: "subl://open?url=file://%f&line=%l",
phpstorm: "phpstorm://open?file=%f&line=%l",
atom: "atom://core/open/file?filename=%f&line=%l",
vscode: "vscode://file/%f:%l"
};
var ErrorStack = class extends BaseComponent {
cssFile = new URL("./error_stack/style.css", publicDirURL);
scriptFile = new URL("./error_stack/script.js", publicDirURL);
#getRelativeFileName(filePath) {
return filePath.replace(`${process.cwd()}/`, "");
}
#getFirstExpandedFrameIndex(frames) {
let expandAtIndex = frames.findIndex((frame) => frame.type === "app");
if (expandAtIndex === -1) expandAtIndex = frames.findIndex((frame) => frame.type === "module");
return expandAtIndex;
}
#getEditorLink(ide, frame) {
const editorURL = EDITORS[ide] || ide;
if (!editorURL || frame.type === "native") return { text: this.#getRelativeFileName(frame.fileName) };
return {
href: editorURL.replace("%f", frame.fileName).replace("%l", String(frame.lineNumber)),
text: this.#getRelativeFileName(frame.fileName)
};
}
#renderFrameLocation(frame, ide) {
const { text, href } = this.#getEditorLink(ide, frame);
const fileName = `
${htmlEscape(text)}
`;
const functionName = frame.functionName ? `in
${htmlEscape(frame.functionName)}
` : "";
const loc = `at line ${frame.lineNumber}:${frame.columnNumber}`;
if (frame.type !== "native" && frame.source) return ``;
return `