@scalar/api-client
Version:
the open source API testing client
26 lines (25 loc) • 1.05 kB
JavaScript
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
};