UNPKG

libmodulor

Version:

A TypeScript library to create platform-agnostic applications

21 lines (20 loc) 706 B
import { appendData } from './appendData.js'; export async function fromFormData(fd) { // biome-ignore lint/suspicious/noExplicitAny: can be anything const data = {}; for (const [k, v] of fd) { const isMultiple = k.endsWith('[]'); // e.g. 'tags[]': 'Electronic' const key = isMultiple ? k.replaceAll('[]', '') : k; const value = data[key]; if (value === undefined) { data[key] = isMultiple ? [v] : v; } else if (Array.isArray(value)) { value.push(v); } } return data; } export async function toFormData(data, fd, formDataBuilder) { await appendData(data, (k, v) => formDataBuilder.append(fd, k, v)); }