Socket
Socket
Sign inDemoInstall

@hookform/resolvers

Package Overview
Dependencies
Maintainers
3
Versions
118
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@hookform/resolvers - npm Package Compare versions

Comparing version 2.0.0-beta.6 to 2.0.0-beta.7

2

joi/dist/joi.js

@@ -1,2 +0,2 @@

var r=require("react-hook-form"),e=require("@hookform/resolvers");function t(){return(t=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}var n=function(n,o){return Array.isArray(n.details)?n.details.reduce(function(n,a){var i,s,u,c=a.path,v=a.message,f=void 0===v?"":v,l=a.type,h=e.convertArrayToPathName(c);return t({},n,c?n[h]&&o?((i={})[h]=r.appendErrors(h,o,n,l,f),i):((u={})[h]=n[h]||t({message:f,type:l},o?{types:(s={},s[l]=f||!0,s)}:{}),u):{})},{}):[]};exports.joiResolver=function(e,t,o){void 0===t&&(t={abortEarly:!1});var a=(void 0===o?{mode:"async"}:o).mode;return function(o,i,s){void 0===s&&(s=!1);try{return Promise.resolve(function(r,n){try{var i=function(){function r(r){return{values:n,errors:{}}}var n,i=function(){if("async"===a)return Promise.resolve(e.validateAsync(o,t)).then(function(r){n=r});var r=e.validate(o,t),i=r.error;if(i)throw i;n=r.value}();return i&&i.then?i.then(r):r()}()}catch(r){return n(r)}return i&&i.then?i.then(void 0,n):i}(0,function(e){return{values:{},errors:r.transformToNestObject(n(e,s))}}))}catch(r){return Promise.reject(r)}}};
var r=require("react-hook-form"),e=require("@hookform/resolvers");function t(){return(t=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}exports.joiResolver=function(n,o,a){void 0===o&&(o={abortEarly:!1});var i=(void 0===a?{mode:"async"}:a).mode;return function(a,s,u){var c=u.criteriaMode;try{return Promise.resolve(function(r,e){try{var t=function(){function r(r){return{values:e,errors:{}}}var e,t=function(){if("async"===i)return Promise.resolve(n.validateAsync(a,o)).then(function(r){e=r});var r=n.validate(a,o),t=r.error;if(t)throw t;e=r.value}();return t&&t.then?t.then(r):r()}()}catch(r){return e(r)}return t&&t.then?t.then(void 0,e):t}(0,function(n){return{values:{},errors:r.transformToNestObject((o=n,a="all"===c,Array.isArray(o.details)?o.details.reduce(function(n,o){var i,s,u,c=o.path,v=o.message,f=void 0===v?"":v,l=o.type,h=e.convertArrayToPathName(c);return t({},n,c?n[h]&&a?((i={})[h]=r.appendErrors(h,a,n,l,f),i):((u={})[h]=n[h]||t({message:f,type:l},a?{types:(s={},s[l]=f||!0,s)}:{}),u):{})},{}):[]))};var o,a}))}catch(r){return Promise.reject(r)}}};
//# sourceMappingURL=joi.js.map

@@ -1,2 +0,2 @@

import{transformToNestObject as r,appendErrors as e}from"react-hook-form";import{convertArrayToPathName as t}from"@hookform/resolvers";function a(){return(a=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(r[a]=t[a])}return r}).apply(this,arguments)}const o=(r,o)=>Array.isArray(r.details)?r.details.reduce((r,{path:s,message:n="",type:c})=>{const i=t(s);return a({},r,s?r[i]&&o?{[i]:e(i,o,r,c,n)}:{[i]:r[i]||a({message:n,type:c},o?{types:{[c]:n||!0}}:{})}:{})},{}):[],s=(e,t={abortEarly:!1},{mode:a}={mode:"async"})=>async(s,n,c=!1)=>{try{let r;if("async"===a)r=await e.validateAsync(s,t);else{const{value:a,error:o}=e.validate(s,t);if(o)throw o;r=a}return{values:r,errors:{}}}catch(e){return{values:{},errors:r(o(e,c))}}};export{s as joiResolver};
import{transformToNestObject as r,appendErrors as e}from"react-hook-form";import{convertArrayToPathName as t}from"@hookform/resolvers";function a(){return(a=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(r[a]=t[a])}return r}).apply(this,arguments)}const o=(o,s={abortEarly:!1},{mode:n}={mode:"async"})=>async(c,i,{criteriaMode:l})=>{try{let r;if("async"===n)r=await o.validateAsync(c,s);else{const{value:e,error:t}=o.validate(c,s);if(t)throw t;r=e}return{values:r,errors:{}}}catch(o){return{values:{},errors:r((y=o,p="all"===l,Array.isArray(y.details)?y.details.reduce((r,{path:o,message:s="",type:n})=>{const c=t(o);return a({},r,o?r[c]&&p?{[c]:e(c,p,r,n,s)}:{[c]:r[c]||a({message:s,type:n},p?{types:{[n]:s||!0}}:{})}:{})},{}):[]))}}var y,p};export{o as joiResolver};
//# sourceMappingURL=joi.modern.js.map

@@ -1,2 +0,2 @@

import{transformToNestObject as r,appendErrors as e}from"react-hook-form";import{convertArrayToPathName as t}from"@hookform/resolvers";function n(){return(n=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}var o=function(r,o){return Array.isArray(r.details)?r.details.reduce(function(r,a){var i,u,s,c=a.path,v=a.message,f=void 0===v?"":v,l=a.type,h=t(c);return n({},r,c?r[h]&&o?((i={})[h]=e(h,o,r,l,f),i):((s={})[h]=r[h]||n({message:f,type:l},o?{types:(u={},u[l]=f||!0,u)}:{}),s):{})},{}):[]},a=function(e,t,n){void 0===t&&(t={abortEarly:!1});var a=(void 0===n?{mode:"async"}:n).mode;return function(n,i,u){void 0===u&&(u=!1);try{return Promise.resolve(function(r,o){try{var i=function(){function r(r){return{values:o,errors:{}}}var o,i=function(){if("async"===a)return Promise.resolve(e.validateAsync(n,t)).then(function(r){o=r});var r=e.validate(n,t),i=r.error;if(i)throw i;o=r.value}();return i&&i.then?i.then(r):r()}()}catch(r){return o(r)}return i&&i.then?i.then(void 0,o):i}(0,function(e){return{values:{},errors:r(o(e,u))}}))}catch(r){return Promise.reject(r)}}};export{a as joiResolver};
import{transformToNestObject as r,appendErrors as e}from"react-hook-form";import{convertArrayToPathName as t}from"@hookform/resolvers";function n(){return(n=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}var o=function(o,a,i){void 0===a&&(a={abortEarly:!1});var u=(void 0===i?{mode:"async"}:i).mode;return function(i,s,c){var v=c.criteriaMode;try{return Promise.resolve(function(r,e){try{var t=function(){function r(r){return{values:e,errors:{}}}var e,t=function(){if("async"===u)return Promise.resolve(o.validateAsync(i,a)).then(function(r){e=r});var r=o.validate(i,a),t=r.error;if(t)throw t;e=r.value}();return t&&t.then?t.then(r):r()}()}catch(r){return e(r)}return t&&t.then?t.then(void 0,e):t}(0,function(o){return{values:{},errors:r((a=o,i="all"===v,Array.isArray(a.details)?a.details.reduce(function(r,o){var a,u,s,c=o.path,v=o.message,f=void 0===v?"":v,l=o.type,h=t(c);return n({},r,c?r[h]&&i?((a={})[h]=e(h,i,r,l,f),a):((s={})[h]=r[h]||n({message:f,type:l},i?{types:(u={},u[l]=f||!0,u)}:{}),s):{})},{}):[]))};var a,i}))}catch(r){return Promise.reject(r)}}};export{o as joiResolver};
//# sourceMappingURL=joi.module.js.map

@@ -1,2 +0,2 @@

!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("react-hook-form"),require("@hookform/resolvers")):"function"==typeof define&&define.amd?define(["exports","react-hook-form","@hookform/resolvers"],e):e((r||self).hookformResolversJoi={},r.reactHookForm,r.hookformResolvers)}(this,function(r,e,o){function t(){return(t=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var o=arguments[e];for(var t in o)Object.prototype.hasOwnProperty.call(o,t)&&(r[t]=o[t])}return r}).apply(this,arguments)}var n=function(r,n){return Array.isArray(r.details)?r.details.reduce(function(r,i){var a,s,u,f=i.path,c=i.message,v=void 0===c?"":c,l=i.type,d=o.convertArrayToPathName(f);return t({},r,f?r[d]&&n?((a={})[d]=e.appendErrors(d,n,r,l,v),a):((u={})[d]=r[d]||t({message:v,type:l},n?{types:(s={},s[l]=v||!0,s)}:{}),u):{})},{}):[]};r.joiResolver=function(r,o,t){void 0===o&&(o={abortEarly:!1});var i=(void 0===t?{mode:"async"}:t).mode;return function(t,a,s){void 0===s&&(s=!1);try{return Promise.resolve(function(e,n){try{var a=function(){function e(r){return{values:n,errors:{}}}var n,a=function(){if("async"===i)return Promise.resolve(r.validateAsync(t,o)).then(function(r){n=r});var e=r.validate(t,o),a=e.error;if(a)throw a;n=e.value}();return a&&a.then?a.then(e):e()}()}catch(r){return n(r)}return a&&a.then?a.then(void 0,n):a}(0,function(r){return{values:{},errors:e.transformToNestObject(n(r,s))}}))}catch(r){return Promise.reject(r)}}}});
!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("react-hook-form"),require("@hookform/resolvers")):"function"==typeof define&&define.amd?define(["exports","react-hook-form","@hookform/resolvers"],e):e((r||self).hookformResolversJoi={},r.reactHookForm,r.hookformResolvers)}(this,function(r,e,o){function t(){return(t=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var o=arguments[e];for(var t in o)Object.prototype.hasOwnProperty.call(o,t)&&(r[t]=o[t])}return r}).apply(this,arguments)}r.joiResolver=function(r,n,a){void 0===n&&(n={abortEarly:!1});var i=(void 0===a?{mode:"async"}:a).mode;return function(a,s,f){var u=f.criteriaMode;try{return Promise.resolve(function(e,o){try{var t=function(){function e(r){return{values:o,errors:{}}}var o,t=function(){if("async"===i)return Promise.resolve(r.validateAsync(a,n)).then(function(r){o=r});var e=r.validate(a,n),t=e.error;if(t)throw t;o=e.value}();return t&&t.then?t.then(e):e()}()}catch(r){return o(r)}return t&&t.then?t.then(void 0,o):t}(0,function(r){return{values:{},errors:e.transformToNestObject((n=r,a="all"===u,Array.isArray(n.details)?n.details.reduce(function(r,n){var i,s,f,u=n.path,c=n.message,l=void 0===c?"":c,v=n.type,d=o.convertArrayToPathName(u);return t({},r,u?r[d]&&a?((i={})[d]=e.appendErrors(d,a,r,v,l),i):((f={})[d]=r[d]||t({message:l,type:v},a?{types:(s={},s[v]=l||!0,s)}:{}),f):{})},{}):[]))};var n,a}))}catch(r){return Promise.reject(r)}}}});
//# sourceMappingURL=joi.umd.js.map

