UNPKG

fumadocs-openapi

Version:

Generate MDX docs for your OpenAPI spec

30 lines (27 loc) 1.11 kB
'use client'; import { escapeString, ident, inputToString } from "../string-utils.js"; //#region src/requests/generators/curl.ts const generator = (url, data) => { const s = []; s.push(`curl -X ${data.method} "${url}"`); for (const header in data.header) { const value = `${header}: ${data.header[header].value}`; s.push(`-H "${value}"`); } for (const k in data.cookie) { const param = data.cookie[k]; s.push(`--cookie ${JSON.stringify(`${k}=${param.value}`)}`); } if (data.body && data.bodyMediaType === "multipart/form-data") { if (typeof data.body !== "object") throw new Error("[CURL] request body must be an object."); for (const [key, value] of Object.entries(data.body)) s.push(`-F ${key}=${JSON.stringify(inputToString(value))}`); } else if (data.body && data.bodyMediaType) { const escaped = escapeString(inputToString(data.body, data.bodyMediaType), "'"); s.push(`-H "Content-Type: ${data.bodyMediaType}"`); s.push(`-d ${escaped}`); } return s.flatMap((v, i) => ident(v, i > 0 ? 1 : 0)).join(" \\\n"); }; //#endregion export { generator }; //# sourceMappingURL=curl.js.map