Shared utilities for form handling: path parsing, error conversion, and array diffing
npm install @typed-web/form-utilsUtilities for form handling: path conversion, object flattening, and array diffing.
``bash`
npm install @typed-web/form-utils
- Convert flat objects to nested structures
- nestedObjectToFlatObject - Convert nested objects to flat structures$3
- setValueAtPath - Set value at path in object
- stringPathToArrayPath - Convert string path to array
- arrayPathToStringPath - Convert array path to string$3
- getArraysDiff - Compute differences between arrays$3
- FlatObject, NestedObject, GetArraysDiffArgsUsage
`typescript
import {
flatObjectToNestedObject,
stringPathToArrayPath,
setValueAtPath,
} from "@typed-web/form-utils";// Convert flat to nested
const nested = flatObjectToNestedObject({
"user.name": "John",
"addresses[0].city": "NYC",
});
// { user: { name: "John" }, addresses: [{ city: "NYC" }] }
// Parse path
const path = stringPathToArrayPath("user.addresses[0].city");
// ["user", "addresses", 0, "city"]
// Set value at path
const obj = {};
setValueAtPath(obj, ["user", "name"], "John");
// { user: { name: "John" } }
``MIT