@@ -1,5 +0,5 @@

import { FieldValues, ResolverResult, UnpackNestedValue } from 'react-hook-form';
import { FieldValues, ResolverOptions, ResolverResult, UnpackNestedValue } from 'react-hook-form';
import type { AsyncValidationOptions, Schema } from 'joi';
export declare type Resolver = <T extends Schema>(schema: T, schemaOptions?: AsyncValidationOptions, resolverOptions?: {
export declare type Resolver = <T extends Schema>(schema: T, schemaOptions?: AsyncValidationOptions, factoryOptions?: {
mode: 'async' | 'sync';
}) => <TFieldValues extends FieldValues, TContext>(values: UnpackNestedValue<TFieldValues>, context?: TContext, validateAllFieldCriteria?: boolean) => Promise<ResolverResult<TFieldValues>>;
}) => <TFieldValues extends FieldValues, TContext>(values: UnpackNestedValue<TFieldValues>, context: TContext | undefined, options: ResolverOptions<TFieldValues>) => Promise<ResolverResult<TFieldValues>>;

@@ -44,3 +44,3 @@ import * as Joi from 'joi';

const result = await joiResolver(schema)(data);
const result = await joiResolver(schema)(data, undefined, { fields: {} });

@@ -66,3 +66,7 @@ expect(validateSpy).not.toHaveBeenCalled();

const result = await joiResolver(schema, undefined, { mode: 'sync' })(data);
const result = await joiResolver(schema, undefined, { mode: 'sync' })(
data,
undefined,
{ fields: {} },
);

@@ -81,3 +85,3 @@ expect(validateAsyncSpy).not.toHaveBeenCalled();

const result = await joiResolver(schema)(data);
const result = await joiResolver(schema)(data, undefined, { fields: {} });

@@ -97,3 +101,7 @@ expect(result).toMatchSnapshot();

const result = await joiResolver(schema, undefined, { mode: 'sync' })(data);
const result = await joiResolver(schema, undefined, { mode: 'sync' })(
data,
undefined,
{ fields: {} },
);

@@ -112,3 +120,6 @@ expect(validateAsyncSpy).not.toHaveBeenCalled();

const result = await joiResolver(schema)(data, undefined, true);
const result = await joiResolver(schema)(data, undefined, {
fields: {},
criteriaMode: 'all',
});

@@ -128,3 +139,6 @@ expect(result).toMatchSnapshot();

undefined,
true,
{
fields: {},
criteriaMode: 'all',
},
);

@@ -131,0 +145,0 @@

@@ -53,3 +53,3 @@ import { appendErrors, transformToNestObject } from 'react-hook-form';

{ mode } = { mode: 'async' },
) => async (values, _, validateAllFieldCriteria = false) => {
) => async (values, _, { criteriaMode }) => {
try {

@@ -77,3 +77,3 @@ let result;

errors: transformToNestObject(
parseErrorSchema(e, validateAllFieldCriteria),
parseErrorSchema(e, criteriaMode === 'all'),
),

@@ -80,0 +80,0 @@ };

import {
FieldValues,
ResolverOptions,
ResolverResult,

@@ -11,7 +12,7 @@ UnpackNestedValue,

schemaOptions?: AsyncValidationOptions,
resolverOptions?: { mode: 'async' | 'sync' },
factoryOptions?: { mode: 'async' | 'sync' },
) => <TFieldValues extends FieldValues, TContext>(
values: UnpackNestedValue<TFieldValues>,
context?: TContext,
validateAllFieldCriteria?: boolean,
context: TContext | undefined,
options: ResolverOptions<TFieldValues>,
) => Promise<ResolverResult<TFieldValues>>;
{
"name": "@hookform/resolvers",
"amdName": "hookformResolvers",
"version": "2.0.0-beta.6",
"version": "2.0.0-beta.7",
"description": "React Hook Form validation resolvers: Yup, Joi, Superstruct, Zod, Vest and etc.",

@@ -132,3 +132,3 @@ "main": "dist/resolvers.js",

"react-dom": "^17.0.1",
"react-hook-form": "^6.14.2",
"react-hook-form": "^7.0.0-alpha.0",
"semantic-release": "^17.3.6",

@@ -143,3 +143,3 @@ "superstruct": "^0.13.3",

"peerDependencies": {
"react-hook-form": ">=6.6.0"
"react-hook-form": "^7.0.0"
},

@@ -146,0 +146,0 @@ "husky": {

@@ -1,2 +0,2 @@

var r=require("react-hook-form"),e=require("@hookform/resolvers");function t(){return(t=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(r[o]=t[o])}return r}).apply(this,arguments)}class o extends TypeError{constructor(r,e){let t;const{message:o,...n}=r,{path:s}=r;super(0===s.length?o:"At path: "+s.join(".")+" -- "+o),Object.assign(this,n),this.name=this.constructor.name,this.failures=()=>{var o;return null!=(o=t)?o:t=[r,...e()]}}}function*n(r,e,t={}){const{path:o=[],branch:s=[r],coerce:c=!1}=t,i={path:o,branch:s};c&&(r=e.coercer(r,i));let a=!0;for(const t of e.validator(r,i))a=!1,yield[t,void 0];for(let[t,f,l]of e.entries(r,i)){const e=n(f,l,{path:void 0===t?o:[...o,t],branch:void 0===t?s:[...s,f],coerce:c});for(const o of e)o[0]?(a=!1,yield[o[0],void 0]):c&&(f=o[1],void 0===t?r=f:r instanceof Map?r.set(t,f):r instanceof Set?r.add(f):"object"==typeof(u=r)&&null!=u&&(r[t]=f))}var u;if(a)for(const t of e.refiner(r,i))a=!1,yield[t,void 0];a&&(yield[void 0,r])}function s(r,e,t={}){const s=n(r,e,t),c=function(r){const{done:e,value:t}=r.next();return e?void 0:t}(s);return c[0]?[new o(c[0],function*(){for(const r of s)r[0]&&(yield r[0])}),void 0]:[void 0,c[1]]}var c=function(o,n){return o.failures().reduce(function(o,s){var c,i,a,u=s.path,f=s.message,l=void 0===f?"":f,v=s.type,d=e.convertArrayToPathName(u);return t({},o,u?o[d]&&n?((c={})[d]=r.appendErrors(d,n,o,v||"",l),c):((a={})[d]=o[d]||t({message:l,type:v},n?{types:(i={},i[v||""]=l||!0,i)}:{}),a):{})},{})};exports.superstructResolver=function(e,t){return function(o,n,i){void 0===i&&(i=!1);try{var a=s(o,e,t),u=a[0],f=a[1];return Promise.resolve(null!=u?{values:{},errors:r.transformToNestObject(c(u,i))}:{values:f,errors:{}})}catch(r){return Promise.reject(r)}}};
var r=require("react-hook-form"),e=require("@hookform/resolvers");function t(){return(t=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(r[o]=t[o])}return r}).apply(this,arguments)}class o extends TypeError{constructor(r,e){let t;const{message:o,...n}=r,{path:s}=r;super(0===s.length?o:"At path: "+s.join(".")+" -- "+o),Object.assign(this,n),this.name=this.constructor.name,this.failures=()=>{var o;return null!=(o=t)?o:t=[r,...e()]}}}function*n(r,e,t={}){const{path:o=[],branch:s=[r],coerce:a=!1}=t,c={path:o,branch:s};a&&(r=e.coercer(r,c));let i=!0;for(const t of e.validator(r,c))i=!1,yield[t,void 0];for(let[t,f,l]of e.entries(r,c)){const e=n(f,l,{path:void 0===t?o:[...o,t],branch:void 0===t?s:[...s,f],coerce:a});for(const o of e)o[0]?(i=!1,yield[o[0],void 0]):a&&(f=o[1],void 0===t?r=f:r instanceof Map?r.set(t,f):r instanceof Set?r.add(f):"object"==typeof(u=r)&&null!=u&&(r[t]=f))}var u;if(i)for(const t of e.refiner(r,c))i=!1,yield[t,void 0];i&&(yield[void 0,r])}function s(r,e,t={}){const s=n(r,e,t),a=function(r){const{done:e,value:t}=r.next();return e?void 0:t}(s);return a[0]?[new o(a[0],function*(){for(const r of s)r[0]&&(yield r[0])}),void 0]:[void 0,a[1]]}exports.superstructResolver=function(o,n){return function(a,c,i){var u,f,l=i.criteriaMode;try{var v=s(a,o,n),d=v[0],p=v[1];return Promise.resolve(null!=d?{values:{},errors:r.transformToNestObject((u=d,f="all"===l,u.failures().reduce(function(o,n){var s,a,c,i=n.path,u=n.message,l=void 0===u?"":u,v=n.type,d=e.convertArrayToPathName(i);return t({},o,i?o[d]&&f?((s={})[d]=r.appendErrors(d,f,o,v||"",l),s):((c={})[d]=o[d]||t({message:l,type:v},f?{types:(a={},a[v||""]=l||!0,a)}:{}),c):{})},{})))}:{values:p,errors:{}})}catch(r){return Promise.reject(r)}}};
//# sourceMappingURL=superstruct.js.map

