GitFOSS
.ts
TypeScript
(application/typescript)
/**
 * Gets the entries from a form element as a record.
 *
 * @param form - The form element to get entries from.
 * @returns The form entries as a record.
 */
export default function getFormEntries<
  R extends Record<string, unknown> = Record<string, unknown>,
>(form: HTMLFormElement): R {
  return Object.values(form).reduce((obj, field) => {
    obj[field.name] = field.value;
    return obj;
  }, {} as R);
}