@scalar/api-client
Version:
the open source API testing client
31 lines (30 loc) • 1.06 kB
JavaScript
import { snippetz as p } from "@scalar/snippetz";
const l = "ws://replace.me", s = (i, t, r) => {
try {
if (!r.url)
return [new Error("Please enter a URL to see a code snippet"), null];
const e = r.url.startsWith("/") ? "" : "/";
try {
new URL(r.url);
} catch (n) {
console.error("[getSnippet] Invalid URL", n), r.url = `${l}${e}${r.url}`;
}
if (r.postData?.mimeType === "application/json")
try {
JSON.parse(r.postData.text || "{}");
} catch (n) {
return console.error("[getSnippet] Invalid JSON body", n), [new Error("Invalid JSON body"), null];
}
const o = i.replace("javascript", "js");
if (p().hasPlugin(o, t)) {
const n = p().print(o, t, r);
return n ? [null, n.replace(`${l}${e}`, "")] : [new Error("Error generating snippet"), null];
}
} catch (e) {
return console.error("[getSnippet] Error generating snippet", e), [new Error("Error generating snippet"), null];
}
return [new Error("No snippet found"), null];
};
export {
s as getSnippet
};