@@ -1,2 +0,2 @@

import{transformToNestObject as o,appendErrors as e}from"react-hook-form";import{convertArrayToPathName as t}from"@hookform/resolvers";function r(){return(r=Object.assign||function(o){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(o[r]=t[r])}return o}).apply(this,arguments)}class n extends TypeError{constructor(o,e){let t;const{message:r,...n}=o,{path:s}=o;super(0===s.length?r:"At path: "+s.join(".")+" -- "+r),Object.assign(this,n),this.name=this.constructor.name,this.failures=()=>{var r;return null!=(r=t)?r:t=[o,...e()]}}}function*s(o,e,t={}){const{path:r=[],branch:n=[o],coerce:c=!1}=t,i={path:r,branch:n};c&&(o=e.coercer(o,i));let a=!0;for(const t of e.validator(o,i))a=!1,yield[t,void 0];for(let[t,l,u]of e.entries(o,i)){const e=s(l,u,{path:void 0===t?r:[...r,t],branch:void 0===t?n:[...n,l],coerce:c});for(const r of e)r[0]?(a=!1,yield[r[0],void 0]):c&&(l=r[1],void 0===t?o=l:o instanceof Map?o.set(t,l):o instanceof Set?o.add(l):"object"==typeof(f=o)&&null!=f&&(o[t]=l))}var f;if(a)for(const t of e.refiner(o,i))a=!1,yield[t,void 0];a&&(yield[void 0,o])}function c(o,e,t={}){const r=s(o,e,t),c=function(o){const{done:e,value:t}=o.next();return e?void 0:t}(r);return c[0]?[new n(c[0],function*(){for(const o of r)o[0]&&(yield o[0])}),void 0]:[void 0,c[1]]}const i=(o,n)=>o.failures().reduce((o,{path:s,message:c="",type:i})=>{const a=t(s);return r({},o,s?o[a]&&n?{[a]:e(a,n,o,i||"",c)}:{[a]:o[a]||r({message:c,type:i},n?{types:{[i||""]:c||!0}}:{})}:{})},{}),a=(e,t)=>async(r,n,s=!1)=>{const[a,f]=c(r,e,t);return null!=a?{values:{},errors:o(i(a,s))}:{values:f,errors:{}}};export{a as superstructResolver};
import{transformToNestObject as o,appendErrors as e}from"react-hook-form";import{convertArrayToPathName as r}from"@hookform/resolvers";function t(){return(t=Object.assign||function(o){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(o[t]=r[t])}return o}).apply(this,arguments)}class n extends TypeError{constructor(o,e){let r;const{message:t,...n}=o,{path:s}=o;super(0===s.length?t:"At path: "+s.join(".")+" -- "+t),Object.assign(this,n),this.name=this.constructor.name,this.failures=()=>{var t;return null!=(t=r)?t:r=[o,...e()]}}}function*s(o,e,r={}){const{path:t=[],branch:n=[o],coerce:c=!1}=r,i={path:t,branch:n};c&&(o=e.coercer(o,i));let a=!0;for(const r of e.validator(o,i))a=!1,yield[r,void 0];for(let[r,l,u]of e.entries(o,i)){const e=s(l,u,{path:void 0===r?t:[...t,r],branch:void 0===r?n:[...n,l],coerce:c});for(const t of e)t[0]?(a=!1,yield[t[0],void 0]):c&&(l=t[1],void 0===r?o=l:o instanceof Map?o.set(r,l):o instanceof Set?o.add(l):"object"==typeof(f=o)&&null!=f&&(o[r]=l))}var f;if(a)for(const r of e.refiner(o,i))a=!1,yield[r,void 0];a&&(yield[void 0,o])}function c(o,e,r={}){const t=s(o,e,r),c=function(o){const{done:e,value:r}=o.next();return e?void 0:r}(t);return c[0]?[new n(c[0],function*(){for(const o of t)o[0]&&(yield o[0])}),void 0]:[void 0,c[1]]}const i=(n,s)=>async(i,a,{criteriaMode:f})=>{const[l,u]=c(i,n,s);return null!=l?{values:{},errors:o((d=l,p="all"===f,d.failures().reduce((o,{path:n,message:s="",type:c})=>{const i=r(n);return t({},o,n?o[i]&&p?{[i]:e(i,p,o,c||"",s)}:{[i]:o[i]||t({message:s,type:c},p?{types:{[c||""]:s||!0}}:{})}:{})},{})))}:{values:u,errors:{}};var d,p};export{i as superstructResolver};
//# sourceMappingURL=superstruct.modern.js.map

@@ -1,2 +0,2 @@

import{transformToNestObject as r,appendErrors as e}from"react-hook-form";import{convertArrayToPathName as o}from"@hookform/resolvers";function t(){return(t=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var o=arguments[e];for(var t in o)Object.prototype.hasOwnProperty.call(o,t)&&(r[t]=o[t])}return r}).apply(this,arguments)}class n extends TypeError{constructor(r,e){let o;const{message:t,...n}=r,{path:i}=r;super(0===i.length?t:"At path: "+i.join(".")+" -- "+t),Object.assign(this,n),this.name=this.constructor.name,this.failures=()=>{var t;return null!=(t=o)?t:o=[r,...e()]}}}function*i(r,e,o={}){const{path:t=[],branch:n=[r],coerce:s=!1}=o,c={path:t,branch:n};s&&(r=e.coercer(r,c));let a=!0;for(const o of e.validator(r,c))a=!1,yield[o,void 0];for(let[o,u,l]of e.entries(r,c)){const e=i(u,l,{path:void 0===o?t:[...t,o],branch:void 0===o?n:[...n,u],coerce:s});for(const t of e)t[0]?(a=!1,yield[t[0],void 0]):s&&(u=t[1],void 0===o?r=u:r instanceof Map?r.set(o,u):r instanceof Set?r.add(u):"object"==typeof(f=r)&&null!=f&&(r[o]=u))}var f;if(a)for(const o of e.refiner(r,c))a=!1,yield[o,void 0];a&&(yield[void 0,r])}function s(r,e,o={}){const t=i(r,e,o),s=function(r){const{done:e,value:o}=r.next();return e?void 0:o}(t);return s[0]?[new n(s[0],function*(){for(const r of t)r[0]&&(yield r[0])}),void 0]:[void 0,s[1]]}var c=function(r,n){return r.failures().reduce(function(r,i){var s,c,a,f=i.path,u=i.message,l=void 0===u?"":u,v=i.type,d=o(f);return t({},r,f?r[d]&&n?((s={})[d]=e(d,n,r,v||"",l),s):((a={})[d]=r[d]||t({message:l,type:v},n?{types:(c={},c[v||""]=l||!0,c)}:{}),a):{})},{})},a=function(e,o){return function(t,n,i){void 0===i&&(i=!1);try{var a=s(t,e,o),f=a[0],u=a[1];return Promise.resolve(null!=f?{values:{},errors:r(c(f,i))}:{values:u,errors:{}})}catch(r){return Promise.reject(r)}}};export{a as superstructResolver};
import{transformToNestObject as r,appendErrors as e}from"react-hook-form";import{convertArrayToPathName as o}from"@hookform/resolvers";function t(){return(t=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var o=arguments[e];for(var t in o)Object.prototype.hasOwnProperty.call(o,t)&&(r[t]=o[t])}return r}).apply(this,arguments)}class n extends TypeError{constructor(r,e){let o;const{message:t,...n}=r,{path:i}=r;super(0===i.length?t:"At path: "+i.join(".")+" -- "+t),Object.assign(this,n),this.name=this.constructor.name,this.failures=()=>{var t;return null!=(t=o)?t:o=[r,...e()]}}}function*i(r,e,o={}){const{path:t=[],branch:n=[r],coerce:s=!1}=o,c={path:t,branch:n};s&&(r=e.coercer(r,c));let a=!0;for(const o of e.validator(r,c))a=!1,yield[o,void 0];for(let[o,l,u]of e.entries(r,c)){const e=i(l,u,{path:void 0===o?t:[...t,o],branch:void 0===o?n:[...n,l],coerce:s});for(const t of e)t[0]?(a=!1,yield[t[0],void 0]):s&&(l=t[1],void 0===o?r=l:r instanceof Map?r.set(o,l):r instanceof Set?r.add(l):"object"==typeof(f=r)&&null!=f&&(r[o]=l))}var f;if(a)for(const o of e.refiner(r,c))a=!1,yield[o,void 0];a&&(yield[void 0,r])}function s(r,e,o={}){const t=i(r,e,o),s=function(r){const{done:e,value:o}=r.next();return e?void 0:o}(t);return s[0]?[new n(s[0],function*(){for(const r of t)r[0]&&(yield r[0])}),void 0]:[void 0,s[1]]}var c=function(n,i){return function(c,a,f){var l,u,v=f.criteriaMode;try{var d=s(c,n,i),p=d[0],h=d[1];return Promise.resolve(null!=p?{values:{},errors:r((l=p,u="all"===v,l.failures().reduce(function(r,n){var i,s,c,a=n.path,f=n.message,l=void 0===f?"":f,v=n.type,d=o(a);return t({},r,a?r[d]&&u?((i={})[d]=e(d,u,r,v||"",l),i):((c={})[d]=r[d]||t({message:l,type:v},u?{types:(s={},s[v||""]=l||!0,s)}:{}),c):{})},{})))}:{values:h,errors:{}})}catch(r){return Promise.reject(r)}}};export{c as superstructResolver};
//# sourceMappingURL=superstruct.module.js.map

