UNPKG

@scalar/api-client

Version:

the open source API testing client

31 lines (30 loc) 1.06 kB
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 };