@harboor/auth-sdk-js
Version:
26 lines (21 loc) • 595 B
text/typescript
export interface Util {
formDataToJson: <T extends object>(formData: FormData) => T;
}
export const util: Util = {
formDataToJson,
};
function formDataToJson<T extends object>(formData: FormData) {
const json: Record<string, unknown> = {};
for (const pair of formData.entries()) {
const k = pair[0] as string;
if (k in json) {
if (!Array.isArray(json[k])) {
json[k] = [json[k]];
}
(json[k] as unknown[]).push(pair[1]);
} else {
json[k] = pair[1];
}
}
return json as T;
}