@@ -1,2 +0,2 @@

!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("react-hook-form"),require("@hookform/resolvers")):"function"==typeof define&&define.amd?define(["exports","react-hook-form","@hookform/resolvers"],o):o((e||self).hookformResolversSuperstruct={},e.reactHookForm,e.hookformResolvers)}(this,function(e,o,r){function t(){return(t=Object.assign||function(e){for(var o=1;o<arguments.length;o++){var r=arguments[o];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e}).apply(this,arguments)}class n extends TypeError{constructor(e,o){let r;const{message:t,...n}=e,{path:s}=e;super(0===s.length?t:"At path: "+s.join(".")+" -- "+t),Object.assign(this,n),this.name=this.constructor.name,this.failures=()=>{var t;return null!=(t=r)?t:r=[e,...o()]}}}function*s(e,o,r={}){const{path:t=[],branch:n=[e],coerce:i=!1}=r,c={path:t,branch:n};i&&(e=o.coercer(e,c));let a=!0;for(const r of o.validator(e,c))a=!1,yield[r,void 0];for(let[r,u,l]of o.entries(e,c)){const o=s(u,l,{path:void 0===r?t:[...t,r],branch:void 0===r?n:[...n,u],coerce:i});for(const t of o)t[0]?(a=!1,yield[t[0],void 0]):i&&(u=t[1],void 0===r?e=u:e instanceof Map?e.set(r,u):e instanceof Set?e.add(u):"object"==typeof(f=e)&&null!=f&&(e[r]=u))}var f;if(a)for(const r of o.refiner(e,c))a=!1,yield[r,void 0];a&&(yield[void 0,e])}function i(e,o,r={}){const t=s(e,o,r),i=function(e){const{done:o,value:r}=e.next();return o?void 0:r}(t);return i[0]?[new n(i[0],function*(){for(const e of t)e[0]&&(yield e[0])}),void 0]:[void 0,i[1]]}var c=function(e,n){return e.failures().reduce(function(e,s){var i,c,a,f=s.path,u=s.message,l=void 0===u?"":u,d=s.type,v=r.convertArrayToPathName(f);return t({},e,f?e[v]&&n?((i={})[v]=o.appendErrors(v,n,e,d||"",l),i):((a={})[v]=e[v]||t({message:l,type:d},n?{types:(c={},c[d||""]=l||!0,c)}:{}),a):{})},{})};e.superstructResolver=function(e,r){return function(t,n,s){void 0===s&&(s=!1);try{var a=i(t,e,r),f=a[0],u=a[1];return Promise.resolve(null!=f?{values:{},errors:o.transformToNestObject(c(f,s))}:{values:u,errors:{}})}catch(e){return Promise.reject(e)}}}});
!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("react-hook-form"),require("@hookform/resolvers")):"function"==typeof define&&define.amd?define(["exports","react-hook-form","@hookform/resolvers"],o):o((e||self).hookformResolversSuperstruct={},e.reactHookForm,e.hookformResolvers)}(this,function(e,o,r){function t(){return(t=Object.assign||function(e){for(var o=1;o<arguments.length;o++){var r=arguments[o];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e}).apply(this,arguments)}class n extends TypeError{constructor(e,o){let r;const{message:t,...n}=e,{path:s}=e;super(0===s.length?t:"At path: "+s.join(".")+" -- "+t),Object.assign(this,n),this.name=this.constructor.name,this.failures=()=>{var t;return null!=(t=r)?t:r=[e,...o()]}}}function*s(e,o,r={}){const{path:t=[],branch:n=[e],coerce:i=!1}=r,c={path:t,branch:n};i&&(e=o.coercer(e,c));let a=!0;for(const r of o.validator(e,c))a=!1,yield[r,void 0];for(let[r,u,l]of o.entries(e,c)){const o=s(u,l,{path:void 0===r?t:[...t,r],branch:void 0===r?n:[...n,u],coerce:i});for(const t of o)t[0]?(a=!1,yield[t[0],void 0]):i&&(u=t[1],void 0===r?e=u:e instanceof Map?e.set(r,u):e instanceof Set?e.add(u):"object"==typeof(f=e)&&null!=f&&(e[r]=u))}var f;if(a)for(const r of o.refiner(e,c))a=!1,yield[r,void 0];a&&(yield[void 0,e])}function i(e,o,r={}){const t=s(e,o,r),i=function(e){const{done:o,value:r}=e.next();return o?void 0:r}(t);return i[0]?[new n(i[0],function*(){for(const e of t)e[0]&&(yield e[0])}),void 0]:[void 0,i[1]]}e.superstructResolver=function(e,n){return function(s,c,a){var f,u,l=a.criteriaMode;try{var d=i(s,e,n),v=d[0],p=d[1];return Promise.resolve(null!=v?{values:{},errors:o.transformToNestObject((f=v,u="all"===l,f.failures().reduce(function(e,n){var s,i,c,a=n.path,f=n.message,l=void 0===f?"":f,d=n.type,v=r.convertArrayToPathName(a);return t({},e,a?e[v]&&u?((s={})[v]=o.appendErrors(v,u,e,d||"",l),s):((c={})[v]=e[v]||t({message:l,type:d},u?{types:(i={},i[d||""]=l||!0,i)}:{}),c):{})},{})))}:{values:p,errors:{}})}catch(e){return Promise.reject(e)}}}});
//# sourceMappingURL=superstruct.umd.js.map

@@ -1,5 +0,5 @@

import { FieldValues, ResolverResult, UnpackNestedValue } from 'react-hook-form';
import { FieldValues, ResolverOptions, ResolverResult, UnpackNestedValue } from 'react-hook-form';
import { validate, Struct } from 'superstruct';
declare type Options = Parameters<typeof validate>[2];
export declare type Resolver = <T extends Struct<any, any>>(schema: T, options?: Options) => <TFieldValues extends FieldValues, TContext>(values: UnpackNestedValue<TFieldValues>, context?: TContext, validateAllFieldCriteria?: boolean) => Promise<ResolverResult<TFieldValues>>;
export declare type Resolver = <T extends Struct<any, any>>(schema: T, factoryOtions?: Options) => <TFieldValues extends FieldValues, TContext>(values: UnpackNestedValue<TFieldValues>, context: TContext | undefined, options: ResolverOptions<TFieldValues>) => Promise<ResolverResult<TFieldValues>>;
export {};

@@ -44,3 +44,5 @@ import {

const result = await superstructResolver(schema)(data);
const result = await superstructResolver(schema)(data, undefined, {
fields: {},
});

@@ -57,3 +59,5 @@ expect(result).toEqual({ errors: {}, values: data });

const result = await superstructResolver(schema)(data);
const result = await superstructResolver(schema)(data, undefined, {
fields: {},
});

@@ -70,3 +74,6 @@ expect(result).toMatchSnapshot();

const result = await superstructResolver(schema)(data, undefined, true);
const result = await superstructResolver(schema)(data, undefined, {
fields: {},
criteriaMode: 'all',
});

@@ -73,0 +80,0 @@ expect(result).toMatchSnapshot();

@@ -46,3 +46,3 @@ import { appendErrors, transformToNestObject } from 'react-hook-form';

_context,
validateAllFieldCriteria = false,
{ criteriaMode },
) => {

@@ -55,3 +55,3 @@ const [errors, result] = validate(values, schema, options);

errors: transformToNestObject(
parseErrorSchema(errors, validateAllFieldCriteria),
parseErrorSchema(errors, criteriaMode === 'all'),
),

@@ -58,0 +58,0 @@ };

import {
FieldValues,
ResolverOptions,
ResolverResult,

@@ -12,7 +13,7 @@ UnpackNestedValue,

schema: T,
options?: Options,
factoryOtions?: Options,
) => <TFieldValues extends FieldValues, TContext>(
values: UnpackNestedValue<TFieldValues>,
context?: TContext,
validateAllFieldCriteria?: boolean,
context: TContext | undefined,
options: ResolverOptions<TFieldValues>,
) => Promise<ResolverResult<TFieldValues>>;

@@ -1,2 +0,2 @@

var r=require("react-hook-form");function e(r){return r&&"object"==typeof r&&"default"in r?r:{default:r}}var t=e(require("vest/promisify"));function n(){return(n=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}var o=function(r,e){return Object.entries(r).reduce(function(r,t){var o,u=t[1];return n({},r,((o={})[t[0]]=n({type:"",message:u[0]},e?{types:u.reduce(function(r,e,t){var o;return n({},r,((o={})[t]=e,o))},{})}:{}),o))},{})};exports.vestResolver=function(e,n,u){var s=(void 0===u?{mode:"async"}:u).mode;return function(n,u,a){void 0===a&&(a=!1);try{var i,c=function(){var e=i.getErrors();return i.hasErrors()?{values:{},errors:r.transformToNestObject(o(e,a))}:{values:n,errors:{}}},f=function(){if("async"===s){var r=t.default(e);return Promise.resolve(r(n)).then(function(r){i=r})}i=e(n)}();return Promise.resolve(f&&f.then?f.then(c):c())}catch(r){return Promise.reject(r)}}};
var r=require("react-hook-form");function e(r){return r&&"object"==typeof r&&"default"in r?r:{default:r}}var t=e(require("vest/promisify"));function n(){return(n=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}exports.vestResolver=function(e,o,a){var s=(void 0===a?{mode:"async"}:a).mode;return function(o,a,u){var i=u.criteriaMode;try{var c,f=function(){var e,t,a=c.getErrors();return c.hasErrors()?{values:{},errors:r.transformToNestObject((e=a,t="all"===i,Object.entries(e).reduce(function(r,e){var o,a=e[1];return n({},r,((o={})[e[0]]=n({type:"",message:a[0]},t?{types:a.reduce(function(r,e,t){var o;return n({},r,((o={})[t]=e,o))},{})}:{}),o))},{})))}:{values:o,errors:{}}},v=function(){if("async"===s){var r=t.default(e);return Promise.resolve(r(o)).then(function(r){c=r})}c=e(o)}();return Promise.resolve(v&&v.then?v.then(f):f())}catch(r){return Promise.reject(r)}}};
//# sourceMappingURL=vest.js.map

@@ -1,2 +0,2 @@

import{transformToNestObject as r}from"react-hook-form";import e from"vest/promisify";function t(){return(t=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(r[o]=t[o])}return r}).apply(this,arguments)}const o=(r,e)=>Object.entries(r).reduce((r,[o,s])=>t({},r,{[o]:t({type:"",message:s[0]},e?{types:s.reduce((r,e,o)=>t({},r,{[o]:e}),{})}:{})}),{}),s=(t,s,{mode:n}={mode:"async"})=>async(s,a,c=!1)=>{let i;if("async"===n){const r=e(t);i=await r(s)}else i=t(s);const p=i.getErrors();return i.hasErrors()?{values:{},errors:r(o(p,c))}:{values:s,errors:{}}};export{s as vestResolver};
import{transformToNestObject as r}from"react-hook-form";import e from"vest/promisify";function t(){return(t=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(r[o]=t[o])}return r}).apply(this,arguments)}const o=(o,s,{mode:a}={mode:"async"})=>async(s,n,{criteriaMode:c})=>{let i;if("async"===a){const r=e(o);i=await r(s)}else i=o(s);const p=i.getErrors();return i.hasErrors()?{values:{},errors:r((l=p,f="all"===c,Object.entries(l).reduce((r,[e,o])=>t({},r,{[e]:t({type:"",message:o[0]},f?{types:o.reduce((r,e,o)=>t({},r,{[o]:e}),{})}:{})}),{})))}:{values:s,errors:{}};var l,f};export{o as vestResolver};
//# sourceMappingURL=vest.modern.js.map

