fumadocs-openapi
Version:
Generate MDX docs for your OpenAPI spec
32 lines (30 loc) • 1.24 kB
JavaScript
import js2xml from "xml-js/lib/js2xml";
//#region src/requests/string-utils.ts
/**
* Convert input value to hardcoded string (with quotes)
*/
function inputToString(value, format = "application/json") {
if (typeof value === "string") return value;
if (format === "application/json") return JSON.stringify(value, null, 2);
if (format === "application/x-ndjson") return Array.isArray(value) ? value.map((v) => JSON.stringify(v)).join("\n") : JSON.stringify(value, null, 2);
if (format === "application/x-www-form-urlencoded") {
const params = new URLSearchParams();
if (typeof value !== "object") throw new Error(`For url encoded data, \`value\` must be an object, but received: ${typeof value}`);
for (const key in value) if (value[key]) params.set(key, String(value[key]));
return params.toString();
}
return js2xml(value, {
compact: true,
spaces: 2
});
}
function escapeString(str, delimit) {
if (!delimit) return JSON.stringify(str);
return `${delimit}${str.replaceAll(delimit, `\\${delimit}`)}${delimit}`;
}
function ident(code, tab = 1) {
return code.split("\n").map((v) => " ".repeat(tab) + v).join("\n");
}
//#endregion
export { escapeString, ident, inputToString };
//# sourceMappingURL=string-utils.js.map