@hookform/resolvers 3.2.0 → 3.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/ajv/dist/ajv.js +1 -1
  2. package/ajv/dist/ajv.js.map +1 -1
  3. package/ajv/dist/ajv.mjs +1 -1
  4. package/ajv/dist/ajv.modern.mjs +1 -1
  5. package/ajv/dist/ajv.modern.mjs.map +1 -1
  6. package/ajv/dist/ajv.module.js +1 -1
  7. package/ajv/dist/ajv.module.js.map +1 -1
  8. package/ajv/dist/ajv.umd.js +1 -1
  9. package/ajv/dist/ajv.umd.js.map +1 -1
  10. package/ajv/src/ajv.ts +2 -2
  11. package/arktype/dist/arktype.js +1 -1
  12. package/arktype/dist/arktype.js.map +1 -1
  13. package/arktype/dist/arktype.mjs +1 -1
  14. package/arktype/dist/arktype.modern.mjs +1 -1
  15. package/arktype/dist/arktype.modern.mjs.map +1 -1
  16. package/arktype/dist/arktype.module.js +1 -1
  17. package/arktype/dist/arktype.module.js.map +1 -1
  18. package/arktype/dist/arktype.umd.js +1 -1
  19. package/arktype/dist/arktype.umd.js.map +1 -1
  20. package/arktype/src/arktype.ts +2 -2
  21. package/class-validator/dist/class-validator.js +1 -1
  22. package/class-validator/dist/class-validator.js.map +1 -1
  23. package/class-validator/dist/class-validator.mjs +1 -1
  24. package/class-validator/dist/class-validator.modern.mjs +1 -1
  25. package/class-validator/dist/class-validator.modern.mjs.map +1 -1
  26. package/class-validator/dist/class-validator.module.js +1 -1
  27. package/class-validator/dist/class-validator.module.js.map +1 -1
  28. package/class-validator/dist/class-validator.umd.js +1 -1
  29. package/class-validator/dist/class-validator.umd.js.map +1 -1
  30. package/class-validator/src/__tests__/class-validator.ts +41 -0
  31. package/class-validator/src/class-validator.ts +6 -3
  32. package/computed-types/dist/computed-types.js +1 -1
  33. package/computed-types/dist/computed-types.js.map +1 -1
  34. package/computed-types/dist/computed-types.mjs +1 -1
  35. package/computed-types/dist/computed-types.modern.mjs +1 -1
  36. package/computed-types/dist/computed-types.modern.mjs.map +1 -1
  37. package/computed-types/dist/computed-types.module.js +1 -1
  38. package/computed-types/dist/computed-types.module.js.map +1 -1
  39. package/computed-types/dist/computed-types.umd.js +1 -1
  40. package/computed-types/dist/computed-types.umd.js.map +1 -1
  41. package/computed-types/src/computed-types.ts +2 -2
  42. package/dist/index.d.ts +1 -1
  43. package/dist/resolvers.js +1 -1
  44. package/dist/resolvers.js.map +1 -1
  45. package/dist/resolvers.mjs +1 -1
  46. package/dist/resolvers.mjs.map +1 -1
  47. package/dist/resolvers.module.js +1 -1
  48. package/dist/resolvers.module.js.map +1 -1
  49. package/dist/resolvers.umd.js +1 -1
  50. package/dist/resolvers.umd.js.map +1 -1
  51. package/dist/toNestErrors.d.ts +2 -0
  52. package/io-ts/dist/io-ts.js +1 -1
  53. package/io-ts/dist/io-ts.js.map +1 -1
  54. package/io-ts/dist/io-ts.mjs +1 -1
  55. package/io-ts/dist/io-ts.modern.mjs +1 -1
  56. package/io-ts/dist/io-ts.modern.mjs.map +1 -1
  57. package/io-ts/dist/io-ts.module.js +1 -1
  58. package/io-ts/dist/io-ts.module.js.map +1 -1
  59. package/io-ts/dist/io-ts.umd.js +1 -1
  60. package/io-ts/dist/io-ts.umd.js.map +1 -1
  61. package/io-ts/src/io-ts.ts +2 -2
  62. package/joi/dist/joi.js +1 -1
  63. package/joi/dist/joi.js.map +1 -1
  64. package/joi/dist/joi.mjs +1 -1
  65. package/joi/dist/joi.modern.mjs +1 -1
  66. package/joi/dist/joi.modern.mjs.map +1 -1
  67. package/joi/dist/joi.module.js +1 -1
  68. package/joi/dist/joi.module.js.map +1 -1
  69. package/joi/dist/joi.umd.js +1 -1
  70. package/joi/dist/joi.umd.js.map +1 -1
  71. package/joi/src/joi.ts +2 -2
  72. package/nope/dist/nope.js +1 -1
  73. package/nope/dist/nope.js.map +1 -1
  74. package/nope/dist/nope.mjs +1 -1
  75. package/nope/dist/nope.modern.mjs +1 -1
  76. package/nope/dist/nope.modern.mjs.map +1 -1
  77. package/nope/dist/nope.module.js +1 -1
  78. package/nope/dist/nope.module.js.map +1 -1
  79. package/nope/dist/nope.umd.js +1 -1
  80. package/nope/dist/nope.umd.js.map +1 -1
  81. package/nope/src/nope.ts +3 -3
  82. package/package.json +26 -27
  83. package/superstruct/dist/superstruct.js +1 -1
  84. package/superstruct/dist/superstruct.js.map +1 -1
  85. package/superstruct/dist/superstruct.mjs +1 -1
  86. package/superstruct/dist/superstruct.modern.mjs +1 -1
  87. package/superstruct/dist/superstruct.modern.mjs.map +1 -1
  88. package/superstruct/dist/superstruct.module.js +1 -1
  89. package/superstruct/dist/superstruct.module.js.map +1 -1
  90. package/superstruct/dist/superstruct.umd.js +1 -1
  91. package/superstruct/dist/superstruct.umd.js.map +1 -1
  92. package/superstruct/src/superstruct.ts +2 -2
  93. package/typanion/dist/typanion.js +1 -1
  94. package/typanion/dist/typanion.js.map +1 -1
  95. package/typanion/dist/typanion.mjs +1 -1
  96. package/typanion/dist/typanion.modern.mjs +1 -1
  97. package/typanion/dist/typanion.modern.mjs.map +1 -1
  98. package/typanion/dist/typanion.module.js +1 -1
  99. package/typanion/dist/typanion.module.js.map +1 -1
  100. package/typanion/dist/typanion.umd.js +1 -1
  101. package/typanion/dist/typanion.umd.js.map +1 -1
  102. package/typanion/src/typanion.ts +2 -2
  103. package/typebox/dist/typebox.js +1 -1
  104. package/typebox/dist/typebox.js.map +1 -1
  105. package/typebox/dist/typebox.mjs +1 -1
  106. package/typebox/dist/typebox.modern.mjs +1 -1
  107. package/typebox/dist/typebox.modern.mjs.map +1 -1
  108. package/typebox/dist/typebox.module.js +1 -1
  109. package/typebox/dist/typebox.module.js.map +1 -1
  110. package/typebox/dist/typebox.umd.js +1 -1
  111. package/typebox/dist/typebox.umd.js.map +1 -1
  112. package/typebox/src/__tests__/__fixtures__/data.ts +2 -7
  113. package/typebox/src/__tests__/__snapshots__/typebox.ts.snap +57 -59
  114. package/typebox/src/typebox.ts +2 -2
  115. package/valibot/dist/valibot.js +1 -1
  116. package/valibot/dist/valibot.js.map +1 -1
  117. package/valibot/dist/valibot.mjs +1 -1
  118. package/valibot/dist/valibot.modern.mjs +1 -1
  119. package/valibot/dist/valibot.modern.mjs.map +1 -1
  120. package/valibot/dist/valibot.module.js +1 -1
  121. package/valibot/dist/valibot.module.js.map +1 -1
  122. package/valibot/dist/valibot.umd.js +1 -1
  123. package/valibot/dist/valibot.umd.js.map +1 -1
  124. package/valibot/src/__tests__/Form-native-validation.tsx +81 -0
  125. package/valibot/src/__tests__/Form.tsx +61 -0
  126. package/valibot/src/__tests__/__fixtures__/data.ts +2 -1
  127. package/valibot/src/__tests__/__snapshots__/valibot.ts.snap +339 -0
  128. package/valibot/src/__tests__/valibot.ts +77 -0
  129. package/valibot/src/valibot.ts +57 -42
  130. package/vest/dist/types.d.ts +4 -4
  131. package/vest/dist/vest.js +1 -1
  132. package/vest/dist/vest.js.map +1 -1
  133. package/vest/dist/vest.mjs +1 -1
  134. package/vest/dist/vest.modern.mjs +1 -1
  135. package/vest/dist/vest.modern.mjs.map +1 -1
  136. package/vest/dist/vest.module.js +1 -1
  137. package/vest/dist/vest.module.js.map +1 -1
  138. package/vest/dist/vest.umd.js +1 -1
  139. package/vest/dist/vest.umd.js.map +1 -1
  140. package/vest/src/__tests__/vest.ts +13 -0
  141. package/vest/src/types.ts +10 -7
  142. package/vest/src/vest.ts +5 -5
  143. package/yup/dist/yup.d.ts +2 -2
  144. package/yup/dist/yup.js +1 -1
  145. package/yup/dist/yup.js.map +1 -1
  146. package/yup/dist/yup.mjs +1 -1
  147. package/yup/dist/yup.modern.mjs +1 -1
  148. package/yup/dist/yup.modern.mjs.map +1 -1
  149. package/yup/dist/yup.module.js +1 -1
  150. package/yup/dist/yup.module.js.map +1 -1
  151. package/yup/dist/yup.umd.js +1 -1
  152. package/yup/dist/yup.umd.js.map +1 -1
  153. package/yup/src/__tests__/yup.ts +25 -31
  154. package/yup/src/yup.ts +6 -4
  155. package/zod/dist/zod.js +1 -1
  156. package/zod/dist/zod.js.map +1 -1
  157. package/zod/dist/zod.mjs +1 -1
  158. package/zod/dist/zod.modern.mjs +1 -1
  159. package/zod/dist/zod.modern.mjs.map +1 -1
  160. package/zod/dist/zod.module.js +1 -1
  161. package/zod/dist/zod.module.js.map +1 -1
  162. package/zod/dist/zod.umd.js +1 -1
  163. package/zod/dist/zod.umd.js.map +1 -1
  164. package/zod/src/zod.ts +2 -2
  165. package/dist/toNestError.d.ts +0 -2