@@ -1,2 +0,2 @@

import{transformToNestObject as r}from"react-hook-form";import e from"vest/promisify";function t(){return(t=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}var n=function(r,e){return Object.entries(r).reduce(function(r,n){var o,i=n[1];return t({},r,((o={})[n[0]]=t({type:"",message:i[0]},e?{types:i.reduce(function(r,e,n){var o;return t({},r,((o={})[n]=e,o))},{})}:{}),o))},{})},o=function(t,o,i){var s=(void 0===i?{mode:"async"}:i).mode;return function(o,i,u){void 0===u&&(u=!1);try{var a,c=function(){var e=a.getErrors();return a.hasErrors()?{values:{},errors:r(n(e,u))}:{values:o,errors:{}}},f=function(){if("async"===s){var r=e(t);return Promise.resolve(r(o)).then(function(r){a=r})}a=t(o)}();return Promise.resolve(f&&f.then?f.then(c):c())}catch(r){return Promise.reject(r)}}};export{o as vestResolver};
import{transformToNestObject as r}from"react-hook-form";import e from"vest/promisify";function t(){return(t=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}var n=function(n,o,a){var i=(void 0===a?{mode:"async"}:a).mode;return function(o,a,s){var c=s.criteriaMode;try{var u,v=function(){var e,n,a=u.getErrors();return u.hasErrors()?{values:{},errors:r((e=a,n="all"===c,Object.entries(e).reduce(function(r,e){var o,a=e[1];return t({},r,((o={})[e[0]]=t({type:"",message:a[0]},n?{types:a.reduce(function(r,e,n){var o;return t({},r,((o={})[n]=e,o))},{})}:{}),o))},{})))}:{values:o,errors:{}}},f=function(){if("async"===i){var r=e(n);return Promise.resolve(r(o)).then(function(r){u=r})}u=n(o)}();return Promise.resolve(f&&f.then?f.then(v):v())}catch(r){return Promise.reject(r)}}};export{n as vestResolver};
//# sourceMappingURL=vest.module.js.map

@@ -1,2 +0,2 @@

!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("react-hook-form"),require("vest/promisify")):"function"==typeof define&&define.amd?define(["exports","react-hook-form","vest/promisify"],r):r((e||self).hookformResolversVest={},e.reactHookForm,e.promisify)}(this,function(e,r,t){function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=o(t);function i(){return(i=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e}).apply(this,arguments)}var s=function(e,r){return Object.entries(e).reduce(function(e,t){var o,n=t[1];return i({},e,((o={})[t[0]]=i({type:"",message:n[0]},r?{types:n.reduce(function(e,r,t){var o;return i({},e,((o={})[t]=r,o))},{})}:{}),o))},{})};e.vestResolver=function(e,t,o){var i=(void 0===o?{mode:"async"}:o).mode;return function(t,o,f){void 0===f&&(f=!1);try{var u,a=function(){var e=u.getErrors();return u.hasErrors()?{values:{},errors:r.transformToNestObject(s(e,f))}:{values:t,errors:{}}},c=function(){if("async"===i){var r=n.default(e);return Promise.resolve(r(t)).then(function(e){u=e})}u=e(t)}();return Promise.resolve(c&&c.then?c.then(a):a())}catch(e){return Promise.reject(e)}}}});
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("react-hook-form"),require("vest/promisify")):"function"==typeof define&&define.amd?define(["exports","react-hook-form","vest/promisify"],r):r((e||self).hookformResolversVest={},e.reactHookForm,e.promisify)}(this,function(e,r,t){function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=o(t);function i(){return(i=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e}).apply(this,arguments)}e.vestResolver=function(e,t,o){var s=(void 0===o?{mode:"async"}:o).mode;return function(t,o,f){var u=f.criteriaMode;try{var a,c=function(){var e,o,n=a.getErrors();return a.hasErrors()?{values:{},errors:r.transformToNestObject((e=n,o="all"===u,Object.entries(e).reduce(function(e,r){var t,n=r[1];return i({},e,((t={})[r[0]]=i({type:"",message:n[0]},o?{types:n.reduce(function(e,r,t){var o;return i({},e,((o={})[t]=r,o))},{})}:{}),t))},{})))}:{values:t,errors:{}}},l=function(){if("async"===s){var r=n.default(e);return Promise.resolve(r(t)).then(function(e){a=e})}a=e(t)}();return Promise.resolve(l&&l.then?l.then(c):c())}catch(e){return Promise.reject(e)}}}});
//# sourceMappingURL=vest.umd.js.map

@@ -43,3 +43,5 @@ import * as vest from 'vest';

};
expect(await vestResolver(validationSuite)(data)).toEqual({
expect(
await vestResolver(validationSuite)(data, undefined, { fields: {} }),
).toEqual({
values: data,

@@ -59,3 +61,7 @@ errors: {},

expect(
await vestResolver(validationSuite, undefined, { mode: 'sync' })(data),
await vestResolver(validationSuite, undefined, { mode: 'sync' })(
data,
undefined,
{ fields: {} },
),
).toEqual({

@@ -76,3 +82,5 @@ values: data,

expect(await vestResolver(validationSuite)(data)).toMatchSnapshot();
expect(
await vestResolver(validationSuite)(data, undefined, { fields: {} }),
).toMatchSnapshot();
});

@@ -90,3 +98,7 @@

expect(
await vestResolver(validationSuite, undefined, { mode: 'sync' })(data),
await vestResolver(validationSuite, undefined, { mode: 'sync' })(
data,
undefined,
{ fields: {} },
),
).toMatchSnapshot();

@@ -105,3 +117,7 @@ });

expect(
await vestResolver(validationSuite)(data, {}, true),
await vestResolver(validationSuite)(
data,
{},
{ fields: {}, criteriaMode: 'all' },
),
).toMatchSnapshot();

@@ -123,3 +139,3 @@ });

{},
true,
{ fields: {}, criteriaMode: 'all' },
),

@@ -126,0 +142,0 @@ ).toMatchSnapshot();

import {
FieldValues,
ResolverOptions,
ResolverResult,

@@ -13,9 +14,9 @@ UnpackNestedValue,

schemaOptions?: never,
resolverOptions?: { mode: 'async' | 'sync' },
factoryOptions?: { mode: 'async' | 'sync' },
) => <TFieldValues extends FieldValues, TContext>(
values: UnpackNestedValue<TFieldValues>,
context?: TContext,
validateAllFieldCriteria?: boolean,
context: TContext | undefined,
options: ResolverOptions<TFieldValues>,
) => Promise<ResolverResult<TFieldValues>>;
export type VestErrors = Record<string, string[]>;

@@ -35,3 +35,3 @@ import { transformToNestObject } from 'react-hook-form';

{ mode } = { mode: 'async' },
) => async (values, _context, validateAllFieldCriteria = false) => {
) => async (values, _context, { criteriaMode }) => {
let result: IVestResult | DraftResult;

@@ -54,5 +54,5 @@ if (mode === 'async') {

errors: transformToNestObject(
parseErrorSchema(errors, validateAllFieldCriteria),
parseErrorSchema(errors, criteriaMode === 'all'),
),
};
};

@@ -1,7 +0,7 @@

import { FieldValues, ResolverResult, UnpackNestedValue } from 'react-hook-form';
import { FieldValues, ResolverOptions, ResolverResult, UnpackNestedValue } from 'react-hook-form';
import * as Yup from 'yup';
declare type Options<T extends Yup.AnyObjectSchema> = Parameters<T['validate']>[1];
export declare type Resolver = <T extends Yup.AnyObjectSchema>(schema: T, schemaOptions?: Options<T>, resolverOptions?: {
export declare type Resolver = <T extends Yup.AnyObjectSchema>(schema: T, schemaOptions?: Options<T>, factoryOptions?: {
mode: 'async' | 'sync';
}) => <TFieldValues extends FieldValues, TContext>(values: UnpackNestedValue<TFieldValues>, context?: TContext, validateAllFieldCriteria?: boolean) => Promise<ResolverResult<TFieldValues>>;
}) => <TFieldValues extends FieldValues, TContext>(values: UnpackNestedValue<TFieldValues>, context: TContext | undefined, options: ResolverOptions<TFieldValues>) => Promise<ResolverResult<TFieldValues>>;
export {};

