fumadocs-openapi
Version:
Generate MDX docs for your OpenAPI spec
30 lines (27 loc) • 1.11 kB
JavaScript
'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