@@ -1,2 +1,2 @@
1
- import{appendErrors as r}from"react-hook-form";import{validateFieldsNatively as e,toNestError as o}from"@hookform/resolvers";import{Value as s}from"@sinclair/typebox/value";const t=(e,o)=>{const s={};for(;e.length;){const t=e[0],{type:a,message:i,path:n}=t,l=n.substring(1).replace(/\//g,".");if(s[l]||(s[l]={message:i,type:""+a}),o){const e=s[l].types,i=e&&e[""+a];s[l]=r(l,o,s,""+a,i?[].concat(i,t.message):t.message)}e.shift()}return s},a=r=>async(a,i,n)=>{const l=Array.from(s.Errors(r,a));return n.shouldUseNativeValidation&&e({},n),l.length?{values:{},errors:o(t(l,!n.shouldUseNativeValidation&&"all"===n.criteriaMode),n)}:{errors:{},values:a}};export{a as typeboxResolver};
1
+ import{appendErrors as r}from"react-hook-form";import{validateFieldsNatively as e,toNestErrors as o}from"@hookform/resolvers";import{Value as s}from"@sinclair/typebox/value";const t=(e,o)=>{const s={};for(;e.length;){const t=e[0],{type:a,message:i,path:n}=t,l=n.substring(1).replace(/\//g,".");if(s[l]||(s[l]={message:i,type:""+a}),o){const e=s[l].types,i=e&&e[""+a];s[l]=r(l,o,s,""+a,i?[].concat(i,t.message):t.message)}e.shift()}return s},a=r=>async(a,i,n)=>{const l=Array.from(s.Errors(r,a));return n.shouldUseNativeValidation&&e({},n),l.length?{values:{},errors:o(t(l,!n.shouldUseNativeValidation&&"all"===n.criteriaMode),n)}:{errors:{},values:a}};export{a as typeboxResolver};
2
2
  //# sourceMappingURL=typebox.modern.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"typebox.modern.mjs","sources":["../src/typebox.ts"],"sourcesContent":["import { appendErrors, FieldError, FieldErrors } from 'react-hook-form';\nimport { toNestError, validateFieldsNatively } from '@hookform/resolvers';\nimport type { Resolver } from './types';\nimport { Value, ValueError } from '@sinclair/typebox/value';\n\nconst parseErrorSchema = (\n _errors: ValueError[],\n validateAllFieldCriteria: boolean,\n) => {\n const errors: Record<string, FieldError> = {};\n for (; _errors.length; ) {\n const error = _errors[0];\n const { type, message, path } = error;\n const _path = path.substring(1).replace(/\\//g, '.');\n\n if (!errors[_path]) {\n errors[_path] = { message, type: '' + type };\n }\n\n if (validateAllFieldCriteria) {\n const types = errors[_path].types;\n const messages = types && types['' + type];\n\n errors[_path] = appendErrors(\n _path,\n validateAllFieldCriteria,\n errors,\n '' + type,\n messages\n ? ([] as string[]).concat(messages as string[], error.message)\n : error.message,\n ) as FieldError;\n }\n\n _errors.shift();\n }\n\n return errors;\n};\n\nexport const typeboxResolver: Resolver =\n (schema) => async (values, _, options) => {\n const errors = Array.from(Value.Errors(schema, values));\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n if (!errors.length) {\n return {\n errors: {} as FieldErrors,\n values,\n };\n }\n\n return {\n values: {},\n errors: toNestError(\n parseErrorSchema(\n errors,\n !options.shouldUseNativeValidation && options.criteriaMode === 'all',\n ),\n options,\n ),\n };\n };\n"],"names":["parseErrorSchema","_errors","validateAllFieldCriteria","errors","length","error","type","message","path","_path","substring","replace","types","messages","appendErrors","concat","shift","typeboxResolver","schema","async","values","_","options","Array","from","Value","Errors","shouldUseNativeValidation","validateFieldsNatively","toNestError","criteriaMode"],"mappings":"6KAKA,MAAMA,EAAmBA,CACvBC,EACAC,KAEA,MAAMC,EAAqC,CAAA,EAC3C,KAAOF,EAAQG,QAAU,CACvB,MAAMC,EAAQJ,EAAQ,IAChBK,KAAEA,EAAIC,QAAEA,EAAOC,KAAEA,GAASH,EAC1BI,EAAQD,EAAKE,UAAU,GAAGC,QAAQ,MAAO,KAM/C,GAJKR,EAAOM,KACVN,EAAOM,GAAS,CAAEF,UAASD,KAAM,GAAKA,IAGpCJ,EAA0B,CAC5B,MAAMU,EAAQT,EAAOM,GAAOG,MACtBC,EAAWD,GAASA,EAAM,GAAKN,GAErCH,EAAOM,GAASK,EACdL,EACAP,EACAC,EACA,GAAKG,EACLO,EACK,GAAgBE,OAAOF,EAAsBR,EAAME,SACpDF,EAAME,QAEb,CAEDN,EAAQe,OACT,CAED,OAAOb,GAGIc,EACVC,GAAWC,MAAOC,EAAQC,EAAGC,KAC5B,MAAMnB,EAASoB,MAAMC,KAAKC,EAAMC,OAAOR,EAAQE,IAI/C,OAFAE,EAAQK,2BAA6BC,EAAuB,CAAE,EAAEN,GAE3DnB,EAAOC,OAOL,CACLgB,OAAQ,CAAA,EACRjB,OAAQ0B,EACN7B,EACEG,GACCmB,EAAQK,2BAAsD,QAAzBL,EAAQQ,cAEhDR,IAbK,CACLnB,OAAQ,CAAA,EACRiB"}
1
+ {"version":3,"file":"typebox.modern.mjs","sources":["../src/typebox.ts"],"sourcesContent":["import { appendErrors, FieldError, FieldErrors } from 'react-hook-form';\nimport { toNestErrors, validateFieldsNatively } from '@hookform/resolvers';\nimport type { Resolver } from './types';\nimport { Value, ValueError } from '@sinclair/typebox/value';\n\nconst parseErrorSchema = (\n _errors: ValueError[],\n validateAllFieldCriteria: boolean,\n) => {\n const errors: Record<string, FieldError> = {};\n for (; _errors.length; ) {\n const error = _errors[0];\n const { type, message, path } = error;\n const _path = path.substring(1).replace(/\\//g, '.');\n\n if (!errors[_path]) {\n errors[_path] = { message, type: '' + type };\n }\n\n if (validateAllFieldCriteria) {\n const types = errors[_path].types;\n const messages = types && types['' + type];\n\n errors[_path] = appendErrors(\n _path,\n validateAllFieldCriteria,\n errors,\n '' + type,\n messages\n ? ([] as string[]).concat(messages as string[], error.message)\n : error.message,\n ) as FieldError;\n }\n\n _errors.shift();\n }\n\n return errors;\n};\n\nexport const typeboxResolver: Resolver =\n (schema) => async (values, _, options) => {\n const errors = Array.from(Value.Errors(schema, values));\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n if (!errors.length) {\n return {\n errors: {} as FieldErrors,\n values,\n };\n }\n\n return {\n values: {},\n errors: toNestErrors(\n parseErrorSchema(\n errors,\n !options.shouldUseNativeValidation && options.criteriaMode === 'all',\n ),\n options,\n ),\n };\n };\n"],"names":["parseErrorSchema","_errors","validateAllFieldCriteria","errors","length","error","type","message","path","_path","substring","replace","types","messages","appendErrors","concat","shift","typeboxResolver","schema","async","values","_","options","Array","from","Value","Errors","shouldUseNativeValidation","validateFieldsNatively","toNestErrors","criteriaMode"],"mappings":"8KAKA,MAAMA,EAAmBA,CACvBC,EACAC,KAEA,MAAMC,EAAqC,CAAA,EAC3C,KAAOF,EAAQG,QAAU,CACvB,MAAMC,EAAQJ,EAAQ,IAChBK,KAAEA,EAAIC,QAAEA,EAAOC,KAAEA,GAASH,EAC1BI,EAAQD,EAAKE,UAAU,GAAGC,QAAQ,MAAO,KAM/C,GAJKR,EAAOM,KACVN,EAAOM,GAAS,CAAEF,UAASD,KAAM,GAAKA,IAGpCJ,EAA0B,CAC5B,MAAMU,EAAQT,EAAOM,GAAOG,MACtBC,EAAWD,GAASA,EAAM,GAAKN,GAErCH,EAAOM,GAASK,EACdL,EACAP,EACAC,EACA,GAAKG,EACLO,EACK,GAAgBE,OAAOF,EAAsBR,EAAME,SACpDF,EAAME,QAEb,CAEDN,EAAQe,OACT,CAED,OAAOb,GAGIc,EACVC,GAAWC,MAAOC,EAAQC,EAAGC,KAC5B,MAAMnB,EAASoB,MAAMC,KAAKC,EAAMC,OAAOR,EAAQE,IAI/C,OAFAE,EAAQK,2BAA6BC,EAAuB,CAAE,EAAEN,GAE3DnB,EAAOC,OAOL,CACLgB,OAAQ,CAAA,EACRjB,OAAQ0B,EACN7B,EACEG,GACCmB,EAAQK,2BAAsD,QAAzBL,EAAQQ,cAEhDR,IAbK,CACLnB,OAAQ,CAAA,EACRiB"}
@@ -1,2 +1,2 @@
1
- import{appendErrors as r}from"react-hook-form";import{validateFieldsNatively as e,toNestError as o}from"@hookform/resolvers";import{Value as t}from"@sinclair/typebox/value";var a=function(e,o){for(var t={};e.length;){var a=e[0],s=a.type,i=a.message,n=a.path.substring(1).replace(/\//g,".");if(t[n]||(t[n]={message:i,type:""+s}),o){var l=t[n].types,m=l&&l[""+s];t[n]=r(n,o,t,""+s,m?[].concat(m,a.message):a.message)}e.shift()}return t},s=function(r){return function(s,i,n){try{var l=Array.from(t.Errors(r,s));return n.shouldUseNativeValidation&&e({},n),Promise.resolve(l.length?{values:{},errors:o(a(l,!n.shouldUseNativeValidation&&"all"===n.criteriaMode),n)}:{errors:{},values:s})}catch(r){return Promise.reject(r)}}};export{s as typeboxResolver};
1
+ import{appendErrors as r}from"react-hook-form";import{validateFieldsNatively as e,toNestErrors as o}from"@hookform/resolvers";import{Value as t}from"@sinclair/typebox/value";var a=function(e,o){for(var t={};e.length;){var a=e[0],s=a.type,i=a.message,n=a.path.substring(1).replace(/\//g,".");if(t[n]||(t[n]={message:i,type:""+s}),o){var l=t[n].types,m=l&&l[""+s];t[n]=r(n,o,t,""+s,m?[].concat(m,a.message):a.message)}e.shift()}return t},s=function(r){return function(s,i,n){try{var l=Array.from(t.Errors(r,s));return n.shouldUseNativeValidation&&e({},n),Promise.resolve(l.length?{values:{},errors:o(a(l,!n.shouldUseNativeValidation&&"all"===n.criteriaMode),n)}:{errors:{},values:s})}catch(r){return Promise.reject(r)}}};export{s as typeboxResolver};
2
2
  //# sourceMappingURL=typebox.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"typebox.module.js","sources":["../src/typebox.ts"],"sourcesContent":["import { appendErrors, FieldError, FieldErrors } from 'react-hook-form';\nimport { toNestError, validateFieldsNatively } from '@hookform/resolvers';\nimport type { Resolver } from './types';\nimport { Value, ValueError } from '@sinclair/typebox/value';\n\nconst parseErrorSchema = (\n _errors: ValueError[],\n validateAllFieldCriteria: boolean,\n) => {\n const errors: Record<string, FieldError> = {};\n for (; _errors.length; ) {\n const error = _errors[0];\n const { type, message, path } = error;\n const _path = path.substring(1).replace(/\\//g, '.');\n\n if (!errors[_path]) {\n errors[_path] = { message, type: '' + type };\n }\n\n if (validateAllFieldCriteria) {\n const types = errors[_path].types;\n const messages = types && types['' + type];\n\n errors[_path] = appendErrors(\n _path,\n validateAllFieldCriteria,\n errors,\n '' + type,\n messages\n ? ([] as string[]).concat(messages as string[], error.message)\n : error.message,\n ) as FieldError;\n }\n\n _errors.shift();\n }\n\n return errors;\n};\n\nexport const typeboxResolver: Resolver =\n (schema) => async (values, _, options) => {\n const errors = Array.from(Value.Errors(schema, values));\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n if (!errors.length) {\n return {\n errors: {} as FieldErrors,\n values,\n };\n }\n\n return {\n values: {},\n errors: toNestError(\n parseErrorSchema(\n errors,\n !options.shouldUseNativeValidation && options.criteriaMode === 'all',\n ),\n options,\n ),\n };\n };\n"],"names":["parseErrorSchema","_errors","validateAllFieldCriteria","errors","length","error","type","message","_path","path","substring","replace","types","messages","appendErrors","concat","shift","typeboxResolver","schema","values","_","options","Array","from","Value","Errors","shouldUseNativeValidation","validateFieldsNatively","Promise","resolve","toNestError","criteriaMode","e","reject"],"mappings":"6KAKA,IAAMA,EAAmB,SACvBC,EACAC,GAGA,IADA,IAAMC,EAAqC,CAAE,EACtCF,EAAQG,QAAU,CACvB,IAAMC,EAAQJ,EAAQ,GACdK,EAAwBD,EAAxBC,KAAMC,EAAkBF,EAAlBE,QACRC,EAD0BH,EAATI,KACJC,UAAU,GAAGC,QAAQ,MAAO,KAM/C,GAJKR,EAAOK,KACVL,EAAOK,GAAS,CAAED,QAAAA,EAASD,KAAM,GAAKA,IAGpCJ,EAA0B,CAC5B,IAAMU,EAAQT,EAAOK,GAAOI,MACtBC,EAAWD,GAASA,EAAM,GAAKN,GAErCH,EAAOK,GAASM,EACdN,EACAN,EACAC,EACA,GAAKG,EACLO,EACK,GAAgBE,OAAOF,EAAsBR,EAAME,SACpDF,EAAME,QAEb,CAEDN,EAAQe,OACT,CAED,OAAOb,CACT,EAEac,EACX,SAACC,GAAM,OAAA,SAAYC,EAAQC,EAAGC,GAAW,IACvC,IAAMlB,EAASmB,MAAMC,KAAKC,EAAMC,OAAOP,EAAQC,IAI/C,OAFAE,EAAQK,2BAA6BC,EAAuB,CAAA,EAAIN,GAShEO,QAAAC,QAPK1B,EAAOC,OAOL,CACLe,OAAQ,CAAE,EACVhB,OAAQ2B,EACN9B,EACEG,GACCkB,EAAQK,2BAAsD,QAAzBL,EAAQU,cAEhDV,IAbK,CACLlB,OAAQ,GACRgB,OAAAA,GAcN,CAAC,MAAAa,GAAAJ,OAAAA,QAAAK,OAAAD,EAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"typebox.module.js","sources":["../src/typebox.ts"],"sourcesContent":["import { appendErrors, FieldError, FieldErrors } from 'react-hook-form';\nimport { toNestErrors, validateFieldsNatively } from '@hookform/resolvers';\nimport type { Resolver } from './types';\nimport { Value, ValueError } from '@sinclair/typebox/value';\n\nconst parseErrorSchema = (\n _errors: ValueError[],\n validateAllFieldCriteria: boolean,\n) => {\n const errors: Record<string, FieldError> = {};\n for (; _errors.length; ) {\n const error = _errors[0];\n const { type, message, path } = error;\n const _path = path.substring(1).replace(/\\//g, '.');\n\n if (!errors[_path]) {\n errors[_path] = { message, type: '' + type };\n }\n\n if (validateAllFieldCriteria) {\n const types = errors[_path].types;\n const messages = types && types['' + type];\n\n errors[_path] = appendErrors(\n _path,\n validateAllFieldCriteria,\n errors,\n '' + type,\n messages\n ? ([] as string[]).concat(messages as string[], error.message)\n : error.message,\n ) as FieldError;\n }\n\n _errors.shift();\n }\n\n return errors;\n};\n\nexport const typeboxResolver: Resolver =\n (schema) => async (values, _, options) => {\n const errors = Array.from(Value.Errors(schema, values));\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n if (!errors.length) {\n return {\n errors: {} as FieldErrors,\n values,\n };\n }\n\n return {\n values: {},\n errors: toNestErrors(\n parseErrorSchema(\n errors,\n !options.shouldUseNativeValidation && options.criteriaMode === 'all',\n ),\n options,\n ),\n };\n };\n"],"names":["parseErrorSchema","_errors","validateAllFieldCriteria","errors","length","error","type","message","_path","path","substring","replace","types","messages","appendErrors","concat","shift","typeboxResolver","schema","values","_","options","Array","from","Value","Errors","shouldUseNativeValidation","validateFieldsNatively","Promise","resolve","toNestErrors","criteriaMode","e","reject"],"mappings":"8KAKA,IAAMA,EAAmB,SACvBC,EACAC,GAGA,IADA,IAAMC,EAAqC,CAAE,EACtCF,EAAQG,QAAU,CACvB,IAAMC,EAAQJ,EAAQ,GACdK,EAAwBD,EAAxBC,KAAMC,EAAkBF,EAAlBE,QACRC,EAD0BH,EAATI,KACJC,UAAU,GAAGC,QAAQ,MAAO,KAM/C,GAJKR,EAAOK,KACVL,EAAOK,GAAS,CAAED,QAAAA,EAASD,KAAM,GAAKA,IAGpCJ,EAA0B,CAC5B,IAAMU,EAAQT,EAAOK,GAAOI,MACtBC,EAAWD,GAASA,EAAM,GAAKN,GAErCH,EAAOK,GAASM,EACdN,EACAN,EACAC,EACA,GAAKG,EACLO,EACK,GAAgBE,OAAOF,EAAsBR,EAAME,SACpDF,EAAME,QAEb,CAEDN,EAAQe,OACT,CAED,OAAOb,CACT,EAEac,EACX,SAACC,GAAkBC,OAAAA,SAAAA,EAAQC,EAAGC,GAAO,IACnC,IAAMlB,EAASmB,MAAMC,KAAKC,EAAMC,OAAOP,EAAQC,IAI/C,OAFAE,EAAQK,2BAA6BC,EAAuB,CAAA,EAAIN,GAShEO,QAAAC,QAPK1B,EAAOC,OAOL,CACLe,OAAQ,CAAE,EACVhB,OAAQ2B,EACN9B,EACEG,GACCkB,EAAQK,2BAAsD,QAAzBL,EAAQU,cAEhDV,IAbK,CACLlB,OAAQ,GACRgB,OAAAA,GAcN,CAAC,MAAAa,GAAAJ,OAAAA,QAAAK,OAAAD,EAAA,CAAA,CAAA"}
@@ -1,2 +1,2 @@
1
- !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("react-hook-form"),require("@hookform/resolvers"),require("@sinclair/typebox/value")):"function"==typeof define&&define.amd?define(["exports","react-hook-form","@hookform/resolvers","@sinclair/typebox/value"],r):r((e||self).hookformResolversTypebox={},e.ReactHookForm,e.hookformResolvers,e.value)}(this,function(e,r,o,t){var s=function(e,o){for(var t={};e.length;){var s=e[0],a=s.type,i=s.message,l=s.path.substring(1).replace(/\//g,".");if(t[l]||(t[l]={message:i,type:""+a}),o){var n=t[l].types,f=n&&n[""+a];t[l]=r.appendErrors(l,o,t,""+a,f?[].concat(f,s.message):s.message)}e.shift()}return t};e.typeboxResolver=function(e){return function(r,a,i){try{var l=Array.from(t.Value.Errors(e,r));return i.shouldUseNativeValidation&&o.validateFieldsNatively({},i),Promise.resolve(l.length?{values:{},errors:o.toNestError(s(l,!i.shouldUseNativeValidation&&"all"===i.criteriaMode),i)}:{errors:{},values:r})}catch(e){return Promise.reject(e)}}}});
1
+ !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("react-hook-form"),require("@hookform/resolvers"),require("@sinclair/typebox/value")):"function"==typeof define&&define.amd?define(["exports","react-hook-form","@hookform/resolvers","@sinclair/typebox/value"],r):r((e||self).hookformResolversTypebox={},e.ReactHookForm,e.hookformResolvers,e.value)}(this,function(e,r,o,s){var t=function(e,o){for(var s={};e.length;){var t=e[0],a=t.type,i=t.message,l=t.path.substring(1).replace(/\//g,".");if(s[l]||(s[l]={message:i,type:""+a}),o){var n=s[l].types,f=n&&n[""+a];s[l]=r.appendErrors(l,o,s,""+a,f?[].concat(f,t.message):t.message)}e.shift()}return s};e.typeboxResolver=function(e){return function(r,a,i){try{var l=Array.from(s.Value.Errors(e,r));return i.shouldUseNativeValidation&&o.validateFieldsNatively({},i),Promise.resolve(l.length?{values:{},errors:o.toNestErrors(t(l,!i.shouldUseNativeValidation&&"all"===i.criteriaMode),i)}:{errors:{},values:r})}catch(e){return Promise.reject(e)}}}});
2
2
  //# sourceMappingURL=typebox.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"typebox.umd.js","sources":["../src/typebox.ts"],"sourcesContent":["import { appendErrors, FieldError, FieldErrors } from 'react-hook-form';\nimport { toNestError, validateFieldsNatively } from '@hookform/resolvers';\nimport type { Resolver } from './types';\nimport { Value, ValueError } from '@sinclair/typebox/value';\n\nconst parseErrorSchema = (\n _errors: ValueError[],\n validateAllFieldCriteria: boolean,\n) => {\n const errors: Record<string, FieldError> = {};\n for (; _errors.length; ) {\n const error = _errors[0];\n const { type, message, path } = error;\n const _path = path.substring(1).replace(/\\//g, '.');\n\n if (!errors[_path]) {\n errors[_path] = { message, type: '' + type };\n }\n\n if (validateAllFieldCriteria) {\n const types = errors[_path].types;\n const messages = types && types['' + type];\n\n errors[_path] = appendErrors(\n _path,\n validateAllFieldCriteria,\n errors,\n '' + type,\n messages\n ? ([] as string[]).concat(messages as string[], error.message)\n : error.message,\n ) as FieldError;\n }\n\n _errors.shift();\n }\n\n return errors;\n};\n\nexport const typeboxResolver: Resolver =\n (schema) => async (values, _, options) => {\n const errors = Array.from(Value.Errors(schema, values));\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n if (!errors.length) {\n return {\n errors: {} as FieldErrors,\n values,\n };\n }\n\n return {\n values: {},\n errors: toNestError(\n parseErrorSchema(\n errors,\n !options.shouldUseNativeValidation && options.criteriaMode === 'all',\n ),\n options,\n ),\n };\n };\n"],"names":["parseErrorSchema","_errors","validateAllFieldCriteria","errors","length","error","type","message","_path","path","substring","replace","types","messages","appendErrors","concat","shift","schema","values","_","options","Array","from","Value","Errors","shouldUseNativeValidation","validateFieldsNatively","Promise","resolve","toNestError","criteriaMode","e","reject"],"mappings":"mcAKA,IAAMA,EAAmB,SACvBC,EACAC,GAGA,IADA,IAAMC,EAAqC,CAAE,EACtCF,EAAQG,QAAU,CACvB,IAAMC,EAAQJ,EAAQ,GACdK,EAAwBD,EAAxBC,KAAMC,EAAkBF,EAAlBE,QACRC,EAD0BH,EAATI,KACJC,UAAU,GAAGC,QAAQ,MAAO,KAM/C,GAJKR,EAAOK,KACVL,EAAOK,GAAS,CAAED,QAAAA,EAASD,KAAM,GAAKA,IAGpCJ,EAA0B,CAC5B,IAAMU,EAAQT,EAAOK,GAAOI,MACtBC,EAAWD,GAASA,EAAM,GAAKN,GAErCH,EAAOK,GAASM,EAAYA,aAC1BN,EACAN,EACAC,EACA,GAAKG,EACLO,EACK,GAAgBE,OAAOF,EAAsBR,EAAME,SACpDF,EAAME,QAEb,CAEDN,EAAQe,OACT,CAED,OAAOb,CACT,oBAGE,SAACc,GAAM,OAAA,SAAYC,EAAQC,EAAGC,GAAW,IACvC,IAAMjB,EAASkB,MAAMC,KAAKC,EAAAA,MAAMC,OAAOP,EAAQC,IAI/C,OAFAE,EAAQK,2BAA6BC,EAAAA,uBAAuB,CAAA,EAAIN,GAShEO,QAAAC,QAPKzB,EAAOC,OAOL,CACLc,OAAQ,CAAE,EACVf,OAAQ0B,EAAAA,YACN7B,EACEG,GACCiB,EAAQK,2BAAsD,QAAzBL,EAAQU,cAEhDV,IAbK,CACLjB,OAAQ,GACRe,OAAAA,GAcN,CAAC,MAAAa,GAAAJ,OAAAA,QAAAK,OAAAD,EAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"typebox.umd.js","sources":["../src/typebox.ts"],"sourcesContent":["import { appendErrors, FieldError, FieldErrors } from 'react-hook-form';\nimport { toNestErrors, validateFieldsNatively } from '@hookform/resolvers';\nimport type { Resolver } from './types';\nimport { Value, ValueError } from '@sinclair/typebox/value';\n\nconst parseErrorSchema = (\n _errors: ValueError[],\n validateAllFieldCriteria: boolean,\n) => {\n const errors: Record<string, FieldError> = {};\n for (; _errors.length; ) {\n const error = _errors[0];\n const { type, message, path } = error;\n const _path = path.substring(1).replace(/\\//g, '.');\n\n if (!errors[_path]) {\n errors[_path] = { message, type: '' + type };\n }\n\n if (validateAllFieldCriteria) {\n const types = errors[_path].types;\n const messages = types && types['' + type];\n\n errors[_path] = appendErrors(\n _path,\n validateAllFieldCriteria,\n errors,\n '' + type,\n messages\n ? ([] as string[]).concat(messages as string[], error.message)\n : error.message,\n ) as FieldError;\n }\n\n _errors.shift();\n }\n\n return errors;\n};\n\nexport const typeboxResolver: Resolver =\n (schema) => async (values, _, options) => {\n const errors = Array.from(Value.Errors(schema, values));\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n if (!errors.length) {\n return {\n errors: {} as FieldErrors,\n values,\n };\n }\n\n return {\n values: {},\n errors: toNestErrors(\n parseErrorSchema(\n errors,\n !options.shouldUseNativeValidation && options.criteriaMode === 'all',\n ),\n options,\n ),\n };\n };\n"],"names":["parseErrorSchema","_errors","validateAllFieldCriteria","errors","length","error","type","message","_path","path","substring","replace","types","messages","appendErrors","concat","shift","schema","values","_","options","Array","from","Value","Errors","shouldUseNativeValidation","validateFieldsNatively","Promise","resolve","toNestErrors","criteriaMode","e","reject"],"mappings":"mcAKA,IAAMA,EAAmB,SACvBC,EACAC,GAGA,IADA,IAAMC,EAAqC,CAAE,EACtCF,EAAQG,QAAU,CACvB,IAAMC,EAAQJ,EAAQ,GACdK,EAAwBD,EAAxBC,KAAMC,EAAkBF,EAAlBE,QACRC,EAD0BH,EAATI,KACJC,UAAU,GAAGC,QAAQ,MAAO,KAM/C,GAJKR,EAAOK,KACVL,EAAOK,GAAS,CAAED,QAAAA,EAASD,KAAM,GAAKA,IAGpCJ,EAA0B,CAC5B,IAAMU,EAAQT,EAAOK,GAAOI,MACtBC,EAAWD,GAASA,EAAM,GAAKN,GAErCH,EAAOK,GAASM,EAAYA,aAC1BN,EACAN,EACAC,EACA,GAAKG,EACLO,EACK,GAAgBE,OAAOF,EAAsBR,EAAME,SACpDF,EAAME,QAEb,CAEDN,EAAQe,OACT,CAED,OAAOb,CACT,oBAGE,SAACc,GAAkBC,OAAAA,SAAAA,EAAQC,EAAGC,GAAO,IACnC,IAAMjB,EAASkB,MAAMC,KAAKC,EAAAA,MAAMC,OAAOP,EAAQC,IAI/C,OAFAE,EAAQK,2BAA6BC,EAAAA,uBAAuB,CAAA,EAAIN,GAShEO,QAAAC,QAPKzB,EAAOC,OAOL,CACLc,OAAQ,CAAE,EACVf,OAAQ0B,EAAAA,aACN7B,EACEG,GACCiB,EAAQK,2BAAsD,QAAzBL,EAAQU,cAEhDV,IAbK,CACLjB,OAAQ,GACRe,OAAAA,GAcN,CAAC,MAAAa,GAAAJ,OAAAA,QAAAK,OAAAD,EAAA,CAAA,CAAA"}
@@ -1,10 +1,5 @@
1
1
  import { Field, InternalFieldName } from 'react-hook-form';
2
2
  import { Static, Type } from '@sinclair/typebox';
3
- import { TypeSystem } from '@sinclair/typebox/system';
4
-
5
- TypeSystem.CreateFormat('email', (value: string) => {
6
- return /^\S+@\S+$/.test(value);
7
- });
8
3
 
9
4
  export const schema = Type.Object({
10
5
  username: Type.String({
@@ -24,7 +19,7 @@ export const schema = Type.Object({
24
19
  maximum: 2013,
25
20
  }),
26
21
  ),
27
- email: Type.Optional(Type.String({ format: 'email' })),
22
+ email: Type.Optional(Type.RegExp(/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i)),
28
23
  tags: Type.Array(Type.String()),
29
24
  enabled: Type.Boolean(),
30
25
  like: Type.Optional(
@@ -43,7 +38,7 @@ export const validData: Static<typeof schema> = {
43
38
  password: 'Password123_',
44
39
  repeatPassword: 'Password123_',
45
40
  birthYear: 2000,
46
- email: 'tsulatsitamim@gmail.com',
41
+ email: 'google@gmail.com',
47
42
  tags: ['tag1', 'tag2'],
48
43
  enabled: true,
49
44
  accessToken: 'accessToken',
@@ -4,43 +4,43 @@ exports[`typeboxResolver > should return a single error from typeboxResolver whe
4
4
  {
5
5
  "errors": {
6
6
  "accessToken": {
7
- "message": "Expected value of union",
7
+ "message": "Required property",
8
8
  "ref": undefined,
9
- "type": "53",
9
+ "type": "45",
10
10
  },
11
11
  "birthYear": {
12
12
  "message": "Expected number",
13
13
  "ref": undefined,
14
- "type": "29",
14
+ "type": "41",
15
15
  },
16
16
  "dateStr": {
17
- "message": "Expected Date object",
17
+ "message": "Required property",
18
18
  "ref": undefined,
19
- "type": "11",
19
+ "type": "45",
20
20
  },
21
21
  "email": {
22
- "message": "Expected string to match format 'email'",
22
+ "message": "Expected string to match '^[a-z0-9!#$%&'*+/=?^_\`{|}~-]+(?:\\\\.[a-z0-9!#$%&'*+/=?^_\`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$'",
23
23
  "ref": {
24
24
  "name": "email",
25
25
  },
26
- "type": "48",
26
+ "type": "52",
27
27
  },
28
28
  "enabled": {
29
- "message": "Expected boolean",
29
+ "message": "Required property",
30
30
  "ref": undefined,
31
- "type": "10",
31
+ "type": "45",
32
32
  },
33
33
  "like": [
34
34
  {
35
35
  "id": {
36
36
  "message": "Expected number",
37
37
  "ref": undefined,
38
- "type": "29",
38
+ "type": "41",
39
39
  },
40
40
  "name": {
41
- "message": "Expected string",
41
+ "message": "Required property",
42
42
  "ref": undefined,
43
- "type": "43",
43
+ "type": "45",
44
44
  },
45
45
  },
46
46
  ],
@@ -49,24 +49,24 @@ exports[`typeboxResolver > should return a single error from typeboxResolver whe
49
49
  "ref": {
50
50
  "name": "password",
51
51
  },
52
- "type": "44",
52
+ "type": "51",
53
53
  },
54
54
  "repeatPassword": {
55
- "message": "Expected string",
55
+ "message": "Required property",
56
56
  "ref": undefined,
57
- "type": "43",
57
+ "type": "45",
58
58
  },
59
59
  "tags": {
60
- "message": "Expected array",
60
+ "message": "Required property",
61
61
  "ref": undefined,
62
- "type": "0",
62
+ "type": "45",
63
63
  },
64
64
  "username": {
65
- "message": "Expected string",
65
+ "message": "Required property",
66
66
  "ref": {
67
67
  "name": "username",
68
68
  },
69
- "type": "43",
69
+ "type": "45",
70
70
  },
71
71
  },
72
72
  "values": {},
@@ -77,50 +77,48 @@ exports[`typeboxResolver > should return all the errors from typeboxResolver whe
77
77
  {
78
78
  "errors": {
79
79
  "accessToken": {
80
- "message": "Expected value of union",
80
+ "message": "Required property",
81
81
  "ref": undefined,
82
- "type": "53",
82
+ "type": "45",
83
83
  "types": {
84
- "29": "Expected number",
85
- "39": "Expected required property",
86
- "43": "Expected string",
87
- "53": "Expected value of union",
84
+ "45": "Required property",
85
+ "61": "Expected union value",
88
86
  },
89
87
  },
90
88
  "birthYear": {
91
89
  "message": "Expected number",
92
90
  "ref": undefined,
93
- "type": "29",
91
+ "type": "41",
94
92
  "types": {
95
- "29": "Expected number",
93
+ "41": "Expected number",
96
94
  },
97
95
  },
98
96
  "dateStr": {
99
- "message": "Expected Date object",
97
+ "message": "Required property",
100
98
  "ref": undefined,
101
- "type": "11",
99
+ "type": "45",
102
100
  "types": {
103
- "11": "Expected Date object",
104
- "39": "Expected required property",
101
+ "20": "Expected Date",
102
+ "45": "Required property",
105
103
  },
106
104
  },
107
105
  "email": {
108
- "message": "Expected string to match format 'email'",
106
+ "message": "Expected string to match '^[a-z0-9!#$%&'*+/=?^_\`{|}~-]+(?:\\\\.[a-z0-9!#$%&'*+/=?^_\`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$'",
109
107
  "ref": {
110
108
  "name": "email",
111
109
  },
112
- "type": "48",
110
+ "type": "52",
113
111
  "types": {
114
- "48": "Expected string to match format 'email'",
112
+ "52": "Expected string to match '^[a-z0-9!#$%&'*+/=?^_\`{|}~-]+(?:\\\\.[a-z0-9!#$%&'*+/=?^_\`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$'",
115
113
  },
116
114
  },
117
115
  "enabled": {
118
- "message": "Expected boolean",
116
+ "message": "Required property",
119
117
  "ref": undefined,
120
- "type": "10",
118
+ "type": "45",
121
119
  "types": {
122
- "10": "Expected boolean",
123
- "39": "Expected required property",
120
+ "14": "Expected boolean",
121
+ "45": "Required property",
124
122
  },
125
123
  },
126
124
  "like": [
@@ -128,18 +126,18 @@ exports[`typeboxResolver > should return all the errors from typeboxResolver whe
128
126
  "id": {
129
127
  "message": "Expected number",
130
128
  "ref": undefined,
131
- "type": "29",
129
+ "type": "41",
132
130
  "types": {
133
- "29": "Expected number",
131
+ "41": "Expected number",
134
132
  },
135
133
  },
136
134
  "name": {
137
- "message": "Expected string",
135
+ "message": "Required property",
138
136
  "ref": undefined,
139
- "type": "43",
137
+ "type": "45",
140
138
  "types": {
141
- "39": "Expected required property",
142
- "43": "Expected string",
139
+ "45": "Required property",
140
+ "53": "Expected string",
143
141
  },
144
142
  },
145
143
  },
@@ -149,39 +147,39 @@ exports[`typeboxResolver > should return all the errors from typeboxResolver whe
149
147
  "ref": {
150
148
  "name": "password",
151
149
  },
152
- "type": "44",
150
+ "type": "51",
153
151
  "types": {
154
- "44": "Expected string length greater or equal to 8",
155
- "46": "Expected string to match pattern ^(.*[A-Za-z\\\\d].*)$",
152
+ "51": "Expected string length greater or equal to 8",
153
+ "52": "Expected string to match '^(.*[A-Za-z\\\\d].*)$'",
156
154
  },
157
155
  },
158
156
  "repeatPassword": {
159
- "message": "Expected string",
157
+ "message": "Required property",
160
158
  "ref": undefined,
161
- "type": "43",
159
+ "type": "45",
162
160
  "types": {
163
- "39": "Expected required property",
164
- "43": "Expected string",
161
+ "45": "Required property",
162
+ "53": "Expected string",
165
163
  },
166
164
  },
167
165
  "tags": {
168
- "message": "Expected array",
166
+ "message": "Required property",
169
167
  "ref": undefined,
170
- "type": "0",
168
+ "type": "45",
171
169
  "types": {
172
- "0": "Expected array",
173
- "39": "Expected required property",
170
+ "45": "Required property",
171
+ "6": "Expected array",
174
172
  },
175
173
  },
176
174
  "username": {
177
- "message": "Expected string",
175
+ "message": "Required property",
178
176
  "ref": {
179
177
  "name": "username",
180
178
  },
181
- "type": "43",
179
+ "type": "45",
182
180
  "types": {
183
- "39": "Expected required property",
184
- "43": "Expected string",
181
+ "45": "Required property",
182
+ "53": "Expected string",
185
183
  },
186
184
  },
187
185
  },
@@ -1,5 +1,5 @@
1
1
  import { appendErrors, FieldError, FieldErrors } from 'react-hook-form';
2
- import { toNestError, validateFieldsNatively } from '@hookform/resolvers';
2
+ import { toNestErrors, validateFieldsNatively } from '@hookform/resolvers';
3
3
  import type { Resolver } from './types';
4
4
  import { Value, ValueError } from '@sinclair/typebox/value';
5
5
 
@@ -53,7 +53,7 @@ export const typeboxResolver: Resolver =
53
53
 
54
54
  return {
55
55
  values: {},
56
- errors: toNestError(
56
+ errors: toNestErrors(
57
57
  parseErrorSchema(
58
58
  errors,
59
59
  !options.shouldUseNativeValidation && options.criteriaMode === 'all',
@@ -1,2 +1,2 @@
1
- var r=require("@hookform/resolvers"),e=require("valibot"),t=function(r){var e=r.issues.reduce(function(r,e){if(e.path){var t=e.path.map(function(r){return r.key}).join(".");r[t]=[].concat(r[t]||[],[{message:e.message,type:e.validation}])}return r},{});return Object.entries(e).reduce(function(r,e){var t=e[1][0];return r[e[0]]={message:t.message,type:t.type},r},{})};exports.valibotResolver=function(n,o,s){return void 0===o&&(o={abortEarly:!1,abortPipeEarly:!1}),void 0===s&&(s={mode:"async",raw:!1}),function(a,i,u){try{return Promise.resolve(function(r,t){try{var i=function(){function r(r){return{values:i?a:r,errors:{}}}var t=s.mode,i=s.raw;return"sync"===t?r("sync"===t?e.parse(n,a,o):e.parseAsync(n,a,o)):Promise.resolve("sync"===t?e.parse(n,a,o):e.parseAsync(n,a,o)).then(r)}()}catch(r){return t(r)}return i&&i.then?i.then(void 0,t):i}(0,function(n){if(n instanceof e.ValiError)return{values:{},errors:r.toNestError(t(n),u)};throw n}))}catch(r){return Promise.reject(r)}}};
1
+ var r=require("@hookform/resolvers"),e=require("valibot"),t=require("react-hook-form"),o=function(r,e){for(var o={};r.issues.length;){var a=r.issues[0];if(a.path){var s=a.path.map(function(r){return r.key}).join(".");if(o[s]||(o[s]={message:a.message,type:a.validation}),e){var n=o[s].types,i=n&&n[a.validation];o[s]=t.appendErrors(s,e,o,a.validation,i?[].concat(i,a.message):a.message)}r.issues.shift()}}return o};exports.valibotResolver=function(t,a,s){return void 0===s&&(s={}),function(n,i,u){try{return Promise.resolve(function(r,o){try{var i=function(){function r(r){return{values:s.raw?n:r,errors:{}}}var o=Object.assign({},{abortEarly:!1,abortPipeEarly:!1},a);return"sync"===s.mode?r(e.parse(t,n,o)):Promise.resolve(e.parseAsync(t,n,o)).then(r)}()}catch(r){return o(r)}return i&&i.then?i.then(void 0,o):i}(0,function(t){if(t instanceof e.ValiError)return{values:{},errors:r.toNestErrors(o(t,!u.shouldUseNativeValidation&&"all"===u.criteriaMode),u)};throw t}))}catch(r){return Promise.reject(r)}}};
2
2
  //# sourceMappingURL=valibot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"valibot.js","sources":["../src/valibot.ts"],"sourcesContent":["import { toNestError } from '@hookform/resolvers';\nimport type { Resolver } from './types';\nimport {\n BaseSchema,\n BaseSchemaAsync,\n ValiError,\n parse,\n parseAsync,\n} from 'valibot';\nimport { FieldErrors, FieldError } from 'react-hook-form';\n\ntype FlatErrors = Record<string, [FieldError, ...FieldError[]]>;\n\nconst parseErrors = (error: ValiError): FieldErrors => {\n const errors = error.issues.reduce<FlatErrors>((flatErrors, issue) => {\n if (issue.path) {\n const path = issue.path.map(({ key }) => key).join('.');\n flatErrors[path] = [\n ...(flatErrors[path] || []),\n {\n message: issue.message,\n type: issue.validation,\n },\n ];\n }\n\n return flatErrors;\n }, {});\n\n return Object.entries(errors).reduce<FieldErrors>((acc, [path, errors]) => {\n const [firstError] = errors;\n acc[path] = {\n message: firstError.message,\n type: firstError.type,\n };\n\n return acc;\n }, {});\n};\n\nexport const valibotResolver: Resolver =\n (\n schema,\n schemaOptions = {\n abortEarly: false,\n abortPipeEarly: false,\n },\n resolverOptions = {\n mode: 'async',\n raw: false,\n },\n ) =>\n async (values, _, options) => {\n try {\n const { mode, raw } = resolverOptions;\n const parsed =\n mode === 'sync'\n ? parse(schema as BaseSchema, values, schemaOptions)\n : await parseAsync(\n schema as BaseSchema | BaseSchemaAsync,\n values,\n schemaOptions,\n );\n\n return { values: raw ? values : parsed, errors: {} as FieldErrors };\n } catch (error) {\n if (error instanceof ValiError) {\n return {\n values: {},\n errors: toNestError(parseErrors(error), options),\n };\n }\n\n throw error;\n }\n };\n"],"names":["parseErrors","error","errors","issues","reduce","flatErrors","issue","path","map","_ref","key","join","concat","message","type","validation","Object","entries","acc","_ref2","firstError","schema","schemaOptions","resolverOptions","values","abortEarly","abortPipeEarly","mode","raw","_","options","Promise","resolve","_temp","parsed","parse","parseAsync","then","_catch","ValiError","toNestError","e","reject"],"mappings":"0DAaMA,EAAc,SAACC,GACnB,IAAMC,EAASD,EAAME,OAAOC,OAAmB,SAACC,EAAYC,GAC1D,GAAIA,EAAMC,KAAM,CACd,IAAMA,EAAOD,EAAMC,KAAKC,IAAI,SAAAC,UAAMA,EAAHC,GAAa,GAAEC,KAAK,KACnDN,EAAWE,GAAKK,GAAAA,OACVP,EAAWE,IAAS,GAAE,CAC1B,CACEM,QAASP,EAAMO,QACfC,KAAMR,EAAMS,aAGjB,CAED,OAAOV,CACT,EAAG,CAAA,GAEH,OAAOW,OAAOC,QAAQf,GAAQE,OAAoB,SAACc,EAAGC,GAAoB,IACjEC,EAD4DD,KACxC,GAM3B,OALAD,EAF2DC,EAAA,IAE/C,CACVN,QAASO,EAAWP,QACpBC,KAAMM,EAAWN,MAGZI,CACT,EAAG,GACL,0BAGE,SACEG,EACAC,EAIAC,GAKKC,YATQ,IAAbF,IAAAA,EAAgB,CACdG,YAAY,EACZC,gBAAgB,SAEH,IAAfH,IAAAA,EAAkB,CAChBI,KAAM,QACNC,KAAK,IAGFJ,SAAAA,EAAQK,EAAGC,GAAO,IAAIC,OAAAA,QAAAC,gCAAA,WACvBC,SAAAA,EAEIC,GASN,MAAO,CAAEV,OAAQI,EAAMJ,EAASU,EAAQhC,OAAQ,GAAoB,CAVpE,IAAQyB,EAAcJ,EAAdI,KAAMC,EAAQL,EAARK,IAAwB,MAE3B,SAATD,EAAeM,EAAN,SAATN,EACIQ,EAAAA,MAAMd,EAAsBG,EAAQF,GAC9Bc,EAAAA,WACJf,EACAG,EACAF,IACDS,QAAAC,QANI,SAATL,EACIQ,EAAAA,MAAMd,EAAsBG,EAAQF,GAC9Bc,EAAAA,WACJf,EACAG,EACAF,IACDe,KAAAJ,EAGR,6DAb0BK,CAAA,EAa1B,SAAQrC,GACP,GAAIA,aAAiBsC,YACnB,MAAO,CACLf,OAAQ,GACRtB,OAAQsC,EAAAA,YAAYxC,EAAYC,GAAQ6B,IAI5C,MAAM7B,CACP,GACH,CAAC,MAAAwC,UAAAV,QAAAW,OAAAD,EAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"valibot.js","sources":["../src/valibot.ts"],"sourcesContent":["import { toNestErrors } from '@hookform/resolvers';\nimport type { Resolver } from './types';\nimport {\n BaseSchema,\n BaseSchemaAsync,\n ValiError,\n parse,\n parseAsync,\n} from 'valibot';\nimport { FieldErrors, FieldError, appendErrors } from 'react-hook-form';\nconst parseErrors = (\n valiErrors: ValiError,\n validateAllFieldCriteria: boolean,\n): FieldErrors => {\n const errors: Record<string, FieldError> = {};\n for (; valiErrors.issues.length; ) {\n const error = valiErrors.issues[0];\n if (!error.path) {\n continue;\n }\n const _path = error.path.map(({ key }) => key).join('.');\n\n if (!errors[_path]) {\n errors[_path] = { message: error.message, type: error.validation };\n }\n\n if (validateAllFieldCriteria) {\n const types = errors[_path].types;\n const messages = types && types[error.validation];\n\n errors[_path] = appendErrors(\n _path,\n validateAllFieldCriteria,\n errors,\n error.validation,\n messages\n ? ([] as string[]).concat(messages as string[], error.message)\n : error.message,\n ) as FieldError;\n }\n\n valiErrors.issues.shift();\n }\n\n return errors;\n};\n\nexport const valibotResolver: Resolver =\n (schema, schemaOptions, resolverOptions = {}) =>\n async (values, _, options) => {\n try {\n const schemaOpts = Object.assign(\n {},\n {\n abortEarly: false,\n abortPipeEarly: false,\n },\n schemaOptions,\n );\n\n const parsed =\n resolverOptions.mode === 'sync'\n ? parse(schema as BaseSchema, values, schemaOpts)\n : await parseAsync(\n schema as BaseSchema | BaseSchemaAsync,\n values,\n schemaOpts,\n );\n\n return {\n values: resolverOptions.raw ? values : parsed,\n errors: {} as FieldErrors,\n };\n } catch (error) {\n if (error instanceof ValiError) {\n return {\n values: {},\n errors: toNestErrors(\n parseErrors(\n error,\n !options.shouldUseNativeValidation &&\n options.criteriaMode === 'all',\n ),\n options,\n ),\n };\n }\n\n throw error;\n }\n };\n"],"names":["parseErrors","valiErrors","validateAllFieldCriteria","errors","issues","length","error","path","_path","map","_ref","key","join","message","type","validation","types","messages","appendErrors","concat","shift","schema","schemaOptions","resolverOptions","values","_","options","Promise","resolve","_temp2","parsed","raw","schemaOpts","Object","assign","abortEarly","abortPipeEarly","mode","parse","parseAsync","then","_catch","ValiError","toNestErrors","shouldUseNativeValidation","criteriaMode","e","reject"],"mappings":"uFAUMA,EAAc,SAClBC,EACAC,GAGA,IADA,IAAMC,EAAqC,CAAA,EACpCF,EAAWG,OAAOC,QAAU,CACjC,IAAMC,EAAQL,EAAWG,OAAO,GAChC,GAAKE,EAAMC,KAAX,CAGA,IAAMC,EAAQF,EAAMC,KAAKE,IAAI,SAAAC,UAAMA,EAAHC,GAAa,GAAEC,KAAK,KAMpD,GAJKT,EAAOK,KACVL,EAAOK,GAAS,CAAEK,QAASP,EAAMO,QAASC,KAAMR,EAAMS,aAGpDb,EAA0B,CAC5B,IAAMc,EAAQb,EAAOK,GAAOQ,MACtBC,EAAWD,GAASA,EAAMV,EAAMS,YAEtCZ,EAAOK,GAASU,EAAAA,aACdV,EACAN,EACAC,EACAG,EAAMS,WACNE,EACK,GAAgBE,OAAOF,EAAsBX,EAAMO,SACpDP,EAAMO,QAEb,CAEDZ,EAAWG,OAAOgB,OAtBjB,CAuBF,CAED,OAAOjB,CACT,0BAGE,SAACkB,EAAQC,EAAeC,GAAoB,gBAApBA,IAAAA,EAAkB,CAAE,GAAA,SACrCC,EAAQC,EAAGC,GAAW,IAAA,OAAAC,QAAAC,gCACvB,WAAA,SAAAC,EAUIC,GASN,MAAO,CACLN,OAAQD,EAAgBQ,IAAMP,EAASM,EACvC3B,OAAQ,GACR,CArBF,IAAM6B,EAAaC,OAAOC,OACxB,CAAE,EACF,CACEC,YAAY,EACZC,gBAAgB,GAElBd,GAI+B,MAAN,SAAzBC,EAAgBc,KAAeR,EAC3BS,EAAKA,MAACjB,EAAsBG,EAAQQ,IAAWL,QAAAC,QACzCW,EAAAA,WACJlB,EACAG,EACAQ,IACDQ,KAAAX,EAMR,6DAxB0BY,CACvB,EAuBH,SAAQnC,GACP,GAAIA,aAAiBoC,EAAAA,UACnB,MAAO,CACLlB,OAAQ,GACRrB,OAAQwC,EAAAA,aACN3C,EACEM,GACCoB,EAAQkB,2BACkB,QAAzBlB,EAAQmB,cAEZnB,IAKN,MAAMpB,CACP,GACH,CAAC,MAAAwC,UAAAnB,QAAAoB,OAAAD,EAAA,CAAA,CAAA"}
@@ -1,2 +1,2 @@
1
- import{toNestError as r}from"@hookform/resolvers";import{parse as e,parseAsync as t,ValiError as n}from"valibot";var o=function(r){var e=r.issues.reduce(function(r,e){if(e.path){var t=e.path.map(function(r){return r.key}).join(".");r[t]=[].concat(r[t]||[],[{message:e.message,type:e.validation}])}return r},{});return Object.entries(e).reduce(function(r,e){var t=e[1][0];return r[e[0]]={message:t.message,type:t.type},r},{})},a=function(a,i,s){return void 0===i&&(i={abortEarly:!1,abortPipeEarly:!1}),void 0===s&&(s={mode:"async",raw:!1}),function(u,c,f){try{return Promise.resolve(function(r,n){try{var o=function(){function r(r){return{values:o?u:r,errors:{}}}var n=s.mode,o=s.raw;return"sync"===n?r("sync"===n?e(a,u,i):t(a,u,i)):Promise.resolve("sync"===n?e(a,u,i):t(a,u,i)).then(r)}()}catch(r){return n(r)}return o&&o.then?o.then(void 0,n):o}(0,function(e){if(e instanceof n)return{values:{},errors:r(o(e),f)};throw e}))}catch(r){return Promise.reject(r)}}};export{a as valibotResolver};
1
+ import{toNestErrors as r}from"@hookform/resolvers";import{parse as e,parseAsync as t,ValiError as o}from"valibot";import{appendErrors as n}from"react-hook-form";var a=function(r,e){for(var t={};r.issues.length;){var o=r.issues[0];if(o.path){var a=o.path.map(function(r){return r.key}).join(".");if(t[a]||(t[a]={message:o.message,type:o.validation}),e){var i=t[a].types,s=i&&i[o.validation];t[a]=n(a,e,t,o.validation,s?[].concat(s,o.message):o.message)}r.issues.shift()}}return t},i=function(n,i,s){return void 0===s&&(s={}),function(u,c,f){try{return Promise.resolve(function(r,o){try{var a=function(){function r(r){return{values:s.raw?u:r,errors:{}}}var o=Object.assign({},{abortEarly:!1,abortPipeEarly:!1},i);return"sync"===s.mode?r(e(n,u,o)):Promise.resolve(t(n,u,o)).then(r)}()}catch(r){return o(r)}return a&&a.then?a.then(void 0,o):a}(0,function(e){if(e instanceof o)return{values:{},errors:r(a(e,!f.shouldUseNativeValidation&&"all"===f.criteriaMode),f)};throw e}))}catch(r){return Promise.reject(r)}}};export{i as valibotResolver};
2
2
  //# sourceMappingURL=valibot.module.js.map
@@ -1,2 +1,2 @@
1
- import{toNestError as e}from"@hookform/resolvers";import{parse as r,parseAsync as t,ValiError as s}from"valibot";const o=e=>{const r=e.issues.reduce((e,r)=>{if(r.path){const t=r.path.map(({key:e})=>e).join(".");e[t]=[...e[t]||[],{message:r.message,type:r.validation}]}return e},{});return Object.entries(r).reduce((e,[r,t])=>{const[s]=t;return e[r]={message:s.message,type:s.type},e},{})},a=(a,n={abortEarly:!1,abortPipeEarly:!1},c={mode:"async",raw:!1})=>async(i,m,p)=>{try{const{mode:e,raw:s}=c,o="sync"===e?r(a,i,n):await t(a,i,n);return{values:s?i:o,errors:{}}}catch(r){if(r instanceof s)return{values:{},errors:e(o(r),p)};throw r}};export{a as valibotResolver};
1
+ import{toNestErrors as o}from"@hookform/resolvers";import{parse as s,parseAsync as t,ValiError as e}from"valibot";import{appendErrors as a}from"react-hook-form";const r=(o,s)=>{const t={};for(;o.issues.length;){const e=o.issues[0];if(!e.path)continue;const r=e.path.map(({key:o})=>o).join(".");if(t[r]||(t[r]={message:e.message,type:e.validation}),s){const o=t[r].types,i=o&&o[e.validation];t[r]=a(r,s,t,e.validation,i?[].concat(i,e.message):e.message)}o.issues.shift()}return t},i=(a,i,n={})=>async(c,l,m)=>{try{const o=Object.assign({},{abortEarly:!1,abortPipeEarly:!1},i),e="sync"===n.mode?s(a,c,o):await t(a,c,o);return{values:n.raw?c:e,errors:{}}}catch(s){if(s instanceof e)return{values:{},errors:o(r(s,!m.shouldUseNativeValidation&&"all"===m.criteriaMode),m)};throw s}};export{i as valibotResolver};
2
2
  //# sourceMappingURL=valibot.modern.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"valibot.modern.mjs","sources":["../src/valibot.ts"],"sourcesContent":["import { toNestError } from '@hookform/resolvers';\nimport type { Resolver } from './types';\nimport {\n BaseSchema,\n BaseSchemaAsync,\n ValiError,\n parse,\n parseAsync,\n} from 'valibot';\nimport { FieldErrors, FieldError } from 'react-hook-form';\n\ntype FlatErrors = Record<string, [FieldError, ...FieldError[]]>;\n\nconst parseErrors = (error: ValiError): FieldErrors => {\n const errors = error.issues.reduce<FlatErrors>((flatErrors, issue) => {\n if (issue.path) {\n const path = issue.path.map(({ key }) => key).join('.');\n flatErrors[path] = [\n ...(flatErrors[path] || []),\n {\n message: issue.message,\n type: issue.validation,\n },\n ];\n }\n\n return flatErrors;\n }, {});\n\n return Object.entries(errors).reduce<FieldErrors>((acc, [path, errors]) => {\n const [firstError] = errors;\n acc[path] = {\n message: firstError.message,\n type: firstError.type,\n };\n\n return acc;\n }, {});\n};\n\nexport const valibotResolver: Resolver =\n (\n schema,\n schemaOptions = {\n abortEarly: false,\n abortPipeEarly: false,\n },\n resolverOptions = {\n mode: 'async',\n raw: false,\n },\n ) =>\n async (values, _, options) => {\n try {\n const { mode, raw } = resolverOptions;\n const parsed =\n mode === 'sync'\n ? parse(schema as BaseSchema, values, schemaOptions)\n : await parseAsync(\n schema as BaseSchema | BaseSchemaAsync,\n values,\n schemaOptions,\n );\n\n return { values: raw ? values : parsed, errors: {} as FieldErrors };\n } catch (error) {\n if (error instanceof ValiError) {\n return {\n values: {},\n errors: toNestError(parseErrors(error), options),\n };\n }\n\n throw error;\n }\n };\n"],"names":["parseErrors","error","errors","issues","reduce","flatErrors","issue","path","map","key","join","message","type","validation","Object","entries","acc","firstError","valibotResolver","schema","schemaOptions","abortEarly","abortPipeEarly","resolverOptions","mode","raw","async","values","_","options","parsed","parse","parseAsync","ValiError","toNestError"],"mappings":"iHAaA,MAAMA,EAAeC,IACnB,MAAMC,EAASD,EAAME,OAAOC,OAAmB,CAACC,EAAYC,KAC1D,GAAIA,EAAMC,KAAM,CACd,MAAMA,EAAOD,EAAMC,KAAKC,IAAI,EAAGC,SAAUA,GAAKC,KAAK,KACnDL,EAAWE,GAAQ,IACbF,EAAWE,IAAS,GACxB,CACEI,QAASL,EAAMK,QACfC,KAAMN,EAAMO,YAGjB,CAED,OAAOR,GACN,CAAE,GAEL,OAAOS,OAAOC,QAAQb,GAAQE,OAAoB,CAACY,GAAMT,EAAML,MAC7D,MAAOe,GAAcf,EAMrB,OALAc,EAAIT,GAAQ,CACVI,QAASM,EAAWN,QACpBC,KAAMK,EAAWL,MAGZI,GACN,CAAA,EAAE,EAGME,EACXA,CACEC,EACAC,EAAgB,CACdC,YAAY,EACZC,gBAAgB,GAElBC,EAAkB,CAChBC,KAAM,QACNC,KAAK,KAGTC,MAAOC,EAAQC,EAAGC,KAChB,IACE,MAAML,KAAEA,EAAIC,IAAEA,GAAQF,EAChBO,EACK,SAATN,EACIO,EAAMZ,EAAsBQ,EAAQP,SAC9BY,EACJb,EACAQ,EACAP,GAGR,MAAO,CAAEO,OAAQF,EAAME,EAASG,EAAQ5B,OAAQ,GACjD,CAAC,MAAOD,GACP,GAAIA,aAAiBgC,EACnB,MAAO,CACLN,OAAQ,CAAE,EACVzB,OAAQgC,EAAYlC,EAAYC,GAAQ4B,IAI5C,MAAM5B,CACP"}
1
+ {"version":3,"file":"valibot.modern.mjs","sources":["../src/valibot.ts"],"sourcesContent":["import { toNestErrors } from '@hookform/resolvers';\nimport type { Resolver } from './types';\nimport {\n BaseSchema,\n BaseSchemaAsync,\n ValiError,\n parse,\n parseAsync,\n} from 'valibot';\nimport { FieldErrors, FieldError, appendErrors } from 'react-hook-form';\nconst parseErrors = (\n valiErrors: ValiError,\n validateAllFieldCriteria: boolean,\n): FieldErrors => {\n const errors: Record<string, FieldError> = {};\n for (; valiErrors.issues.length; ) {\n const error = valiErrors.issues[0];\n if (!error.path) {\n continue;\n }\n const _path = error.path.map(({ key }) => key).join('.');\n\n if (!errors[_path]) {\n errors[_path] = { message: error.message, type: error.validation };\n }\n\n if (validateAllFieldCriteria) {\n const types = errors[_path].types;\n const messages = types && types[error.validation];\n\n errors[_path] = appendErrors(\n _path,\n validateAllFieldCriteria,\n errors,\n error.validation,\n messages\n ? ([] as string[]).concat(messages as string[], error.message)\n : error.message,\n ) as FieldError;\n }\n\n valiErrors.issues.shift();\n }\n\n return errors;\n};\n\nexport const valibotResolver: Resolver =\n (schema, schemaOptions, resolverOptions = {}) =>\n async (values, _, options) => {\n try {\n const schemaOpts = Object.assign(\n {},\n {\n abortEarly: false,\n abortPipeEarly: false,\n },\n schemaOptions,\n );\n\n const parsed =\n resolverOptions.mode === 'sync'\n ? parse(schema as BaseSchema, values, schemaOpts)\n : await parseAsync(\n schema as BaseSchema | BaseSchemaAsync,\n values,\n schemaOpts,\n );\n\n return {\n values: resolverOptions.raw ? values : parsed,\n errors: {} as FieldErrors,\n };\n } catch (error) {\n if (error instanceof ValiError) {\n return {\n values: {},\n errors: toNestErrors(\n parseErrors(\n error,\n !options.shouldUseNativeValidation &&\n options.criteriaMode === 'all',\n ),\n options,\n ),\n };\n }\n\n throw error;\n }\n };\n"],"names":["parseErrors","valiErrors","validateAllFieldCriteria","errors","issues","length","error","path","_path","map","key","join","message","type","validation","types","messages","appendErrors","concat","shift","valibotResolver","schema","schemaOptions","resolverOptions","async","values","_","options","schemaOpts","Object","assign","abortEarly","abortPipeEarly","parsed","mode","parse","parseAsync","raw","ValiError","toNestErrors","shouldUseNativeValidation","criteriaMode"],"mappings":"iKAUA,MAAMA,EAAcA,CAClBC,EACAC,KAEA,MAAMC,EAAqC,CAAE,EAC7C,KAAOF,EAAWG,OAAOC,QAAU,CACjC,MAAMC,EAAQL,EAAWG,OAAO,GAChC,IAAKE,EAAMC,KACT,SAEF,MAAMC,EAAQF,EAAMC,KAAKE,IAAI,EAAGC,SAAUA,GAAKC,KAAK,KAMpD,GAJKR,EAAOK,KACVL,EAAOK,GAAS,CAAEI,QAASN,EAAMM,QAASC,KAAMP,EAAMQ,aAGpDZ,EAA0B,CAC5B,MAAMa,EAAQZ,EAAOK,GAAOO,MACtBC,EAAWD,GAASA,EAAMT,EAAMQ,YAEtCX,EAAOK,GAASS,EACdT,EACAN,EACAC,EACAG,EAAMQ,WACNE,EACK,GAAgBE,OAAOF,EAAsBV,EAAMM,SACpDN,EAAMM,QAEb,CAEDX,EAAWG,OAAOe,OACnB,CAED,OAAOhB,GAGIiB,EACXA,CAACC,EAAQC,EAAeC,EAAkB,CAAE,IAC5CC,MAAOC,EAAQC,EAAGC,KAChB,IACE,MAAMC,EAAaC,OAAOC,OACxB,CAAE,EACF,CACEC,YAAY,EACZC,gBAAgB,GAElBV,GAGIW,EACqB,SAAzBV,EAAgBW,KACZC,EAAMd,EAAsBI,EAAQG,SAC9BQ,EACJf,EACAI,EACAG,GAGR,MAAO,CACLH,OAAQF,EAAgBc,IAAMZ,EAASQ,EACvC9B,OAAQ,GAEX,CAAC,MAAOG,GACP,GAAIA,aAAiBgC,EACnB,MAAO,CACLb,OAAQ,CAAE,EACVtB,OAAQoC,EACNvC,EACEM,GACCqB,EAAQa,2BACkB,QAAzBb,EAAQc,cAEZd,IAKN,MAAMrB,CACP"}
@@ -1,2 +1,2 @@
1
- import{toNestError as r}from"@hookform/resolvers";import{parse as e,parseAsync as t,ValiError as n}from"valibot";var o=function(r){var e=r.issues.reduce(function(r,e){if(e.path){var t=e.path.map(function(r){return r.key}).join(".");r[t]=[].concat(r[t]||[],[{message:e.message,type:e.validation}])}return r},{});return Object.entries(e).reduce(function(r,e){var t=e[1][0];return r[e[0]]={message:t.message,type:t.type},r},{})},a=function(a,i,s){return void 0===i&&(i={abortEarly:!1,abortPipeEarly:!1}),void 0===s&&(s={mode:"async",raw:!1}),function(u,c,f){try{return Promise.resolve(function(r,n){try{var o=function(){function r(r){return{values:o?u:r,errors:{}}}var n=s.mode,o=s.raw;return"sync"===n?r("sync"===n?e(a,u,i):t(a,u,i)):Promise.resolve("sync"===n?e(a,u,i):t(a,u,i)).then(r)}()}catch(r){return n(r)}return o&&o.then?o.then(void 0,n):o}(0,function(e){if(e instanceof n)return{values:{},errors:r(o(e),f)};throw e}))}catch(r){return Promise.reject(r)}}};export{a as valibotResolver};
1
+ import{toNestErrors as r}from"@hookform/resolvers";import{parse as e,parseAsync as t,ValiError as o}from"valibot";import{appendErrors as n}from"react-hook-form";var a=function(r,e){for(var t={};r.issues.length;){var o=r.issues[0];if(o.path){var a=o.path.map(function(r){return r.key}).join(".");if(t[a]||(t[a]={message:o.message,type:o.validation}),e){var i=t[a].types,s=i&&i[o.validation];t[a]=n(a,e,t,o.validation,s?[].concat(s,o.message):o.message)}r.issues.shift()}}return t},i=function(n,i,s){return void 0===s&&(s={}),function(u,c,f){try{return Promise.resolve(function(r,o){try{var a=function(){function r(r){return{values:s.raw?u:r,errors:{}}}var o=Object.assign({},{abortEarly:!1,abortPipeEarly:!1},i);return"sync"===s.mode?r(e(n,u,o)):Promise.resolve(t(n,u,o)).then(r)}()}catch(r){return o(r)}return a&&a.then?a.then(void 0,o):a}(0,function(e){if(e instanceof o)return{values:{},errors:r(a(e,!f.shouldUseNativeValidation&&"all"===f.criteriaMode),f)};throw e}))}catch(r){return Promise.reject(r)}}};export{i as valibotResolver};
2
2
  //# sourceMappingURL=valibot.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"valibot.module.js","sources":["../src/valibot.ts"],"sourcesContent":["import { toNestError } from '@hookform/resolvers';\nimport type { Resolver } from './types';\nimport {\n BaseSchema,\n BaseSchemaAsync,\n ValiError,\n parse,\n parseAsync,\n} from 'valibot';\nimport { FieldErrors, FieldError } from 'react-hook-form';\n\ntype FlatErrors = Record<string, [FieldError, ...FieldError[]]>;\n\nconst parseErrors = (error: ValiError): FieldErrors => {\n const errors = error.issues.reduce<FlatErrors>((flatErrors, issue) => {\n if (issue.path) {\n const path = issue.path.map(({ key }) => key).join('.');\n flatErrors[path] = [\n ...(flatErrors[path] || []),\n {\n message: issue.message,\n type: issue.validation,\n },\n ];\n }\n\n return flatErrors;\n }, {});\n\n return Object.entries(errors).reduce<FieldErrors>((acc, [path, errors]) => {\n const [firstError] = errors;\n acc[path] = {\n message: firstError.message,\n type: firstError.type,\n };\n\n return acc;\n }, {});\n};\n\nexport const valibotResolver: Resolver =\n (\n schema,\n schemaOptions = {\n abortEarly: false,\n abortPipeEarly: false,\n },\n resolverOptions = {\n mode: 'async',\n raw: false,\n },\n ) =>\n async (values, _, options) => {\n try {\n const { mode, raw } = resolverOptions;\n const parsed =\n mode === 'sync'\n ? parse(schema as BaseSchema, values, schemaOptions)\n : await parseAsync(\n schema as BaseSchema | BaseSchemaAsync,\n values,\n schemaOptions,\n );\n\n return { values: raw ? values : parsed, errors: {} as FieldErrors };\n } catch (error) {\n if (error instanceof ValiError) {\n return {\n values: {},\n errors: toNestError(parseErrors(error), options),\n };\n }\n\n throw error;\n }\n };\n"],"names":["parseErrors","error","errors","issues","reduce","flatErrors","issue","path","map","_ref","key","join","concat","message","type","validation","Object","entries","acc","_ref2","firstError","valibotResolver","schema","schemaOptions","resolverOptions","values","abortEarly","abortPipeEarly","mode","raw","_","options","Promise","resolve","_temp","parsed","parse","parseAsync","then","_catch","ValiError","toNestError","e","reject"],"mappings":"iHAaA,IAAMA,EAAc,SAACC,GACnB,IAAMC,EAASD,EAAME,OAAOC,OAAmB,SAACC,EAAYC,GAC1D,GAAIA,EAAMC,KAAM,CACd,IAAMA,EAAOD,EAAMC,KAAKC,IAAI,SAAAC,UAAMA,EAAHC,GAAa,GAAEC,KAAK,KACnDN,EAAWE,GAAKK,GAAAA,OACVP,EAAWE,IAAS,GAAE,CAC1B,CACEM,QAASP,EAAMO,QACfC,KAAMR,EAAMS,aAGjB,CAED,OAAOV,CACT,EAAG,CAAA,GAEH,OAAOW,OAAOC,QAAQf,GAAQE,OAAoB,SAACc,EAAGC,GAAoB,IACjEC,EAD4DD,KACxC,GAM3B,OALAD,EAF2DC,EAAA,IAE/C,CACVN,QAASO,EAAWP,QACpBC,KAAMM,EAAWN,MAGZI,CACT,EAAG,GACL,EAEaG,EACX,SACEC,EACAC,EAIAC,GAKKC,YATQ,IAAbF,IAAAA,EAAgB,CACdG,YAAY,EACZC,gBAAgB,SAEH,IAAfH,IAAAA,EAAkB,CAChBI,KAAM,QACNC,KAAK,IAGFJ,SAAAA,EAAQK,EAAGC,GAAO,IAAIC,OAAAA,QAAAC,gCAAA,WACvBC,SAAAA,EAEIC,GASN,MAAO,CAAEV,OAAQI,EAAMJ,EAASU,EAAQjC,OAAQ,GAAoB,CAVpE,IAAQ0B,EAAcJ,EAAdI,KAAMC,EAAQL,EAARK,IAAwB,MAE3B,SAATD,EAAeM,EAAN,SAATN,EACIQ,EAAMd,EAAsBG,EAAQF,GAC9Bc,EACJf,EACAG,EACAF,IACDS,QAAAC,QANI,SAATL,EACIQ,EAAMd,EAAsBG,EAAQF,GAC9Bc,EACJf,EACAG,EACAF,IACDe,KAAAJ,EAGR,6DAb0BK,CAAA,EAa1B,SAAQtC,GACP,GAAIA,aAAiBuC,EACnB,MAAO,CACLf,OAAQ,GACRvB,OAAQuC,EAAYzC,EAAYC,GAAQ8B,IAI5C,MAAM9B,CACP,GACH,CAAC,MAAAyC,UAAAV,QAAAW,OAAAD,EAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"valibot.module.js","sources":["../src/valibot.ts"],"sourcesContent":["import { toNestErrors } from '@hookform/resolvers';\nimport type { Resolver } from './types';\nimport {\n BaseSchema,\n BaseSchemaAsync,\n ValiError,\n parse,\n parseAsync,\n} from 'valibot';\nimport { FieldErrors, FieldError, appendErrors } from 'react-hook-form';\nconst parseErrors = (\n valiErrors: ValiError,\n validateAllFieldCriteria: boolean,\n): FieldErrors => {\n const errors: Record<string, FieldError> = {};\n for (; valiErrors.issues.length; ) {\n const error = valiErrors.issues[0];\n if (!error.path) {\n continue;\n }\n const _path = error.path.map(({ key }) => key).join('.');\n\n if (!errors[_path]) {\n errors[_path] = { message: error.message, type: error.validation };\n }\n\n if (validateAllFieldCriteria) {\n const types = errors[_path].types;\n const messages = types && types[error.validation];\n\n errors[_path] = appendErrors(\n _path,\n validateAllFieldCriteria,\n errors,\n error.validation,\n messages\n ? ([] as string[]).concat(messages as string[], error.message)\n : error.message,\n ) as FieldError;\n }\n\n valiErrors.issues.shift();\n }\n\n return errors;\n};\n\nexport const valibotResolver: Resolver =\n (schema, schemaOptions, resolverOptions = {}) =>\n async (values, _, options) => {\n try {\n const schemaOpts = Object.assign(\n {},\n {\n abortEarly: false,\n abortPipeEarly: false,\n },\n schemaOptions,\n );\n\n const parsed =\n resolverOptions.mode === 'sync'\n ? parse(schema as BaseSchema, values, schemaOpts)\n : await parseAsync(\n schema as BaseSchema | BaseSchemaAsync,\n values,\n schemaOpts,\n );\n\n return {\n values: resolverOptions.raw ? values : parsed,\n errors: {} as FieldErrors,\n };\n } catch (error) {\n if (error instanceof ValiError) {\n return {\n values: {},\n errors: toNestErrors(\n parseErrors(\n error,\n !options.shouldUseNativeValidation &&\n options.criteriaMode === 'all',\n ),\n options,\n ),\n };\n }\n\n throw error;\n }\n };\n"],"names":["parseErrors","valiErrors","validateAllFieldCriteria","errors","issues","length","error","path","_path","map","_ref","key","join","message","type","validation","types","messages","appendErrors","concat","shift","valibotResolver","schema","schemaOptions","resolverOptions","values","_","options","Promise","resolve","_temp2","parsed","raw","schemaOpts","Object","assign","abortEarly","abortPipeEarly","mode","parse","parseAsync","then","_catch","ValiError","toNestErrors","shouldUseNativeValidation","criteriaMode","e","reject"],"mappings":"iKAUA,IAAMA,EAAc,SAClBC,EACAC,GAGA,IADA,IAAMC,EAAqC,CAAA,EACpCF,EAAWG,OAAOC,QAAU,CACjC,IAAMC,EAAQL,EAAWG,OAAO,GAChC,GAAKE,EAAMC,KAAX,CAGA,IAAMC,EAAQF,EAAMC,KAAKE,IAAI,SAAAC,UAAMA,EAAHC,GAAa,GAAEC,KAAK,KAMpD,GAJKT,EAAOK,KACVL,EAAOK,GAAS,CAAEK,QAASP,EAAMO,QAASC,KAAMR,EAAMS,aAGpDb,EAA0B,CAC5B,IAAMc,EAAQb,EAAOK,GAAOQ,MACtBC,EAAWD,GAASA,EAAMV,EAAMS,YAEtCZ,EAAOK,GAASU,EACdV,EACAN,EACAC,EACAG,EAAMS,WACNE,EACK,GAAgBE,OAAOF,EAAsBX,EAAMO,SACpDP,EAAMO,QAEb,CAEDZ,EAAWG,OAAOgB,OAtBjB,CAuBF,CAED,OAAOjB,CACT,EAEakB,EACX,SAACC,EAAQC,EAAeC,GAAoB,gBAApBA,IAAAA,EAAkB,CAAE,GAAA,SACrCC,EAAQC,EAAGC,GAAW,IAAA,OAAAC,QAAAC,gCACvB,WAAA,SAAAC,EAUIC,GASN,MAAO,CACLN,OAAQD,EAAgBQ,IAAMP,EAASM,EACvC5B,OAAQ,GACR,CArBF,IAAM8B,EAAaC,OAAOC,OACxB,CAAE,EACF,CACEC,YAAY,EACZC,gBAAgB,GAElBd,GAI+B,MAAN,SAAzBC,EAAgBc,KAAeR,EAC3BS,EAAMjB,EAAsBG,EAAQQ,IAAWL,QAAAC,QACzCW,EACJlB,EACAG,EACAQ,IACDQ,KAAAX,EAMR,6DAxB0BY,CACvB,EAuBH,SAAQpC,GACP,GAAIA,aAAiBqC,EACnB,MAAO,CACLlB,OAAQ,GACRtB,OAAQyC,EACN5C,EACEM,GACCqB,EAAQkB,2BACkB,QAAzBlB,EAAQmB,cAEZnB,IAKN,MAAMrB,CACP,GACH,CAAC,MAAAyC,UAAAnB,QAAAoB,OAAAD,EAAA,CAAA,CAAA"}
@@ -1,2 +1,2 @@
1
- !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@hookform/resolvers"),require("valibot")):"function"==typeof define&&define.amd?define(["exports","@hookform/resolvers","valibot"],r):r((e||self).hookformResolversValibot={},e.hookformResolvers,e.valibot)}(this,function(e,r,o){var t=function(e){var r=e.issues.reduce(function(e,r){if(r.path){var o=r.path.map(function(e){return e.key}).join(".");e[o]=[].concat(e[o]||[],[{message:r.message,type:r.validation}])}return e},{});return Object.entries(r).reduce(function(e,r){var o=r[1][0];return e[r[0]]={message:o.message,type:o.type},e},{})};e.valibotResolver=function(e,n,s){return void 0===n&&(n={abortEarly:!1,abortPipeEarly:!1}),void 0===s&&(s={mode:"async",raw:!1}),function(i,a,u){try{return Promise.resolve(function(r,t){try{var a=function(){function r(e){return{values:a?i:e,errors:{}}}var t=s.mode,a=s.raw;return"sync"===t?r("sync"===t?o.parse(e,i,n):o.parseAsync(e,i,n)):Promise.resolve("sync"===t?o.parse(e,i,n):o.parseAsync(e,i,n)).then(r)}()}catch(e){return t(e)}return a&&a.then?a.then(void 0,t):a}(0,function(e){if(e instanceof o.ValiError)return{values:{},errors:r.toNestError(t(e),u)};throw e}))}catch(e){return Promise.reject(e)}}}});
1
+ !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@hookform/resolvers"),require("valibot"),require("react-hook-form")):"function"==typeof define&&define.amd?define(["exports","@hookform/resolvers","valibot","react-hook-form"],r):r((e||self).hookformResolversValibot={},e.hookformResolvers,e.valibot,e.ReactHookForm)}(this,function(e,r,o,t){var s=function(e,r){for(var o={};e.issues.length;){var s=e.issues[0];if(s.path){var i=s.path.map(function(e){return e.key}).join(".");if(o[i]||(o[i]={message:s.message,type:s.validation}),r){var n=o[i].types,a=n&&n[s.validation];o[i]=t.appendErrors(i,r,o,s.validation,a?[].concat(a,s.message):s.message)}e.issues.shift()}}return o};e.valibotResolver=function(e,t,i){return void 0===i&&(i={}),function(n,a,f){try{return Promise.resolve(function(r,s){try{var a=function(){function r(e){return{values:i.raw?n:e,errors:{}}}var s=Object.assign({},{abortEarly:!1,abortPipeEarly:!1},t);return"sync"===i.mode?r(o.parse(e,n,s)):Promise.resolve(o.parseAsync(e,n,s)).then(r)}()}catch(e){return s(e)}return a&&a.then?a.then(void 0,s):a}(0,function(e){if(e instanceof o.ValiError)return{values:{},errors:r.toNestErrors(s(e,!f.shouldUseNativeValidation&&"all"===f.criteriaMode),f)};throw e}))}catch(e){return Promise.reject(e)}}}});
2
2
  //# sourceMappingURL=valibot.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"valibot.umd.js","sources":["../src/valibot.ts"],"sourcesContent":["import { toNestError } from '@hookform/resolvers';\nimport type { Resolver } from './types';\nimport {\n BaseSchema,\n BaseSchemaAsync,\n ValiError,\n parse,\n parseAsync,\n} from 'valibot';\nimport { FieldErrors, FieldError } from 'react-hook-form';\n\ntype FlatErrors = Record<string, [FieldError, ...FieldError[]]>;\n\nconst parseErrors = (error: ValiError): FieldErrors => {\n const errors = error.issues.reduce<FlatErrors>((flatErrors, issue) => {\n if (issue.path) {\n const path = issue.path.map(({ key }) => key).join('.');\n flatErrors[path] = [\n ...(flatErrors[path] || []),\n {\n message: issue.message,\n type: issue.validation,\n },\n ];\n }\n\n return flatErrors;\n }, {});\n\n return Object.entries(errors).reduce<FieldErrors>((acc, [path, errors]) => {\n const [firstError] = errors;\n acc[path] = {\n message: firstError.message,\n type: firstError.type,\n };\n\n return acc;\n }, {});\n};\n\nexport const valibotResolver: Resolver =\n (\n schema,\n schemaOptions = {\n abortEarly: false,\n abortPipeEarly: false,\n },\n resolverOptions = {\n mode: 'async',\n raw: false,\n },\n ) =>\n async (values, _, options) => {\n try {\n const { mode, raw } = resolverOptions;\n const parsed =\n mode === 'sync'\n ? parse(schema as BaseSchema, values, schemaOptions)\n : await parseAsync(\n schema as BaseSchema | BaseSchemaAsync,\n values,\n schemaOptions,\n );\n\n return { values: raw ? values : parsed, errors: {} as FieldErrors };\n } catch (error) {\n if (error instanceof ValiError) {\n return {\n values: {},\n errors: toNestError(parseErrors(error), options),\n };\n }\n\n throw error;\n }\n };\n"],"names":["parseErrors","error","errors","issues","reduce","flatErrors","issue","path","map","_ref","key","join","concat","message","type","validation","Object","entries","acc","_ref2","firstError","schema","schemaOptions","resolverOptions","values","abortEarly","abortPipeEarly","mode","raw","_","options","Promise","resolve","_temp","parsed","parse","parseAsync","then","_catch","ValiError","toNestError","e","reject"],"mappings":"sWAaA,IAAMA,EAAc,SAACC,GACnB,IAAMC,EAASD,EAAME,OAAOC,OAAmB,SAACC,EAAYC,GAC1D,GAAIA,EAAMC,KAAM,CACd,IAAMA,EAAOD,EAAMC,KAAKC,IAAI,SAAAC,UAAMA,EAAHC,GAAa,GAAEC,KAAK,KACnDN,EAAWE,GAAKK,GAAAA,OACVP,EAAWE,IAAS,GAAE,CAC1B,CACEM,QAASP,EAAMO,QACfC,KAAMR,EAAMS,aAGjB,CAED,OAAOV,CACT,EAAG,CAAA,GAEH,OAAOW,OAAOC,QAAQf,GAAQE,OAAoB,SAACc,EAAGC,GAAoB,IACjEC,EAD4DD,KACxC,GAM3B,OALAD,EAF2DC,EAAA,IAE/C,CACVN,QAASO,EAAWP,QACpBC,KAAMM,EAAWN,MAGZI,CACT,EAAG,GACL,oBAGE,SACEG,EACAC,EAIAC,GAKKC,YATQ,IAAbF,IAAAA,EAAgB,CACdG,YAAY,EACZC,gBAAgB,SAEH,IAAfH,IAAAA,EAAkB,CAChBI,KAAM,QACNC,KAAK,IAGFJ,SAAAA,EAAQK,EAAGC,GAAO,IAAIC,OAAAA,QAAAC,gCAAA,WACvBC,SAAAA,EAEIC,GASN,MAAO,CAAEV,OAAQI,EAAMJ,EAASU,EAAQhC,OAAQ,GAAoB,CAVpE,IAAQyB,EAAcJ,EAAdI,KAAMC,EAAQL,EAARK,IAAwB,MAE3B,SAATD,EAAeM,EAAN,SAATN,EACIQ,EAAAA,MAAMd,EAAsBG,EAAQF,GAC9Bc,EAAAA,WACJf,EACAG,EACAF,IACDS,QAAAC,QANI,SAATL,EACIQ,EAAAA,MAAMd,EAAsBG,EAAQF,GAC9Bc,EAAAA,WACJf,EACAG,EACAF,IACDe,KAAAJ,EAGR,6DAb0BK,CAAA,EAa1B,SAAQrC,GACP,GAAIA,aAAiBsC,YACnB,MAAO,CACLf,OAAQ,GACRtB,OAAQsC,EAAAA,YAAYxC,EAAYC,GAAQ6B,IAI5C,MAAM7B,CACP,GACH,CAAC,MAAAwC,UAAAV,QAAAW,OAAAD,EAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"valibot.umd.js","sources":["../src/valibot.ts"],"sourcesContent":["import { toNestErrors } from '@hookform/resolvers';\nimport type { Resolver } from './types';\nimport {\n BaseSchema,\n BaseSchemaAsync,\n ValiError,\n parse,\n parseAsync,\n} from 'valibot';\nimport { FieldErrors, FieldError, appendErrors } from 'react-hook-form';\nconst parseErrors = (\n valiErrors: ValiError,\n validateAllFieldCriteria: boolean,\n): FieldErrors => {\n const errors: Record<string, FieldError> = {};\n for (; valiErrors.issues.length; ) {\n const error = valiErrors.issues[0];\n if (!error.path) {\n continue;\n }\n const _path = error.path.map(({ key }) => key).join('.');\n\n if (!errors[_path]) {\n errors[_path] = { message: error.message, type: error.validation };\n }\n\n if (validateAllFieldCriteria) {\n const types = errors[_path].types;\n const messages = types && types[error.validation];\n\n errors[_path] = appendErrors(\n _path,\n validateAllFieldCriteria,\n errors,\n error.validation,\n messages\n ? ([] as string[]).concat(messages as string[], error.message)\n : error.message,\n ) as FieldError;\n }\n\n valiErrors.issues.shift();\n }\n\n return errors;\n};\n\nexport const valibotResolver: Resolver =\n (schema, schemaOptions, resolverOptions = {}) =>\n async (values, _, options) => {\n try {\n const schemaOpts = Object.assign(\n {},\n {\n abortEarly: false,\n abortPipeEarly: false,\n },\n schemaOptions,\n );\n\n const parsed =\n resolverOptions.mode === 'sync'\n ? parse(schema as BaseSchema, values, schemaOpts)\n : await parseAsync(\n schema as BaseSchema | BaseSchemaAsync,\n values,\n schemaOpts,\n );\n\n return {\n values: resolverOptions.raw ? values : parsed,\n errors: {} as FieldErrors,\n };\n } catch (error) {\n if (error instanceof ValiError) {\n return {\n values: {},\n errors: toNestErrors(\n parseErrors(\n error,\n !options.shouldUseNativeValidation &&\n options.criteriaMode === 'all',\n ),\n options,\n ),\n };\n }\n\n throw error;\n }\n };\n"],"names":["parseErrors","valiErrors","validateAllFieldCriteria","errors","issues","length","error","path","_path","map","_ref","key","join","message","type","validation","types","messages","appendErrors","concat","shift","schema","schemaOptions","resolverOptions","values","_","options","Promise","resolve","_temp2","parsed","raw","schemaOpts","Object","assign","abortEarly","abortPipeEarly","mode","parse","parseAsync","then","_catch","ValiError","toNestErrors","shouldUseNativeValidation","criteriaMode","e","reject"],"mappings":"qaAUA,IAAMA,EAAc,SAClBC,EACAC,GAGA,IADA,IAAMC,EAAqC,CAAA,EACpCF,EAAWG,OAAOC,QAAU,CACjC,IAAMC,EAAQL,EAAWG,OAAO,GAChC,GAAKE,EAAMC,KAAX,CAGA,IAAMC,EAAQF,EAAMC,KAAKE,IAAI,SAAAC,UAAMA,EAAHC,GAAa,GAAEC,KAAK,KAMpD,GAJKT,EAAOK,KACVL,EAAOK,GAAS,CAAEK,QAASP,EAAMO,QAASC,KAAMR,EAAMS,aAGpDb,EAA0B,CAC5B,IAAMc,EAAQb,EAAOK,GAAOQ,MACtBC,EAAWD,GAASA,EAAMV,EAAMS,YAEtCZ,EAAOK,GAASU,EAAAA,aACdV,EACAN,EACAC,EACAG,EAAMS,WACNE,EACK,GAAgBE,OAAOF,EAAsBX,EAAMO,SACpDP,EAAMO,QAEb,CAEDZ,EAAWG,OAAOgB,OAtBjB,CAuBF,CAED,OAAOjB,CACT,oBAGE,SAACkB,EAAQC,EAAeC,GAAoB,gBAApBA,IAAAA,EAAkB,CAAE,GAAA,SACrCC,EAAQC,EAAGC,GAAW,IAAA,OAAAC,QAAAC,gCACvB,WAAA,SAAAC,EAUIC,GASN,MAAO,CACLN,OAAQD,EAAgBQ,IAAMP,EAASM,EACvC3B,OAAQ,GACR,CArBF,IAAM6B,EAAaC,OAAOC,OACxB,CAAE,EACF,CACEC,YAAY,EACZC,gBAAgB,GAElBd,GAI+B,MAAN,SAAzBC,EAAgBc,KAAeR,EAC3BS,EAAKA,MAACjB,EAAsBG,EAAQQ,IAAWL,QAAAC,QACzCW,EAAAA,WACJlB,EACAG,EACAQ,IACDQ,KAAAX,EAMR,6DAxB0BY,CACvB,EAuBH,SAAQnC,GACP,GAAIA,aAAiBoC,EAAAA,UACnB,MAAO,CACLlB,OAAQ,GACRrB,OAAQwC,EAAAA,aACN3C,EACEM,GACCoB,EAAQkB,2BACkB,QAAzBlB,EAAQmB,cAEZnB,IAKN,MAAMpB,CACP,GACH,CAAC,MAAAwC,UAAAnB,QAAAoB,OAAAD,EAAA,CAAA,CAAA"}