UNPKG

@scalar/api-client

Version:

the open source API testing client

26 lines (25 loc) 1.05 kB
import { replaceTemplateVariables as r } from "../string-template.js"; import { canMethodHaveBody as e } from "@scalar/oas-utils/helpers"; function c(i, o, t) { if (!e(i)) return { body: void 0, contentType: void 0 }; if (o.body.activeBody === "formData" && o.body.formData) { const n = o.body.formData.encoding === "form-data" ? "multipart/form-data" : "application/x-www-form-urlencoded", d = o.body.formData.encoding === "form-data" ? new FormData() : new URLSearchParams(); return o.body.formData.value.forEach((a) => { !a.enabled || !a.key || (a.file && d instanceof FormData ? d.append(a.key, a.file, a.file.name) : a.value !== void 0 && d.append(a.key, r(a.value, t))); }), { body: d, contentType: n }; } return o.body.activeBody === "raw" ? { body: r(o.body.raw?.value ?? "", t), contentType: o.body.raw?.encoding } : o.body.activeBody === "binary" ? { body: o.body.binary, contentType: o.body.binary?.type } : { body: void 0, contentType: void 0 }; } export { c as createFetchBody };