import { parse } from "next/dist/compiled/stacktrace-parser"; export function getFilesystemFrame(frame) { const f = { ...frame }; if (typeof f.file === "string") { if (// Posix: f.file.startsWith("/") || // Win32: /^[a-z]:\\/i.test(f.file) || // Win32 UNC: f.file.startsWith("\\\\")) { f.file = "file://" + f.file; } } return f; } const symbolError = Symbol("NextjsError"); export function getErrorSource(error) { return error[symbolError] || null; } export function decorateServerError(error, type) { Object.defineProperty(error, symbolError, { writable: false, enumerable: false, configurable: false, value: type }); } export function getServerError(error, type) { let n; try { throw new Error(error.message); } catch (e) { n = e; } n.name = error.name; try { n.stack = n.toString() + "\n" + parse(error.stack).map(getFilesystemFrame).map((f)=>{ let str = " at " + f.methodName; if (f.file) { let loc = f.file; if (f.lineNumber) { loc += ":" + f.lineNumber; if (f.column) { loc += ":" + f.column; } } str += " (" + loc + ")"; } return str; }).join("\n"); } catch (e) { n.stack = error.stack; } decorateServerError(n, type); return n; } //# sourceMappingURL=nodeStackFrames.js.map