@scalar/api-client
Version:
the open source API testing client
27 lines (26 loc) • 1.15 kB
JavaScript
import { replaceTemplateVariables as e } from "../string-template.js";
import { canMethodHaveBody as c } from "@scalar/oas-utils/helpers";
function v(f, o, t) {
var r, i, n;
if (!c(f))
return { body: void 0, contentType: void 0 };
if (o.body.activeBody === "formData" && o.body.formData) {
const y = 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, e(a.value, t)));
}), { body: d, contentType: y };
}
return o.body.activeBody === "raw" ? {
body: e(((r = o.body.raw) == null ? void 0 : r.value) ?? "", t),
contentType: (i = o.body.raw) == null ? void 0 : i.encoding
} : o.body.activeBody === "binary" ? {
body: o.body.binary,
contentType: (n = o.body.binary) == null ? void 0 : n.type
} : {
body: void 0,
contentType: void 0
};
}
export {
v as createFetchBody
};