@formdata-helper/base
TypeScript icon, indicating that this package has built-in type declarations

1.1.0 • Public • Published

@formdata-helper/base

Easy functions for converting formdata instances to an object.

Why would I use this instead of passing my FormData instance to Object.fromEntries?

There are two big things that Object.fromEntries does not handle. The biggest issue is forms with multiple values under the same key. Creating an object with Object.fromEntries will only grab the last value assigned to this key, even though FormData is storing multiple values for this key. Second, @formdata-helper/base allows for easily assigning a type to the parsed object.

Usage

Use your package manager to install either @formdata-helper/base. The base library can be used in browser environments and is what powers all other libraries.

import { parseForm } from "@formdata-helper/base"

const formdataInstance = new FormData();
formdataInstance.append('single', 'foo');
formdataInstance.append('multiple', 'bar');
formdataInstance.append('multiple', 'baz');
const asObject = parseForm(formdataInstance);
console.log(asObject);
// Output: { single: 'foo', multiple: ['bar', 'baz'] }

Typescript

@formdata-helper fully supports typescript. All functions are shipped with type definitions. You can also define the type of form you are parsing.

import { parseForm } from "@formdata-helper/base"

type Form = {
  single: string;
  multiple: string[];
}

const formdataInstance = new FormData();
formdataInstance.append('single', 'foo');
formdataInstance.append('multiple', 'bar');
formdataInstance.append('multiple', 'baz');
const asObject = parseForm<Form>(formdataInstance);

It may be helpful to use typescript helpers alter the properties to nullable until you validate the fields were filled out correctly.

Readme

Keywords

Package Sidebar

Install

npm i @formdata-helper/base

Weekly Downloads

82

Version

1.1.0

License

MIT

Unpacked Size

6.74 kB

Total Files

12

Last publish

Collaborators

  • josiahsayers