@@ -1,2 +0,2 @@

var e=require("react-hook-form");function t(){return(t=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}exports.yupResolver=function(r,n,o){void 0===n&&(n={abortEarly:!1});var a=(void 0===o?{mode:"async"}:o).mode;return function(o,s,c){void 0===c&&(c=!1);try{return Promise.resolve(function(e,c){try{var u=function(){function e(e){return{values:e,errors:{}}}return n.context&&"development"===process.env.NODE_ENV&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),"async"===a?Promise.resolve("async"===a?r.validate(o,t({},n,{context:s})):r.validateSync(o,t({},n,{context:s}))).then(e):e("async"===a?r.validate(o,t({},n,{context:s})):r.validateSync(o,t({},n,{context:s})))}()}catch(e){return c(e)}return u&&u.then?u.then(void 0,c):u}(0,function(r){var n=function(e,r){var n;return Array.isArray(e.inner)&&e.inner.length?e.inner.reduce(function(e,n){var o,a,s=n.path,c=n.message,u=n.type,i=e[s]&&e[s].types||{},v=s||u;return t({},e,v?((a={})[v]=t({},e[v]||{message:c,type:u},r?{types:t({},i,(o={},o[u]=i[u]?[].concat([].concat(i[u]),[c]):c,o))}:{}),a):{})},{}):((n={})[e.path]={message:e.message,type:e.type},n)}(r,c);return{values:{},errors:e.transformToNestObject(n)}}))}catch(e){return Promise.reject(e)}}};
var e=require("react-hook-form");function t(){return(t=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}exports.yupResolver=function(r,n,o){void 0===n&&(n={abortEarly:!1});var a=(void 0===o?{mode:"async"}:o).mode;return function(o,s,c){var i=c.criteriaMode;try{return Promise.resolve(function(e,c){try{var i=function(){function e(e){return{values:e,errors:{}}}return n.context&&"development"===process.env.NODE_ENV&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),"async"===a?Promise.resolve("async"===a?r.validate(o,t({},n,{context:s})):r.validateSync(o,t({},n,{context:s}))).then(e):e("async"===a?r.validate(o,t({},n,{context:s})):r.validateSync(o,t({},n,{context:s})))}()}catch(e){return c(e)}return i&&i.then?i.then(void 0,c):i}(0,function(r){var n,o,a,s=(n=r,o="all"===i,Array.isArray(n.inner)&&n.inner.length?n.inner.reduce(function(e,r){var n,a,s=r.path,c=r.message,i=r.type,u=e[s]&&e[s].types||{},v=s||i;return t({},e,v?((a={})[v]=t({},e[v]||{message:c,type:i},o?{types:t({},u,(n={},n[i]=u[i]?[].concat([].concat(u[i]),[c]):c,n))}:{}),a):{})},{}):((a={})[n.path]={message:n.message,type:n.type},a));return{values:{},errors:e.transformToNestObject(s)}}))}catch(e){return Promise.reject(e)}}};
//# sourceMappingURL=yup.js.map

@@ -1,2 +0,2 @@

import{transformToNestObject as e}from"react-hook-form";function t(){return(t=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}const r=(r,n={abortEarly:!1},{mode:o}={mode:"async"})=>async(s,a,c=!1)=>{try{return n.context&&"development"===process.env.NODE_ENV&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),{values:"async"===o?await r.validate(s,t({},n,{context:a})):r.validateSync(s,t({},n,{context:a})),errors:{}}}catch(r){const n=((e,r)=>Array.isArray(e.inner)&&e.inner.length?e.inner.reduce((e,{path:n,message:o,type:s})=>{const a=e[n]&&e[n].types||{},c=n||s;return t({},e,c?{[c]:t({},e[c]||{message:o,type:s},r?{types:t({},a,{[s]:a[s]?[...[].concat(a[s]),o]:o})}:{})}:{})},{}):{[e.path]:{message:e.message,type:e.type}})(r,c);return{values:{},errors:e(n)}}};export{r as yupResolver};
import{transformToNestObject as e}from"react-hook-form";function t(){return(t=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}const r=(r,n={abortEarly:!1},{mode:o}={mode:"async"})=>async(a,s,{criteriaMode:c})=>{try{return n.context&&"development"===process.env.NODE_ENV&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),{values:"async"===o?await r.validate(a,t({},n,{context:s})):r.validateSync(a,t({},n,{context:s})),errors:{}}}catch(r){const n=(p=r,y="all"===c,Array.isArray(p.inner)&&p.inner.length?p.inner.reduce((e,{path:r,message:n,type:o})=>{const a=e[r]&&e[r].types||{},s=r||o;return t({},e,s?{[s]:t({},e[s]||{message:n,type:o},y?{types:t({},a,{[o]:a[o]?[...[].concat(a[o]),n]:n})}:{})}:{})},{}):{[p.path]:{message:p.message,type:p.type}});return{values:{},errors:e(n)}}var p,y};export{r as yupResolver};
//# sourceMappingURL=yup.modern.js.map

@@ -1,2 +0,2 @@

import{transformToNestObject as e}from"react-hook-form";function t(){return(t=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}var r=function(r,n,o){void 0===n&&(n={abortEarly:!1});var a=(void 0===o?{mode:"async"}:o).mode;return function(o,c,s){void 0===s&&(s=!1);try{return Promise.resolve(function(e,s){try{var i=function(){function e(e){return{values:e,errors:{}}}return n.context&&"development"===process.env.NODE_ENV&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),"async"===a?Promise.resolve("async"===a?r.validate(o,t({},n,{context:c})):r.validateSync(o,t({},n,{context:c}))).then(e):e("async"===a?r.validate(o,t({},n,{context:c})):r.validateSync(o,t({},n,{context:c})))}()}catch(e){return s(e)}return i&&i.then?i.then(void 0,s):i}(0,function(r){var n=function(e,r){var n;return Array.isArray(e.inner)&&e.inner.length?e.inner.reduce(function(e,n){var o,a,c=n.path,s=n.message,i=n.type,u=e[c]&&e[c].types||{},v=c||i;return t({},e,v?((a={})[v]=t({},e[v]||{message:s,type:i},r?{types:t({},u,(o={},o[i]=u[i]?[].concat([].concat(u[i]),[s]):s,o))}:{}),a):{})},{}):((n={})[e.path]={message:e.message,type:e.type},n)}(r,s);return{values:{},errors:e(n)}}))}catch(e){return Promise.reject(e)}}};export{r as yupResolver};
import{transformToNestObject as e}from"react-hook-form";function t(){return(t=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}var r=function(r,n,o){void 0===n&&(n={abortEarly:!1});var a=(void 0===o?{mode:"async"}:o).mode;return function(o,c,s){var i=s.criteriaMode;try{return Promise.resolve(function(e,s){try{var i=function(){function e(e){return{values:e,errors:{}}}return n.context&&"development"===process.env.NODE_ENV&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),"async"===a?Promise.resolve("async"===a?r.validate(o,t({},n,{context:c})):r.validateSync(o,t({},n,{context:c}))).then(e):e("async"===a?r.validate(o,t({},n,{context:c})):r.validateSync(o,t({},n,{context:c})))}()}catch(e){return s(e)}return i&&i.then?i.then(void 0,s):i}(0,function(r){var n,o,a,c=(n=r,o="all"===i,Array.isArray(n.inner)&&n.inner.length?n.inner.reduce(function(e,r){var n,a,c=r.path,s=r.message,i=r.type,u=e[c]&&e[c].types||{},v=c||i;return t({},e,v?((a={})[v]=t({},e[v]||{message:s,type:i},o?{types:t({},u,(n={},n[i]=u[i]?[].concat([].concat(u[i]),[s]):s,n))}:{}),a):{})},{}):((a={})[n.path]={message:n.message,type:n.type},a));return{values:{},errors:e(c)}}))}catch(e){return Promise.reject(e)}}};export{r as yupResolver};
//# sourceMappingURL=yup.module.js.map

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react-hook-form")):"function"==typeof define&&define.amd?define(["exports","react-hook-form"],t):t((e||self).hookformResolversYup={},e.reactHookForm)}(this,function(e,t){function n(){return(n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}e.yupResolver=function(e,r,o){void 0===r&&(r={abortEarly:!1});var a=(void 0===o?{mode:"async"}:o).mode;return function(o,s,c){void 0===c&&(c=!1);try{return Promise.resolve(function(t,c){try{var i=function(){function t(e){return{values:e,errors:{}}}return r.context&&"development"===process.env.NODE_ENV&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),"async"===a?Promise.resolve("async"===a?e.validate(o,n({},r,{context:s})):e.validateSync(o,n({},r,{context:s}))).then(t):t("async"===a?e.validate(o,n({},r,{context:s})):e.validateSync(o,n({},r,{context:s})))}()}catch(e){return c(e)}return i&&i.then?i.then(void 0,c):i}(0,function(e){var r=function(e,t){var r;return Array.isArray(e.inner)&&e.inner.length?e.inner.reduce(function(e,r){var o,a,s=r.path,c=r.message,i=r.type,u=e[s]&&e[s].types||{},f=s||i;return n({},e,f?((a={})[f]=n({},e[f]||{message:c,type:i},t?{types:n({},u,(o={},o[i]=u[i]?[].concat([].concat(u[i]),[c]):c,o))}:{}),a):{})},{}):((r={})[e.path]={message:e.message,type:e.type},r)}(e,c);return{values:{},errors:t.transformToNestObject(r)}}))}catch(e){return Promise.reject(e)}}}});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react-hook-form")):"function"==typeof define&&define.amd?define(["exports","react-hook-form"],t):t((e||self).hookformResolversYup={},e.reactHookForm)}(this,function(e,t){function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}e.yupResolver=function(e,n,o){void 0===n&&(n={abortEarly:!1});var a=(void 0===o?{mode:"async"}:o).mode;return function(o,s,c){var i=c.criteriaMode;try{return Promise.resolve(function(t,c){try{var i=function(){function t(e){return{values:e,errors:{}}}return n.context&&"development"===process.env.NODE_ENV&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),"async"===a?Promise.resolve("async"===a?e.validate(o,r({},n,{context:s})):e.validateSync(o,r({},n,{context:s}))).then(t):t("async"===a?e.validate(o,r({},n,{context:s})):e.validateSync(o,r({},n,{context:s})))}()}catch(e){return c(e)}return i&&i.then?i.then(void 0,c):i}(0,function(e){var n,o,a,s=(n=e,o="all"===i,Array.isArray(n.inner)&&n.inner.length?n.inner.reduce(function(e,t){var n,a,s=t.path,c=t.message,i=t.type,u=e[s]&&e[s].types||{},f=s||i;return r({},e,f?((a={})[f]=r({},e[f]||{message:c,type:i},o?{types:r({},u,(n={},n[i]=u[i]?[].concat([].concat(u[i]),[c]):c,n))}:{}),a):{})},{}):((a={})[n.path]={message:n.message,type:n.type},a));return{values:{},errors:t.transformToNestObject(s)}}))}catch(e){return Promise.reject(e)}}}});
//# sourceMappingURL=yup.umd.js.map

