diff --git a/package-lock.json b/package-lock.json index cc5b1fa..eebe05d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "remix-hook-form", - "version": "4.1.0", + "version": "4.2.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "remix-hook-form", - "version": "4.1.0", + "version": "4.2.0", "license": "MIT", "workspaces": [ "src/testing-app", @@ -42,7 +42,7 @@ "@remix-run/react": "^2.0.0", "react": "^18.2.0", "react-dom": "^18.2.0", - "react-hook-form": "^7.48.2" + "react-hook-form": "^7.51.0" } }, "node_modules/@aashutoshrathi/word-wrap": { diff --git a/package.json b/package.json index 4d5f748..42ffd48 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "remix-hook-form", - "version": "4.1.0", + "version": "4.2.0", "description": "Utility wrapper around react-hook-form for use with Remix.run", "type": "module", "main": "./dist/index.cjs", @@ -68,7 +68,7 @@ "@remix-run/react": "^2.0.0", "react": "^18.2.0", "react-dom": "^18.2.0", - "react-hook-form": "^7.48.2" + "react-hook-form": "^7.51.0" }, "readme": "https://github.com/Code-Forge-Net/remix-hook-form#readme", "devDependencies": { diff --git a/src/utilities/index.ts b/src/utilities/index.ts index 397bb98..90a4dd2 100644 --- a/src/utilities/index.ts +++ b/src/utilities/index.ts @@ -96,15 +96,17 @@ export const isGet = (request: Pick) => * @async * @param {Request} request - An object that represents an HTTP request. * @param validator - A function that resolves the schema. + * @param {boolean} [preserveStringified=false] - Whether to preserve stringified values or try to convert them * @returns A Promise that resolves to an object containing the validated data or any errors that occurred during validation. */ export const getValidatedFormData = async ( request: Request, resolver: Resolver, + preserveStringified = false, ) => { const data = isGet(request) - ? getFormDataFromSearchParams(request) - : await parseFormData(request); + ? getFormDataFromSearchParams(request, preserveStringified) + : await parseFormData(request, preserveStringified); const validatedOutput = await validateFormData(data, resolver); return { ...validatedOutput, receivedValues: data };