@@ -35,3 +35,3 @@ /* eslint-disable no-console, @typescript-eslint/ban-ts-comment */

const result = await yupResolver(schema)(data);
const result = await yupResolver(schema)(data, undefined, { fields: {} });

@@ -58,3 +58,7 @@ expect(schemaSpy).toHaveBeenCalledTimes(1);

const result = await yupResolver(schema, undefined, { mode: 'sync' })(data);
const result = await yupResolver(schema, undefined, { mode: 'sync' })(
data,
undefined,
{ fields: {} },
);

@@ -73,3 +77,3 @@ expect(validateSyncSpy).toHaveBeenCalledTimes(1);

const result = await yupResolver(schema)(data);
const result = await yupResolver(schema)(data, undefined, { fields: {} });

@@ -89,3 +93,7 @@ expect(result).toMatchSnapshot();

const result = await yupResolver(schema, undefined, { mode: 'sync' })(data);
const result = await yupResolver(schema, undefined, { mode: 'sync' })(
data,
undefined,
{ fields: {} },
);

@@ -104,3 +112,6 @@ expect(validateSyncSpy).toHaveBeenCalledTimes(1);

const result = await yupResolver(schema)(data, undefined, true);
const result = await yupResolver(schema)(data, undefined, {
fields: {},
criteriaMode: 'all',
});

@@ -120,3 +131,6 @@ expect(result).toMatchSnapshot();

undefined,
true,
{
fields: {},
criteriaMode: 'all',
},
);

@@ -141,3 +155,5 @@

const result = await yupResolver(schemaWithContext)(data, context);
const result = await yupResolver(schemaWithContext)(data, context, {
fields: {},
});
expect(validateSpy).toHaveBeenCalledTimes(1);

@@ -163,3 +179,5 @@ expect(validateSpy).toHaveBeenCalledWith(

const result = await yupResolver(yupSchema)({ name: '' });
const result = await yupResolver(yupSchema)({ name: '' }, undefined, {
fields: {},
});
expect(result).toMatchSnapshot();

@@ -172,3 +190,9 @@ });

await yupResolver(yup.object(), { context: { noContext: true } })({});
await yupResolver(yup.object(), { context: { noContext: true } })(
{},
undefined,
{
fields: {},
},
);
expect(console.warn).toHaveBeenCalledWith(

@@ -184,3 +208,7 @@ "You should not used the yup options context. Please, use the 'useForm' context object instead",

await yupResolver(yup.object(), { context: { noContext: true } })({});
await yupResolver(yup.object(), { context: { noContext: true } })(
{},
undefined,
{ fields: {} },
);
expect(console.warn).not.toHaveBeenCalled();

@@ -202,3 +230,3 @@ process.env.NODE_ENV = 'test';

),
)({ name: '', email: '' });
)({ name: '', email: '' }, undefined, { fields: {} });

@@ -205,0 +233,0 @@ expect(result).toMatchSnapshot();

import {
FieldValues,
ResolverOptions,
ResolverResult,

@@ -13,7 +14,7 @@ UnpackNestedValue,

schemaOptions?: Options<T>,
resolverOptions?: { mode: 'async' | 'sync' },
factoryOptions?: { mode: 'async' | 'sync' },
) => <TFieldValues extends FieldValues, TContext>(
values: UnpackNestedValue<TFieldValues>,
context?: TContext,
validateAllFieldCriteria?: boolean,
context: TContext | undefined,
options: ResolverOptions<TFieldValues>,
) => Promise<ResolverResult<TFieldValues>>;

@@ -63,3 +63,3 @@ /* eslint-disable @typescript-eslint/ban-ts-comment */

{ mode } = { mode: 'async' },
) => async (values, context, validateAllFieldCriteria = false) => {
) => async (values, context, { criteriaMode }) => {
try {

@@ -89,3 +89,3 @@ if (options.context && process.env.NODE_ENV === 'development') {

} catch (e) {
const parsedErrors = parseErrorSchema(e, validateAllFieldCriteria);
const parsedErrors = parseErrorSchema(e, criteriaMode === 'all');

@@ -92,0 +92,0 @@ return {

@@ -1,6 +0,6 @@

import { FieldValues, ResolverResult, UnpackNestedValue } from 'react-hook-form';
import { FieldValues, ResolverResult, UnpackNestedValue, ResolverOptions } from 'react-hook-form';
import * as z from 'zod';
import type { ParseParams } from 'zod/lib/src/parser';
export declare type Resolver = <T extends z.ZodSchema<any, any>>(schema: T, schemaOptions?: ParseParams, resolverOptions?: {
export declare type Resolver = <T extends z.ZodSchema<any, any>>(schema: T, schemaOptions?: ParseParams, factoryOptions?: {
mode: 'async' | 'sync';
}) => <TFieldValues extends FieldValues, TContext>(values: UnpackNestedValue<TFieldValues>, context?: TContext, validateAllFieldCriteria?: boolean) => Promise<ResolverResult<TFieldValues>>;
}) => <TFieldValues extends FieldValues, TContext>(values: UnpackNestedValue<TFieldValues>, context: TContext | undefined, options: ResolverOptions<TFieldValues>) => Promise<ResolverResult<TFieldValues>>;

@@ -1,2 +0,2 @@

var r=require("react-hook-form"),e=require("@hookform/resolvers");function n(){return(n=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(r[t]=n[t])}return r}).apply(this,arguments)}var t=function(t,o){return t.isEmpty?{}:t.errors.reduce(function(t,s){var a,c,u,i=s.path,v=s.message,p=s.code,f=e.convertArrayToPathName(i);return n({},t,i?t[f]&&o?((a={})[f]=r.appendErrors(f,o,t,p,v),a):((u={})[f]=t[f]||n({message:v,type:p},o?{types:(c={},c[p]=v||!0,c)}:{}),u):{})},{})};exports.zodResolver=function(e,n,o){var s=(void 0===o?{mode:"async"}:o).mode;return function(o,a,c){void 0===c&&(c=!1);try{return Promise.resolve(function(r,t){try{var a=function(){function r(r){return{values:r,errors:{}}}return"async"===s?Promise.resolve("async"===s?e.parseAsync(o,n):e.parse(o,n)).then(r):r("async"===s?e.parseAsync(o,n):e.parse(o,n))}()}catch(r){return t(r)}return a&&a.then?a.then(void 0,t):a}(0,function(e){return{values:{},errors:r.transformToNestObject(t(e,c))}}))}catch(r){return Promise.reject(r)}}};
var r=require("react-hook-form"),e=require("@hookform/resolvers");function t(){return(t=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}exports.zodResolver=function(n,o,s){var a=(void 0===s?{mode:"async"}:s).mode;return function(s,c,u){var i=u.criteriaMode;try{return Promise.resolve(function(r,e){try{var t=function(){function r(r){return{values:r,errors:{}}}return"async"===a?Promise.resolve("async"===a?n.parseAsync(s,o):n.parse(s,o)).then(r):r("async"===a?n.parseAsync(s,o):n.parse(s,o))}()}catch(r){return e(r)}return t&&t.then?t.then(void 0,e):t}(0,function(n){return{values:{},errors:r.transformToNestObject((o=n,s="all"===i,o.isEmpty?{}:o.errors.reduce(function(n,o){var a,c,u,i=o.path,v=o.message,p=o.code,y=e.convertArrayToPathName(i);return t({},n,i?n[y]&&s?((a={})[y]=r.appendErrors(y,s,n,p,v),a):((u={})[y]=n[y]||t({message:v,type:p},s?{types:(c={},c[p]=v||!0,c)}:{}),u):{})},{})))};var o,s}))}catch(r){return Promise.reject(r)}}};
//# sourceMappingURL=zod.js.map

@@ -1,2 +0,2 @@

import{transformToNestObject as r,appendErrors as e}from"react-hook-form";import{convertArrayToPathName as o}from"@hookform/resolvers";function t(){return(t=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var o=arguments[e];for(var t in o)Object.prototype.hasOwnProperty.call(o,t)&&(r[t]=o[t])}return r}).apply(this,arguments)}const s=(r,s)=>r.isEmpty?{}:r.errors.reduce((r,{path:a,message:n,code:c})=>{const p=o(a);return t({},r,a?r[p]&&s?{[p]:e(p,s,r,c,n)}:{[p]:r[p]||t({message:n,type:c},s?{types:{[c]:n||!0}}:{})}:{})},{}),a=(e,o,{mode:t}={mode:"async"})=>async(a,n,c=!1)=>{try{return{values:"async"===t?await e.parseAsync(a,o):e.parse(a,o),errors:{}}}catch(e){return{values:{},errors:r(s(e,c))}}};export{a as zodResolver};
import{transformToNestObject as r,appendErrors as e}from"react-hook-form";import{convertArrayToPathName as o}from"@hookform/resolvers";function t(){return(t=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var o=arguments[e];for(var t in o)Object.prototype.hasOwnProperty.call(o,t)&&(r[t]=o[t])}return r}).apply(this,arguments)}const s=(s,a,{mode:n}={mode:"async"})=>async(c,p,{criteriaMode:i})=>{try{return{values:"async"===n?await s.parseAsync(c,a):s.parse(c,a),errors:{}}}catch(s){return{values:{},errors:r((m=s,y="all"===i,m.isEmpty?{}:m.errors.reduce((r,{path:s,message:a,code:n})=>{const c=o(s);return t({},r,s?r[c]&&y?{[c]:e(c,y,r,n,a)}:{[c]:r[c]||t({message:a,type:n},y?{types:{[n]:a||!0}}:{})}:{})},{})))}}var m,y};export{s as zodResolver};
//# sourceMappingURL=zod.modern.js.map

@@ -1,2 +0,2 @@

import{transformToNestObject as r,appendErrors as e}from"react-hook-form";import{convertArrayToPathName as n}from"@hookform/resolvers";function t(){return(t=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(r[t]=n[t])}return r}).apply(this,arguments)}var o=function(r,o){return r.isEmpty?{}:r.errors.reduce(function(r,s){var a,c,u,i=s.path,f=s.message,p=s.code,v=n(i);return t({},r,i?r[v]&&o?((a={})[v]=e(v,o,r,p,f),a):((u={})[v]=r[v]||t({message:f,type:p},o?{types:(c={},c[p]=f||!0,c)}:{}),u):{})},{})},s=function(e,n,t){var s=(void 0===t?{mode:"async"}:t).mode;return function(t,a,c){void 0===c&&(c=!1);try{return Promise.resolve(function(r,o){try{var a=function(){function r(r){return{values:r,errors:{}}}return"async"===s?Promise.resolve("async"===s?e.parseAsync(t,n):e.parse(t,n)).then(r):r("async"===s?e.parseAsync(t,n):e.parse(t,n))}()}catch(r){return o(r)}return a&&a.then?a.then(void 0,o):a}(0,function(e){return{values:{},errors:r(o(e,c))}}))}catch(r){return Promise.reject(r)}}};export{s as zodResolver};
import{transformToNestObject as r,appendErrors as e}from"react-hook-form";import{convertArrayToPathName as t}from"@hookform/resolvers";function n(){return(n=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}var o=function(o,s,a){var c=(void 0===a?{mode:"async"}:a).mode;return function(a,u,i){var p=i.criteriaMode;try{return Promise.resolve(function(r,e){try{var t=function(){function r(r){return{values:r,errors:{}}}return"async"===c?Promise.resolve("async"===c?o.parseAsync(a,s):o.parse(a,s)).then(r):r("async"===c?o.parseAsync(a,s):o.parse(a,s))}()}catch(r){return e(r)}return t&&t.then?t.then(void 0,e):t}(0,function(o){return{values:{},errors:r((s=o,a="all"===p,s.isEmpty?{}:s.errors.reduce(function(r,o){var s,c,u,i=o.path,p=o.message,v=o.code,f=t(i);return n({},r,i?r[f]&&a?((s={})[f]=e(f,a,r,v,p),s):((u={})[f]=r[f]||n({message:p,type:v},a?{types:(c={},c[v]=p||!0,c)}:{}),u):{})},{})))};var s,a}))}catch(r){return Promise.reject(r)}}};export{o as zodResolver};
//# sourceMappingURL=zod.module.js.map

@@ -1,2 +0,2 @@

!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("react-hook-form"),require("@hookform/resolvers")):"function"==typeof define&&define.amd?define(["exports","react-hook-form","@hookform/resolvers"],r):r((e||self).hookformResolversZod={},e.reactHookForm,e.hookformResolvers)}(this,function(e,r,o){function n(){return(n=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var o=arguments[r];for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(e[n]=o[n])}return e}).apply(this,arguments)}var t=function(e,t){return e.isEmpty?{}:e.errors.reduce(function(e,s){var a,c,i,u=s.path,f=s.message,p=s.code,v=o.convertArrayToPathName(u);return n({},e,u?e[v]&&t?((a={})[v]=r.appendErrors(v,t,e,p,f),a):((i={})[v]=e[v]||n({message:f,type:p},t?{types:(c={},c[p]=f||!0,c)}:{}),i):{})},{})};e.zodResolver=function(e,o,n){var s=(void 0===n?{mode:"async"}:n).mode;return function(n,a,c){void 0===c&&(c=!1);try{return Promise.resolve(function(r,t){try{var a=function(){function r(e){return{values:e,errors:{}}}return"async"===s?Promise.resolve("async"===s?e.parseAsync(n,o):e.parse(n,o)).then(r):r("async"===s?e.parseAsync(n,o):e.parse(n,o))}()}catch(e){return t(e)}return a&&a.then?a.then(void 0,t):a}(0,function(e){return{values:{},errors:r.transformToNestObject(t(e,c))}}))}catch(e){return Promise.reject(e)}}}});
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("react-hook-form"),require("@hookform/resolvers")):"function"==typeof define&&define.amd?define(["exports","react-hook-form","@hookform/resolvers"],r):r((e||self).hookformResolversZod={},e.reactHookForm,e.hookformResolvers)}(this,function(e,r,o){function t(){return(t=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var o=arguments[r];for(var t in o)Object.prototype.hasOwnProperty.call(o,t)&&(e[t]=o[t])}return e}).apply(this,arguments)}e.zodResolver=function(e,n,s){var a=(void 0===s?{mode:"async"}:s).mode;return function(s,c,i){var f=i.criteriaMode;try{return Promise.resolve(function(r,o){try{var t=function(){function r(e){return{values:e,errors:{}}}return"async"===a?Promise.resolve("async"===a?e.parseAsync(s,n):e.parse(s,n)).then(r):r("async"===a?e.parseAsync(s,n):e.parse(s,n))}()}catch(e){return o(e)}return t&&t.then?t.then(void 0,o):t}(0,function(e){return{values:{},errors:r.transformToNestObject((n=e,s="all"===f,n.isEmpty?{}:n.errors.reduce(function(e,n){var a,c,i,f=n.path,u=n.message,p=n.code,l=o.convertArrayToPathName(f);return t({},e,f?e[l]&&s?((a={})[l]=r.appendErrors(l,s,e,p,u),a):((i={})[l]=e[l]||t({message:u,type:p},s?{types:(c={},c[p]=u||!0,c)}:{}),i):{})},{})))};var n,s}))}catch(e){return Promise.reject(e)}}}});
//# sourceMappingURL=zod.umd.js.map

@@ -14,5 +14,5 @@ {

"peerDependencies": {
"react-hook-form": ">=6.6.0",
"react-hook-form": "^7.0.0",
"@hookform/resolvers": "^1.0.0"
}
}

@@ -34,3 +34,3 @@ import * as z from 'zod';

const result = await zodResolver(schema)(data);
const result = await zodResolver(schema)(data, undefined, { fields: {} });

@@ -55,3 +55,7 @@ expect(parseAsyncSpy).toHaveBeenCalledTimes(1);

const result = await zodResolver(schema, undefined, { mode: 'sync' })(data);
const result = await zodResolver(schema, undefined, { mode: 'sync' })(
data,
undefined,
{ fields: {} },
);

@@ -70,3 +74,3 @@ expect(parseSpy).toHaveBeenCalledTimes(1);

const result = await zodResolver(schema)(data);
const result = await zodResolver(schema)(data, undefined, { fields: {} });

@@ -86,3 +90,7 @@ expect(result).toMatchSnapshot();

const result = await zodResolver(schema, undefined, { mode: 'sync' })(data);
const result = await zodResolver(schema, undefined, { mode: 'sync' })(
data,
undefined,
{ fields: {} },
);

@@ -101,3 +109,6 @@ expect(parseSpy).toHaveBeenCalledTimes(1);

const result = await zodResolver(schema)(data, undefined, true);
const result = await zodResolver(schema)(data, undefined, {
fields: {},
criteriaMode: 'all',
});

@@ -117,3 +128,6 @@ expect(result).toMatchSnapshot();

undefined,
true,
{
fields: {},
criteriaMode: 'all',
},
);

@@ -120,0 +134,0 @@

@@ -5,2 +5,3 @@ import {

UnpackNestedValue,
ResolverOptions,
} from 'react-hook-form';

@@ -13,7 +14,7 @@ import * as z from 'zod';

schemaOptions?: ParseParams,
resolverOptions?: { mode: 'async' | 'sync' },
factoryOptions?: { mode: 'async' | 'sync' },
) => <TFieldValues extends FieldValues, TContext>(
values: UnpackNestedValue<TFieldValues>,
context?: TContext,
validateAllFieldCriteria?: boolean,
context: TContext | undefined,
options: ResolverOptions<TFieldValues>,
) => Promise<ResolverResult<TFieldValues>>;

@@ -54,3 +54,3 @@ import { appendErrors, transformToNestObject } from 'react-hook-form';

{ mode } = { mode: 'async' },
) => async (values, _, validateAllFieldCriteria = false) => {
) => async (values, _, { criteriaMode }) => {
try {

@@ -67,3 +67,3 @@ const result =

errors: transformToNestObject(
parseErrorSchema(error, validateAllFieldCriteria),
parseErrorSchema(error, criteriaMode === 'all'),
),

@@ -70,0 +70,0 @@ };

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc