@hookform/resolvers 3.1.1 → 3.3.0

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 (172) hide show
  1. package/README.md +56 -12
  2. package/ajv/dist/ajv.js +1 -1
  3. package/ajv/dist/ajv.js.map +1 -1
  4. package/ajv/dist/ajv.mjs +1 -1
  5. package/ajv/dist/ajv.modern.mjs +1 -1
  6. package/ajv/dist/ajv.modern.mjs.map +1 -1
  7. package/ajv/dist/ajv.module.js +1 -1
  8. package/ajv/dist/ajv.module.js.map +1 -1
  9. package/ajv/dist/ajv.umd.js +1 -1
  10. package/ajv/dist/ajv.umd.js.map +1 -1
  11. package/ajv/src/ajv.ts +2 -2
  12. package/arktype/dist/arktype.js +1 -1
  13. package/arktype/dist/arktype.js.map +1 -1
  14. package/arktype/dist/arktype.mjs +1 -1
  15. package/arktype/dist/arktype.modern.mjs +1 -1
  16. package/arktype/dist/arktype.modern.mjs.map +1 -1
  17. package/arktype/dist/arktype.module.js +1 -1
  18. package/arktype/dist/arktype.module.js.map +1 -1
  19. package/arktype/dist/arktype.umd.js +1 -1
  20. package/arktype/dist/arktype.umd.js.map +1 -1
  21. package/arktype/src/arktype.ts +2 -2
  22. package/class-validator/dist/class-validator.js +1 -1
  23. package/class-validator/dist/class-validator.js.map +1 -1
  24. package/class-validator/dist/class-validator.mjs +1 -1
  25. package/class-validator/dist/class-validator.modern.mjs +1 -1
  26. package/class-validator/dist/class-validator.modern.mjs.map +1 -1
  27. package/class-validator/dist/class-validator.module.js +1 -1
  28. package/class-validator/dist/class-validator.module.js.map +1 -1
  29. package/class-validator/dist/class-validator.umd.js +1 -1
  30. package/class-validator/dist/class-validator.umd.js.map +1 -1
  31. package/class-validator/src/__tests__/class-validator.ts +41 -0
  32. package/class-validator/src/class-validator.ts +6 -3
  33. package/computed-types/dist/computed-types.js +1 -1
  34. package/computed-types/dist/computed-types.js.map +1 -1
  35. package/computed-types/dist/computed-types.mjs +1 -1
  36. package/computed-types/dist/computed-types.modern.mjs +1 -1
  37. package/computed-types/dist/computed-types.modern.mjs.map +1 -1
  38. package/computed-types/dist/computed-types.module.js +1 -1
  39. package/computed-types/dist/computed-types.module.js.map +1 -1
  40. package/computed-types/dist/computed-types.umd.js +1 -1
  41. package/computed-types/dist/computed-types.umd.js.map +1 -1
  42. package/computed-types/src/computed-types.ts +2 -2
  43. package/dist/index.d.ts +1 -1
  44. package/dist/resolvers.js +1 -1
  45. package/dist/resolvers.js.map +1 -1
  46. package/dist/resolvers.mjs +1 -1
  47. package/dist/resolvers.mjs.map +1 -1
  48. package/dist/resolvers.module.js +1 -1
  49. package/dist/resolvers.module.js.map +1 -1
  50. package/dist/resolvers.umd.js +1 -1
  51. package/dist/resolvers.umd.js.map +1 -1
  52. package/dist/toNestErrors.d.ts +2 -0
  53. package/io-ts/dist/io-ts.js +1 -1
  54. package/io-ts/dist/io-ts.js.map +1 -1
  55. package/io-ts/dist/io-ts.mjs +1 -1
  56. package/io-ts/dist/io-ts.modern.mjs +1 -1
  57. package/io-ts/dist/io-ts.modern.mjs.map +1 -1
  58. package/io-ts/dist/io-ts.module.js +1 -1
  59. package/io-ts/dist/io-ts.module.js.map +1 -1
  60. package/io-ts/dist/io-ts.umd.js +1 -1
  61. package/io-ts/dist/io-ts.umd.js.map +1 -1
  62. package/io-ts/src/io-ts.ts +2 -2
  63. package/joi/dist/joi.js +1 -1
  64. package/joi/dist/joi.js.map +1 -1
  65. package/joi/dist/joi.mjs +1 -1
  66. package/joi/dist/joi.modern.mjs +1 -1
  67. package/joi/dist/joi.modern.mjs.map +1 -1
  68. package/joi/dist/joi.module.js +1 -1
  69. package/joi/dist/joi.module.js.map +1 -1
  70. package/joi/dist/joi.umd.js +1 -1
  71. package/joi/dist/joi.umd.js.map +1 -1
  72. package/joi/src/joi.ts +2 -2
  73. package/nope/dist/nope.js +1 -1
  74. package/nope/dist/nope.js.map +1 -1
  75. package/nope/dist/nope.mjs +1 -1
  76. package/nope/dist/nope.modern.mjs +1 -1
  77. package/nope/dist/nope.modern.mjs.map +1 -1
  78. package/nope/dist/nope.module.js +1 -1
  79. package/nope/dist/nope.module.js.map +1 -1
  80. package/nope/dist/nope.umd.js +1 -1
  81. package/nope/dist/nope.umd.js.map +1 -1
  82. package/nope/src/nope.ts +3 -3
  83. package/package.json +37 -27
  84. package/superstruct/dist/superstruct.js +1 -1
  85. package/superstruct/dist/superstruct.js.map +1 -1
  86. package/superstruct/dist/superstruct.mjs +1 -1
  87. package/superstruct/dist/superstruct.modern.mjs +1 -1
  88. package/superstruct/dist/superstruct.modern.mjs.map +1 -1
  89. package/superstruct/dist/superstruct.module.js +1 -1
  90. package/superstruct/dist/superstruct.module.js.map +1 -1
  91. package/superstruct/dist/superstruct.umd.js +1 -1
  92. package/superstruct/dist/superstruct.umd.js.map +1 -1
  93. package/superstruct/src/superstruct.ts +2 -2
  94. package/typanion/dist/typanion.js +1 -1
  95. package/typanion/dist/typanion.js.map +1 -1
  96. package/typanion/dist/typanion.mjs +1 -1
  97. package/typanion/dist/typanion.modern.mjs +1 -1
  98. package/typanion/dist/typanion.modern.mjs.map +1 -1
  99. package/typanion/dist/typanion.module.js +1 -1
  100. package/typanion/dist/typanion.module.js.map +1 -1
  101. package/typanion/dist/typanion.umd.js +1 -1
  102. package/typanion/dist/typanion.umd.js.map +1 -1
  103. package/typanion/src/typanion.ts +2 -2
  104. package/typebox/dist/typebox.js +1 -1
  105. package/typebox/dist/typebox.js.map +1 -1
  106. package/typebox/dist/typebox.mjs +1 -1
  107. package/typebox/dist/typebox.modern.mjs +1 -1
  108. package/typebox/dist/typebox.modern.mjs.map +1 -1
  109. package/typebox/dist/typebox.module.js +1 -1
  110. package/typebox/dist/typebox.module.js.map +1 -1
  111. package/typebox/dist/typebox.umd.js +1 -1
  112. package/typebox/dist/typebox.umd.js.map +1 -1
  113. package/typebox/src/__tests__/__fixtures__/data.ts +2 -7
  114. package/typebox/src/__tests__/__snapshots__/typebox.ts.snap +57 -59
  115. package/typebox/src/typebox.ts +2 -2
  116. package/valibot/dist/index.d.ts +2 -0
  117. package/valibot/dist/types.d.ts +13 -0
  118. package/valibot/dist/valibot.d.ts +2 -0
  119. package/valibot/dist/valibot.js +2 -0
  120. package/valibot/dist/valibot.js.map +1 -0
  121. package/valibot/dist/valibot.mjs +2 -0
  122. package/valibot/dist/valibot.modern.mjs +2 -0
  123. package/valibot/dist/valibot.modern.mjs.map +1 -0
  124. package/valibot/dist/valibot.module.js +2 -0
  125. package/valibot/dist/valibot.module.js.map +1 -0
  126. package/valibot/dist/valibot.umd.js +2 -0
  127. package/valibot/dist/valibot.umd.js.map +1 -0
  128. package/valibot/package.json +18 -0
  129. package/valibot/src/__tests__/Form-native-validation.tsx +81 -0
  130. package/valibot/src/__tests__/Form.tsx +61 -0
  131. package/valibot/src/__tests__/__fixtures__/data.ts +89 -0
  132. package/valibot/src/__tests__/__snapshots__/valibot.ts.snap +418 -0
  133. package/valibot/src/__tests__/valibot.ts +101 -0
  134. package/valibot/src/index.ts +2 -0
  135. package/valibot/src/types.ts +22 -0
  136. package/valibot/src/valibot.ts +91 -0
  137. package/vest/dist/types.d.ts +4 -4
  138. package/vest/dist/vest.js +1 -1
  139. package/vest/dist/vest.js.map +1 -1
  140. package/vest/dist/vest.mjs +1 -1
  141. package/vest/dist/vest.modern.mjs +1 -1
  142. package/vest/dist/vest.modern.mjs.map +1 -1
  143. package/vest/dist/vest.module.js +1 -1
  144. package/vest/dist/vest.module.js.map +1 -1
  145. package/vest/dist/vest.umd.js +1 -1
  146. package/vest/dist/vest.umd.js.map +1 -1
  147. package/vest/src/__tests__/vest.ts +13 -0
  148. package/vest/src/types.ts +10 -7
  149. package/vest/src/vest.ts +5 -5
  150. package/yup/dist/yup.d.ts +1 -1
  151. package/yup/dist/yup.js +1 -1
  152. package/yup/dist/yup.js.map +1 -1
  153. package/yup/dist/yup.mjs +1 -1
  154. package/yup/dist/yup.modern.mjs +1 -1
  155. package/yup/dist/yup.modern.mjs.map +1 -1
  156. package/yup/dist/yup.module.js +1 -1
  157. package/yup/dist/yup.module.js.map +1 -1
  158. package/yup/dist/yup.umd.js +1 -1
  159. package/yup/dist/yup.umd.js.map +1 -1
  160. package/yup/src/__tests__/yup.ts +25 -31
  161. package/yup/src/yup.ts +3 -3
  162. package/zod/dist/zod.js +1 -1
  163. package/zod/dist/zod.js.map +1 -1
  164. package/zod/dist/zod.mjs +1 -1
  165. package/zod/dist/zod.modern.mjs +1 -1
  166. package/zod/dist/zod.modern.mjs.map +1 -1
  167. package/zod/dist/zod.module.js +1 -1
  168. package/zod/dist/zod.module.js.map +1 -1
  169. package/zod/dist/zod.umd.js +1 -1
  170. package/zod/dist/zod.umd.js.map +1 -1
  171. package/zod/src/zod.ts +2 -2
  172. package/dist/toNestError.d.ts +0 -2
package/README.md CHANGED
@@ -26,18 +26,28 @@
26
26
 
27
27
  ### Supported resolvers
28
28
 
29
- - [Yup](#Yup)
30
- - [Zod](#Zod)
31
- - [Superstruct](#Superstruct)
32
- - [Joi](#Joi)
33
- - [Class Validator](#Class-Validator)
34
- - [io-ts](#io-ts)
35
- - [Nope](#Nope)
36
- - [computed-types](#computed-types)
37
- - [typanion](#typanion)
38
- - [Ajv](#Ajv)
39
- - [TypeBox](#TypeBox)
40
- - [ArkType](#ArkType)
29
+ - [Install](#install)
30
+ - [Links](#links)
31
+ - [Supported resolvers](#supported-resolvers)
32
+ - [API](#api)
33
+ - [Quickstart](#quickstart)
34
+ - [Yup](#yup)
35
+ - [Zod](#zod)
36
+ - [Superstruct](#superstruct)
37
+ - [Joi](#joi)
38
+ - [Vest](#vest)
39
+ - [Class Validator](#class-validator)
40
+ - [io-ts](#io-ts)
41
+ - [Nope](#nope)
42
+ - [computed-types](#computed-types)
43
+ - [typanion](#typanion)
44
+ - [Ajv](#ajv)
45
+ - [TypeBox](#typebox)
46
+ - [ArkType](#arktype)
47
+ - [Valibot](#valibot)
48
+ - [Backers](#backers)
49
+ - [Sponsors](#sponsors)
50
+ - [Contributors](#contributors)
41
51
 
42
52
  ## API
43
53
 
@@ -532,6 +542,40 @@ const App = () => {
532
542
  };
533
543
  ```
534
544
 
545
+ ### [Valibot](https://github.com/fabian-hiller/valibot)
546
+
547
+ The modular and type safe schema library for validating structural data
548
+
549
+ [![npm](https://img.shields.io/bundlephobia/minzip/valibot?style=for-the-badge)](https://bundlephobia.com/result?p=valibot)
550
+
551
+ ```typescript jsx
552
+ import { useForm } from 'react-hook-form';
553
+ import { valibotResolver } from '@hookform/resolvers/valibot';
554
+ import { object, string, minLength, endsWith } from 'valibot';
555
+
556
+ const schema = object({
557
+ username: string('username is required', [
558
+ minLength(3, 'Needs to be at least 3 characters'),
559
+ endsWith('cool', 'Needs to end with `cool`'),
560
+ ]),
561
+ password: string('password is required'),
562
+ });
563
+
564
+ const App = () => {
565
+ const { register, handleSubmit } = useForm({
566
+ resolver: valibotResolver(schema),
567
+ });
568
+
569
+ return (
570
+ <form onSubmit={handleSubmit((d) => console.log(d))}>
571
+ <input {...register('username')} />
572
+ <input type="password" {...register('password')} />
573
+ <input type="submit" />
574
+ </form>
575
+ );
576
+ };
577
+ ```
578
+
535
579
  ## Backers
536
580
 
537
581
  Thanks goes to all our backers! [[Become a backer](https://opencollective.com/react-hook-form#backer)].
package/ajv/dist/ajv.js CHANGED
@@ -1,2 +1,2 @@
1
- var e=require("@hookform/resolvers"),r=require("ajv"),a=require("ajv-errors"),t=require("react-hook-form");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=/*#__PURE__*/o(r),i=/*#__PURE__*/o(a),n=function(e,r){return e.forEach(function(e){"required"===e.keyword&&(e.instancePath+="/"+e.params.missingProperty)}),e.reduce(function(e,a){var o=a.instancePath.substring(1).replace(/\//g,".");if(e[o]||(e[o]={message:a.message,type:a.keyword}),r){var s=e[o].types,i=s&&s[a.keyword];e[o]=t.appendErrors(o,r,e,a.keyword,i?[].concat(i,a.message||""):a.message)}return e},{})};exports.ajvResolver=function(r,a,t){return void 0===t&&(t={}),function(o,u,c){try{var l=new s.default(Object.assign({},{allErrors:!0,validateSchema:!0},a));i.default(l);var d=l.compile(Object.assign({$async:t&&"async"===t.mode},r)),v=d(o);return c.shouldUseNativeValidation&&e.validateFieldsNatively({},c),Promise.resolve(v?{values:o,errors:{}}:{values:{},errors:e.toNestError(n(d.errors,!c.shouldUseNativeValidation&&"all"===c.criteriaMode),c)})}catch(e){return Promise.reject(e)}}};
1
+ var e=require("@hookform/resolvers"),r=require("ajv"),a=require("ajv-errors"),s=require("react-hook-form");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=/*#__PURE__*/t(r),i=/*#__PURE__*/t(a),n=function(e,r){return e.forEach(function(e){"required"===e.keyword&&(e.instancePath+="/"+e.params.missingProperty)}),e.reduce(function(e,a){var t=a.instancePath.substring(1).replace(/\//g,".");if(e[t]||(e[t]={message:a.message,type:a.keyword}),r){var o=e[t].types,i=o&&o[a.keyword];e[t]=s.appendErrors(t,r,e,a.keyword,i?[].concat(i,a.message||""):a.message)}return e},{})};exports.ajvResolver=function(r,a,s){return void 0===s&&(s={}),function(t,u,c){try{var l=new o.default(Object.assign({},{allErrors:!0,validateSchema:!0},a));i.default(l);var d=l.compile(Object.assign({$async:s&&"async"===s.mode},r)),v=d(t);return c.shouldUseNativeValidation&&e.validateFieldsNatively({},c),Promise.resolve(v?{values:t,errors:{}}:{values:{},errors:e.toNestErrors(n(d.errors,!c.shouldUseNativeValidation&&"all"===c.criteriaMode),c)})}catch(e){return Promise.reject(e)}}};
2
2
  //# sourceMappingURL=ajv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ajv.js","sources":["../src/ajv.ts"],"sourcesContent":["import { toNestError, validateFieldsNatively } from '@hookform/resolvers';\nimport Ajv, { DefinedError } from 'ajv';\nimport ajvErrors from 'ajv-errors';\nimport { appendErrors, FieldError } from 'react-hook-form';\nimport { Resolver } from './types';\n\nconst parseErrorSchema = (\n ajvErrors: DefinedError[],\n validateAllFieldCriteria: boolean,\n) => {\n // Ajv will return empty instancePath when require error\n ajvErrors.forEach((error) => {\n if (error.keyword === 'required') {\n error.instancePath += '/' + error.params.missingProperty;\n }\n });\n\n return ajvErrors.reduce<Record<string, FieldError>>((previous, error) => {\n // `/deepObject/data` -> `deepObject.data`\n const path = error.instancePath.substring(1).replace(/\\//g, '.');\n\n if (!previous[path]) {\n previous[path] = {\n message: error.message,\n type: error.keyword,\n };\n }\n\n if (validateAllFieldCriteria) {\n const types = previous[path].types;\n const messages = types && types[error.keyword];\n\n previous[path] = appendErrors(\n path,\n validateAllFieldCriteria,\n previous,\n error.keyword,\n messages\n ? ([] as string[]).concat(messages as string[], error.message || '')\n : error.message,\n ) as FieldError;\n }\n\n return previous;\n }, {});\n};\n\nexport const ajvResolver: Resolver =\n (schema, schemaOptions, resolverOptions = {}) =>\n async (values, _, options) => {\n const ajv = new Ajv(\n Object.assign(\n {},\n {\n allErrors: true,\n validateSchema: true,\n },\n schemaOptions,\n ),\n );\n\n ajvErrors(ajv);\n\n const validate = ajv.compile(\n Object.assign(\n { $async: resolverOptions && resolverOptions.mode === 'async' },\n schema,\n ),\n );\n\n const valid = validate(values);\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n return valid\n ? { values, errors: {} }\n : {\n values: {},\n errors: toNestError(\n parseErrorSchema(\n validate.errors as DefinedError[],\n !options.shouldUseNativeValidation &&\n options.criteriaMode === 'all',\n ),\n options,\n ),\n };\n };\n"],"names":["parseErrorSchema","ajvErrors","validateAllFieldCriteria","forEach","error","keyword","instancePath","params","missingProperty","reduce","previous","path","substring","replace","message","type","types","messages","appendErrors","concat","schema","schemaOptions","resolverOptions","values","_","options","ajv","Ajv","Object","assign","allErrors","validateSchema","validate","compile","$async","mode","valid","shouldUseNativeValidation","validateFieldsNatively","Promise","resolve","errors","toNestError","criteriaMode","e","reject"],"mappings":"+NAMMA,EAAmB,SACvBC,EACAC,GASA,OANAD,EAAUE,QAAQ,SAACC,GACK,aAAlBA,EAAMC,UACRD,EAAME,cAAgB,IAAMF,EAAMG,OAAOC,gBAE7C,GAEOP,EAAUQ,OAAmC,SAACC,EAAUN,GAE7D,IAAMO,EAAOP,EAAME,aAAaM,UAAU,GAAGC,QAAQ,MAAO,KAS5D,GAPKH,EAASC,KACZD,EAASC,GAAQ,CACfG,QAASV,EAAMU,QACfC,KAAMX,EAAMC,UAIZH,EAA0B,CAC5B,IAAMc,EAAQN,EAASC,GAAMK,MACvBC,EAAWD,GAASA,EAAMZ,EAAMC,SAEtCK,EAASC,GAAQO,eACfP,EACAT,EACAQ,EACAN,EAAMC,QACNY,EACK,GAAgBE,OAAOF,EAAsBb,EAAMU,SAAW,IAC/DV,EAAMU,QAEb,CAED,OAAOJ,CACT,EAAG,GACL,sBAGE,SAACU,EAAQC,EAAeC,GAAoB,gBAApBA,IAAAA,EAAkB,CAAA,GAAE,SACrCC,EAAQC,EAAGC,GAAO,IACvB,IAAMC,EAAM,IAAIC,UACdC,OAAOC,OACL,CAAE,EACF,CACEC,WAAW,EACXC,gBAAgB,GAElBV,IAIJpB,EAAS,QAACyB,GAEV,IAAMM,EAAWN,EAAIO,QACnBL,OAAOC,OACL,CAAEK,OAAQZ,GAA4C,UAAzBA,EAAgBa,MAC7Cf,IAIEgB,EAAQJ,EAAST,GAIvB,OAFAE,EAAQY,2BAA6BC,EAAAA,uBAAuB,CAAE,EAAEb,GAEhEc,QAAAC,QAAOJ,EACH,CAAEb,OAAAA,EAAQkB,OAAQ,CAAI,GACtB,CACElB,OAAQ,CAAA,EACRkB,OAAQC,cACN1C,EACEgC,EAASS,QACRhB,EAAQY,2BACkB,QAAzBZ,EAAQkB,cAEZlB,IAGV,CAAC,MAAAmB,GAAA,OAAAL,QAAAM,OAAAD,EAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"ajv.js","sources":["../src/ajv.ts"],"sourcesContent":["import { toNestErrors, validateFieldsNatively } from '@hookform/resolvers';\nimport Ajv, { DefinedError } from 'ajv';\nimport ajvErrors from 'ajv-errors';\nimport { appendErrors, FieldError } from 'react-hook-form';\nimport { Resolver } from './types';\n\nconst parseErrorSchema = (\n ajvErrors: DefinedError[],\n validateAllFieldCriteria: boolean,\n) => {\n // Ajv will return empty instancePath when require error\n ajvErrors.forEach((error) => {\n if (error.keyword === 'required') {\n error.instancePath += '/' + error.params.missingProperty;\n }\n });\n\n return ajvErrors.reduce<Record<string, FieldError>>((previous, error) => {\n // `/deepObject/data` -> `deepObject.data`\n const path = error.instancePath.substring(1).replace(/\\//g, '.');\n\n if (!previous[path]) {\n previous[path] = {\n message: error.message,\n type: error.keyword,\n };\n }\n\n if (validateAllFieldCriteria) {\n const types = previous[path].types;\n const messages = types && types[error.keyword];\n\n previous[path] = appendErrors(\n path,\n validateAllFieldCriteria,\n previous,\n error.keyword,\n messages\n ? ([] as string[]).concat(messages as string[], error.message || '')\n : error.message,\n ) as FieldError;\n }\n\n return previous;\n }, {});\n};\n\nexport const ajvResolver: Resolver =\n (schema, schemaOptions, resolverOptions = {}) =>\n async (values, _, options) => {\n const ajv = new Ajv(\n Object.assign(\n {},\n {\n allErrors: true,\n validateSchema: true,\n },\n schemaOptions,\n ),\n );\n\n ajvErrors(ajv);\n\n const validate = ajv.compile(\n Object.assign(\n { $async: resolverOptions && resolverOptions.mode === 'async' },\n schema,\n ),\n );\n\n const valid = validate(values);\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n return valid\n ? { values, errors: {} }\n : {\n values: {},\n errors: toNestErrors(\n parseErrorSchema(\n validate.errors as DefinedError[],\n !options.shouldUseNativeValidation &&\n options.criteriaMode === 'all',\n ),\n options,\n ),\n };\n };\n"],"names":["parseErrorSchema","ajvErrors","validateAllFieldCriteria","forEach","error","keyword","instancePath","params","missingProperty","reduce","previous","path","substring","replace","message","type","types","messages","appendErrors","concat","schema","schemaOptions","resolverOptions","values","_","options","ajv","Ajv","Object","assign","allErrors","validateSchema","validate","compile","$async","mode","valid","shouldUseNativeValidation","validateFieldsNatively","Promise","resolve","errors","toNestErrors","criteriaMode","e","reject"],"mappings":"+NAMMA,EAAmB,SACvBC,EACAC,GASA,OANAD,EAAUE,QAAQ,SAACC,GACK,aAAlBA,EAAMC,UACRD,EAAME,cAAgB,IAAMF,EAAMG,OAAOC,gBAE7C,GAEOP,EAAUQ,OAAmC,SAACC,EAAUN,GAE7D,IAAMO,EAAOP,EAAME,aAAaM,UAAU,GAAGC,QAAQ,MAAO,KAS5D,GAPKH,EAASC,KACZD,EAASC,GAAQ,CACfG,QAASV,EAAMU,QACfC,KAAMX,EAAMC,UAIZH,EAA0B,CAC5B,IAAMc,EAAQN,EAASC,GAAMK,MACvBC,EAAWD,GAASA,EAAMZ,EAAMC,SAEtCK,EAASC,GAAQO,eACfP,EACAT,EACAQ,EACAN,EAAMC,QACNY,EACK,GAAgBE,OAAOF,EAAsBb,EAAMU,SAAW,IAC/DV,EAAMU,QAEb,CAED,OAAOJ,CACT,EAAG,GACL,sBAGE,SAACU,EAAQC,EAAeC,GAAoB,gBAApBA,IAAAA,EAAkB,CAAA,GAAE,SACrCC,EAAQC,EAAGC,GAAO,IACvB,IAAMC,EAAM,IAAIC,UACdC,OAAOC,OACL,CAAE,EACF,CACEC,WAAW,EACXC,gBAAgB,GAElBV,IAIJpB,EAAS,QAACyB,GAEV,IAAMM,EAAWN,EAAIO,QACnBL,OAAOC,OACL,CAAEK,OAAQZ,GAA4C,UAAzBA,EAAgBa,MAC7Cf,IAIEgB,EAAQJ,EAAST,GAIvB,OAFAE,EAAQY,2BAA6BC,EAAAA,uBAAuB,CAAE,EAAEb,GAEhEc,QAAAC,QAAOJ,EACH,CAAEb,OAAAA,EAAQkB,OAAQ,CAAI,GACtB,CACElB,OAAQ,CAAA,EACRkB,OAAQC,eACN1C,EACEgC,EAASS,QACRhB,EAAQY,2BACkB,QAAzBZ,EAAQkB,cAEZlB,IAGV,CAAC,MAAAmB,GAAA,OAAAL,QAAAM,OAAAD,EAAA,CAAA,CAAA"}
package/ajv/dist/ajv.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import{validateFieldsNatively as r,toNestError as e}from"@hookform/resolvers";import o from"ajv";import a from"ajv-errors";import{appendErrors as s}from"react-hook-form";var t=function(r,e){return r.forEach(function(r){"required"===r.keyword&&(r.instancePath+="/"+r.params.missingProperty)}),r.reduce(function(r,o){var a=o.instancePath.substring(1).replace(/\//g,".");if(r[a]||(r[a]={message:o.message,type:o.keyword}),e){var t=r[a].types,i=t&&t[o.keyword];r[a]=s(a,e,r,o.keyword,i?[].concat(i,o.message||""):o.message)}return r},{})},i=function(s,i,n){return void 0===n&&(n={}),function(c,m,u){try{var l=new o(Object.assign({},{allErrors:!0,validateSchema:!0},i));a(l);var v=l.compile(Object.assign({$async:n&&"async"===n.mode},s)),d=v(c);return u.shouldUseNativeValidation&&r({},u),Promise.resolve(d?{values:c,errors:{}}:{values:{},errors:e(t(v.errors,!u.shouldUseNativeValidation&&"all"===u.criteriaMode),u)})}catch(r){return Promise.reject(r)}}};export{i as ajvResolver};
1
+ import{validateFieldsNatively as r,toNestErrors as e}from"@hookform/resolvers";import o from"ajv";import a from"ajv-errors";import{appendErrors as s}from"react-hook-form";var t=function(r,e){return r.forEach(function(r){"required"===r.keyword&&(r.instancePath+="/"+r.params.missingProperty)}),r.reduce(function(r,o){var a=o.instancePath.substring(1).replace(/\//g,".");if(r[a]||(r[a]={message:o.message,type:o.keyword}),e){var t=r[a].types,i=t&&t[o.keyword];r[a]=s(a,e,r,o.keyword,i?[].concat(i,o.message||""):o.message)}return r},{})},i=function(s,i,n){return void 0===n&&(n={}),function(c,m,u){try{var l=new o(Object.assign({},{allErrors:!0,validateSchema:!0},i));a(l);var v=l.compile(Object.assign({$async:n&&"async"===n.mode},s)),d=v(c);return u.shouldUseNativeValidation&&r({},u),Promise.resolve(d?{values:c,errors:{}}:{values:{},errors:e(t(v.errors,!u.shouldUseNativeValidation&&"all"===u.criteriaMode),u)})}catch(r){return Promise.reject(r)}}};export{i as ajvResolver};
2
2
  //# sourceMappingURL=ajv.module.js.map
@@ -1,2 +1,2 @@
1
- import{validateFieldsNatively as e,toNestError as r}from"@hookform/resolvers";import s from"ajv";import o from"ajv-errors";import{appendErrors as a}from"react-hook-form";const t=(e,r)=>(e.forEach(e=>{"required"===e.keyword&&(e.instancePath+="/"+e.params.missingProperty)}),e.reduce((e,s)=>{const o=s.instancePath.substring(1).replace(/\//g,".");if(e[o]||(e[o]={message:s.message,type:s.keyword}),r){const t=e[o].types,i=t&&t[s.keyword];e[o]=a(o,r,e,s.keyword,i?[].concat(i,s.message||""):s.message)}return e},{})),i=(a,i,n={})=>async(c,m,l)=>{const d=new s(Object.assign({},{allErrors:!0,validateSchema:!0},i));o(d);const p=d.compile(Object.assign({$async:n&&"async"===n.mode},a)),y=p(c);return l.shouldUseNativeValidation&&e({},l),y?{values:c,errors:{}}:{values:{},errors:r(t(p.errors,!l.shouldUseNativeValidation&&"all"===l.criteriaMode),l)}};export{i as ajvResolver};
1
+ import{validateFieldsNatively as e,toNestErrors as r}from"@hookform/resolvers";import s from"ajv";import o from"ajv-errors";import{appendErrors as a}from"react-hook-form";const t=(e,r)=>(e.forEach(e=>{"required"===e.keyword&&(e.instancePath+="/"+e.params.missingProperty)}),e.reduce((e,s)=>{const o=s.instancePath.substring(1).replace(/\//g,".");if(e[o]||(e[o]={message:s.message,type:s.keyword}),r){const t=e[o].types,i=t&&t[s.keyword];e[o]=a(o,r,e,s.keyword,i?[].concat(i,s.message||""):s.message)}return e},{})),i=(a,i,n={})=>async(c,m,l)=>{const d=new s(Object.assign({},{allErrors:!0,validateSchema:!0},i));o(d);const p=d.compile(Object.assign({$async:n&&"async"===n.mode},a)),y=p(c);return l.shouldUseNativeValidation&&e({},l),y?{values:c,errors:{}}:{values:{},errors:r(t(p.errors,!l.shouldUseNativeValidation&&"all"===l.criteriaMode),l)}};export{i as ajvResolver};
2
2
  //# sourceMappingURL=ajv.modern.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ajv.modern.mjs","sources":["../src/ajv.ts"],"sourcesContent":["import { toNestError, validateFieldsNatively } from '@hookform/resolvers';\nimport Ajv, { DefinedError } from 'ajv';\nimport ajvErrors from 'ajv-errors';\nimport { appendErrors, FieldError } from 'react-hook-form';\nimport { Resolver } from './types';\n\nconst parseErrorSchema = (\n ajvErrors: DefinedError[],\n validateAllFieldCriteria: boolean,\n) => {\n // Ajv will return empty instancePath when require error\n ajvErrors.forEach((error) => {\n if (error.keyword === 'required') {\n error.instancePath += '/' + error.params.missingProperty;\n }\n });\n\n return ajvErrors.reduce<Record<string, FieldError>>((previous, error) => {\n // `/deepObject/data` -> `deepObject.data`\n const path = error.instancePath.substring(1).replace(/\\//g, '.');\n\n if (!previous[path]) {\n previous[path] = {\n message: error.message,\n type: error.keyword,\n };\n }\n\n if (validateAllFieldCriteria) {\n const types = previous[path].types;\n const messages = types && types[error.keyword];\n\n previous[path] = appendErrors(\n path,\n validateAllFieldCriteria,\n previous,\n error.keyword,\n messages\n ? ([] as string[]).concat(messages as string[], error.message || '')\n : error.message,\n ) as FieldError;\n }\n\n return previous;\n }, {});\n};\n\nexport const ajvResolver: Resolver =\n (schema, schemaOptions, resolverOptions = {}) =>\n async (values, _, options) => {\n const ajv = new Ajv(\n Object.assign(\n {},\n {\n allErrors: true,\n validateSchema: true,\n },\n schemaOptions,\n ),\n );\n\n ajvErrors(ajv);\n\n const validate = ajv.compile(\n Object.assign(\n { $async: resolverOptions && resolverOptions.mode === 'async' },\n schema,\n ),\n );\n\n const valid = validate(values);\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n return valid\n ? { values, errors: {} }\n : {\n values: {},\n errors: toNestError(\n parseErrorSchema(\n validate.errors as DefinedError[],\n !options.shouldUseNativeValidation &&\n options.criteriaMode === 'all',\n ),\n options,\n ),\n };\n };\n"],"names":["parseErrorSchema","ajvErrors","validateAllFieldCriteria","forEach","error","keyword","instancePath","params","missingProperty","reduce","previous","path","substring","replace","message","type","types","messages","appendErrors","concat","ajvResolver","schema","schemaOptions","resolverOptions","async","values","_","options","ajv","Ajv","Object","assign","allErrors","validateSchema","validate","compile","$async","mode","valid","shouldUseNativeValidation","validateFieldsNatively","errors","toNestError","criteriaMode"],"mappings":"0KAMA,MAAMA,EAAmBA,CACvBC,EACAC,KAGAD,EAAUE,QAASC,IACK,aAAlBA,EAAMC,UACRD,EAAME,cAAgB,IAAMF,EAAMG,OAAOC,gBAC1C,GAGIP,EAAUQ,OAAmC,CAACC,EAAUN,KAE7D,MAAMO,EAAOP,EAAME,aAAaM,UAAU,GAAGC,QAAQ,MAAO,KAS5D,GAPKH,EAASC,KACZD,EAASC,GAAQ,CACfG,QAASV,EAAMU,QACfC,KAAMX,EAAMC,UAIZH,EAA0B,CAC5B,MAAMc,EAAQN,EAASC,GAAMK,MACvBC,EAAWD,GAASA,EAAMZ,EAAMC,SAEtCK,EAASC,GAAQO,EACfP,EACAT,EACAQ,EACAN,EAAMC,QACNY,EACK,GAAgBE,OAAOF,EAAsBb,EAAMU,SAAW,IAC/DV,EAAMU,QAEb,CAED,OAAOJ,GACN,KAGQU,EACXA,CAACC,EAAQC,EAAeC,EAAkB,KAC1CC,MAAOC,EAAQC,EAAGC,KAChB,MAAMC,EAAM,IAAIC,EACdC,OAAOC,OACL,CAAE,EACF,CACEC,WAAW,EACXC,gBAAgB,GAElBX,IAIJrB,EAAU2B,GAEV,MAAMM,EAAWN,EAAIO,QACnBL,OAAOC,OACL,CAAEK,OAAQb,GAA4C,UAAzBA,EAAgBc,MAC7ChB,IAIEiB,EAAQJ,EAAST,GAIvB,OAFAE,EAAQY,2BAA6BC,EAAuB,GAAIb,GAEzDW,EACH,CAAEb,SAAQgB,OAAQ,CAAA,GAClB,CACEhB,OAAQ,GACRgB,OAAQC,EACN1C,EACEkC,EAASO,QACRd,EAAQY,2BACkB,QAAzBZ,EAAQgB,cAEZhB"}
1
+ {"version":3,"file":"ajv.modern.mjs","sources":["../src/ajv.ts"],"sourcesContent":["import { toNestErrors, validateFieldsNatively } from '@hookform/resolvers';\nimport Ajv, { DefinedError } from 'ajv';\nimport ajvErrors from 'ajv-errors';\nimport { appendErrors, FieldError } from 'react-hook-form';\nimport { Resolver } from './types';\n\nconst parseErrorSchema = (\n ajvErrors: DefinedError[],\n validateAllFieldCriteria: boolean,\n) => {\n // Ajv will return empty instancePath when require error\n ajvErrors.forEach((error) => {\n if (error.keyword === 'required') {\n error.instancePath += '/' + error.params.missingProperty;\n }\n });\n\n return ajvErrors.reduce<Record<string, FieldError>>((previous, error) => {\n // `/deepObject/data` -> `deepObject.data`\n const path = error.instancePath.substring(1).replace(/\\//g, '.');\n\n if (!previous[path]) {\n previous[path] = {\n message: error.message,\n type: error.keyword,\n };\n }\n\n if (validateAllFieldCriteria) {\n const types = previous[path].types;\n const messages = types && types[error.keyword];\n\n previous[path] = appendErrors(\n path,\n validateAllFieldCriteria,\n previous,\n error.keyword,\n messages\n ? ([] as string[]).concat(messages as string[], error.message || '')\n : error.message,\n ) as FieldError;\n }\n\n return previous;\n }, {});\n};\n\nexport const ajvResolver: Resolver =\n (schema, schemaOptions, resolverOptions = {}) =>\n async (values, _, options) => {\n const ajv = new Ajv(\n Object.assign(\n {},\n {\n allErrors: true,\n validateSchema: true,\n },\n schemaOptions,\n ),\n );\n\n ajvErrors(ajv);\n\n const validate = ajv.compile(\n Object.assign(\n { $async: resolverOptions && resolverOptions.mode === 'async' },\n schema,\n ),\n );\n\n const valid = validate(values);\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n return valid\n ? { values, errors: {} }\n : {\n values: {},\n errors: toNestErrors(\n parseErrorSchema(\n validate.errors as DefinedError[],\n !options.shouldUseNativeValidation &&\n options.criteriaMode === 'all',\n ),\n options,\n ),\n };\n };\n"],"names":["parseErrorSchema","ajvErrors","validateAllFieldCriteria","forEach","error","keyword","instancePath","params","missingProperty","reduce","previous","path","substring","replace","message","type","types","messages","appendErrors","concat","ajvResolver","schema","schemaOptions","resolverOptions","async","values","_","options","ajv","Ajv","Object","assign","allErrors","validateSchema","validate","compile","$async","mode","valid","shouldUseNativeValidation","validateFieldsNatively","errors","toNestErrors","criteriaMode"],"mappings":"2KAMA,MAAMA,EAAmBA,CACvBC,EACAC,KAGAD,EAAUE,QAASC,IACK,aAAlBA,EAAMC,UACRD,EAAME,cAAgB,IAAMF,EAAMG,OAAOC,gBAC1C,GAGIP,EAAUQ,OAAmC,CAACC,EAAUN,KAE7D,MAAMO,EAAOP,EAAME,aAAaM,UAAU,GAAGC,QAAQ,MAAO,KAS5D,GAPKH,EAASC,KACZD,EAASC,GAAQ,CACfG,QAASV,EAAMU,QACfC,KAAMX,EAAMC,UAIZH,EAA0B,CAC5B,MAAMc,EAAQN,EAASC,GAAMK,MACvBC,EAAWD,GAASA,EAAMZ,EAAMC,SAEtCK,EAASC,GAAQO,EACfP,EACAT,EACAQ,EACAN,EAAMC,QACNY,EACK,GAAgBE,OAAOF,EAAsBb,EAAMU,SAAW,IAC/DV,EAAMU,QAEb,CAED,OAAOJ,GACN,KAGQU,EACXA,CAACC,EAAQC,EAAeC,EAAkB,KAC1CC,MAAOC,EAAQC,EAAGC,KAChB,MAAMC,EAAM,IAAIC,EACdC,OAAOC,OACL,CAAE,EACF,CACEC,WAAW,EACXC,gBAAgB,GAElBX,IAIJrB,EAAU2B,GAEV,MAAMM,EAAWN,EAAIO,QACnBL,OAAOC,OACL,CAAEK,OAAQb,GAA4C,UAAzBA,EAAgBc,MAC7ChB,IAIEiB,EAAQJ,EAAST,GAIvB,OAFAE,EAAQY,2BAA6BC,EAAuB,GAAIb,GAEzDW,EACH,CAAEb,SAAQgB,OAAQ,CAAA,GAClB,CACEhB,OAAQ,GACRgB,OAAQC,EACN1C,EACEkC,EAASO,QACRd,EAAQY,2BACkB,QAAzBZ,EAAQgB,cAEZhB"}
@@ -1,2 +1,2 @@
1
- import{validateFieldsNatively as r,toNestError as e}from"@hookform/resolvers";import o from"ajv";import a from"ajv-errors";import{appendErrors as s}from"react-hook-form";var t=function(r,e){return r.forEach(function(r){"required"===r.keyword&&(r.instancePath+="/"+r.params.missingProperty)}),r.reduce(function(r,o){var a=o.instancePath.substring(1).replace(/\//g,".");if(r[a]||(r[a]={message:o.message,type:o.keyword}),e){var t=r[a].types,i=t&&t[o.keyword];r[a]=s(a,e,r,o.keyword,i?[].concat(i,o.message||""):o.message)}return r},{})},i=function(s,i,n){return void 0===n&&(n={}),function(c,m,u){try{var l=new o(Object.assign({},{allErrors:!0,validateSchema:!0},i));a(l);var v=l.compile(Object.assign({$async:n&&"async"===n.mode},s)),d=v(c);return u.shouldUseNativeValidation&&r({},u),Promise.resolve(d?{values:c,errors:{}}:{values:{},errors:e(t(v.errors,!u.shouldUseNativeValidation&&"all"===u.criteriaMode),u)})}catch(r){return Promise.reject(r)}}};export{i as ajvResolver};
1
+ import{validateFieldsNatively as r,toNestErrors as e}from"@hookform/resolvers";import o from"ajv";import a from"ajv-errors";import{appendErrors as s}from"react-hook-form";var t=function(r,e){return r.forEach(function(r){"required"===r.keyword&&(r.instancePath+="/"+r.params.missingProperty)}),r.reduce(function(r,o){var a=o.instancePath.substring(1).replace(/\//g,".");if(r[a]||(r[a]={message:o.message,type:o.keyword}),e){var t=r[a].types,i=t&&t[o.keyword];r[a]=s(a,e,r,o.keyword,i?[].concat(i,o.message||""):o.message)}return r},{})},i=function(s,i,n){return void 0===n&&(n={}),function(c,m,u){try{var l=new o(Object.assign({},{allErrors:!0,validateSchema:!0},i));a(l);var v=l.compile(Object.assign({$async:n&&"async"===n.mode},s)),d=v(c);return u.shouldUseNativeValidation&&r({},u),Promise.resolve(d?{values:c,errors:{}}:{values:{},errors:e(t(v.errors,!u.shouldUseNativeValidation&&"all"===u.criteriaMode),u)})}catch(r){return Promise.reject(r)}}};export{i as ajvResolver};
2
2
  //# sourceMappingURL=ajv.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ajv.module.js","sources":["../src/ajv.ts"],"sourcesContent":["import { toNestError, validateFieldsNatively } from '@hookform/resolvers';\nimport Ajv, { DefinedError } from 'ajv';\nimport ajvErrors from 'ajv-errors';\nimport { appendErrors, FieldError } from 'react-hook-form';\nimport { Resolver } from './types';\n\nconst parseErrorSchema = (\n ajvErrors: DefinedError[],\n validateAllFieldCriteria: boolean,\n) => {\n // Ajv will return empty instancePath when require error\n ajvErrors.forEach((error) => {\n if (error.keyword === 'required') {\n error.instancePath += '/' + error.params.missingProperty;\n }\n });\n\n return ajvErrors.reduce<Record<string, FieldError>>((previous, error) => {\n // `/deepObject/data` -> `deepObject.data`\n const path = error.instancePath.substring(1).replace(/\\//g, '.');\n\n if (!previous[path]) {\n previous[path] = {\n message: error.message,\n type: error.keyword,\n };\n }\n\n if (validateAllFieldCriteria) {\n const types = previous[path].types;\n const messages = types && types[error.keyword];\n\n previous[path] = appendErrors(\n path,\n validateAllFieldCriteria,\n previous,\n error.keyword,\n messages\n ? ([] as string[]).concat(messages as string[], error.message || '')\n : error.message,\n ) as FieldError;\n }\n\n return previous;\n }, {});\n};\n\nexport const ajvResolver: Resolver =\n (schema, schemaOptions, resolverOptions = {}) =>\n async (values, _, options) => {\n const ajv = new Ajv(\n Object.assign(\n {},\n {\n allErrors: true,\n validateSchema: true,\n },\n schemaOptions,\n ),\n );\n\n ajvErrors(ajv);\n\n const validate = ajv.compile(\n Object.assign(\n { $async: resolverOptions && resolverOptions.mode === 'async' },\n schema,\n ),\n );\n\n const valid = validate(values);\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n return valid\n ? { values, errors: {} }\n : {\n values: {},\n errors: toNestError(\n parseErrorSchema(\n validate.errors as DefinedError[],\n !options.shouldUseNativeValidation &&\n options.criteriaMode === 'all',\n ),\n options,\n ),\n };\n };\n"],"names":["parseErrorSchema","ajvErrors","validateAllFieldCriteria","forEach","error","keyword","instancePath","params","missingProperty","reduce","previous","path","substring","replace","message","type","types","messages","appendErrors","concat","ajvResolver","schema","schemaOptions","resolverOptions","values","_","options","ajv","Ajv","Object","assign","allErrors","validateSchema","validate","compile","$async","mode","valid","shouldUseNativeValidation","validateFieldsNatively","Promise","resolve","errors","toNestError","criteriaMode","e","reject"],"mappings":"0KAMA,IAAMA,EAAmB,SACvBC,EACAC,GASA,OANAD,EAAUE,QAAQ,SAACC,GACK,aAAlBA,EAAMC,UACRD,EAAME,cAAgB,IAAMF,EAAMG,OAAOC,gBAE7C,GAEOP,EAAUQ,OAAmC,SAACC,EAAUN,GAE7D,IAAMO,EAAOP,EAAME,aAAaM,UAAU,GAAGC,QAAQ,MAAO,KAS5D,GAPKH,EAASC,KACZD,EAASC,GAAQ,CACfG,QAASV,EAAMU,QACfC,KAAMX,EAAMC,UAIZH,EAA0B,CAC5B,IAAMc,EAAQN,EAASC,GAAMK,MACvBC,EAAWD,GAASA,EAAMZ,EAAMC,SAEtCK,EAASC,GAAQO,EACfP,EACAT,EACAQ,EACAN,EAAMC,QACNY,EACK,GAAgBE,OAAOF,EAAsBb,EAAMU,SAAW,IAC/DV,EAAMU,QAEb,CAED,OAAOJ,CACT,EAAG,GACL,EAEaU,EACX,SAACC,EAAQC,EAAeC,GAAoB,gBAApBA,IAAAA,EAAkB,CAAA,GAAE,SACrCC,EAAQC,EAAGC,GAAO,IACvB,IAAMC,EAAM,IAAIC,EACdC,OAAOC,OACL,CAAE,EACF,CACEC,WAAW,EACXC,gBAAgB,GAElBV,IAIJrB,EAAU0B,GAEV,IAAMM,EAAWN,EAAIO,QACnBL,OAAOC,OACL,CAAEK,OAAQZ,GAA4C,UAAzBA,EAAgBa,MAC7Cf,IAIEgB,EAAQJ,EAAST,GAIvB,OAFAE,EAAQY,2BAA6BC,EAAuB,CAAE,EAAEb,GAEhEc,QAAAC,QAAOJ,EACH,CAAEb,OAAAA,EAAQkB,OAAQ,CAAI,GACtB,CACElB,OAAQ,CAAA,EACRkB,OAAQC,EACN3C,EACEiC,EAASS,QACRhB,EAAQY,2BACkB,QAAzBZ,EAAQkB,cAEZlB,IAGV,CAAC,MAAAmB,GAAA,OAAAL,QAAAM,OAAAD,EAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"ajv.module.js","sources":["../src/ajv.ts"],"sourcesContent":["import { toNestErrors, validateFieldsNatively } from '@hookform/resolvers';\nimport Ajv, { DefinedError } from 'ajv';\nimport ajvErrors from 'ajv-errors';\nimport { appendErrors, FieldError } from 'react-hook-form';\nimport { Resolver } from './types';\n\nconst parseErrorSchema = (\n ajvErrors: DefinedError[],\n validateAllFieldCriteria: boolean,\n) => {\n // Ajv will return empty instancePath when require error\n ajvErrors.forEach((error) => {\n if (error.keyword === 'required') {\n error.instancePath += '/' + error.params.missingProperty;\n }\n });\n\n return ajvErrors.reduce<Record<string, FieldError>>((previous, error) => {\n // `/deepObject/data` -> `deepObject.data`\n const path = error.instancePath.substring(1).replace(/\\//g, '.');\n\n if (!previous[path]) {\n previous[path] = {\n message: error.message,\n type: error.keyword,\n };\n }\n\n if (validateAllFieldCriteria) {\n const types = previous[path].types;\n const messages = types && types[error.keyword];\n\n previous[path] = appendErrors(\n path,\n validateAllFieldCriteria,\n previous,\n error.keyword,\n messages\n ? ([] as string[]).concat(messages as string[], error.message || '')\n : error.message,\n ) as FieldError;\n }\n\n return previous;\n }, {});\n};\n\nexport const ajvResolver: Resolver =\n (schema, schemaOptions, resolverOptions = {}) =>\n async (values, _, options) => {\n const ajv = new Ajv(\n Object.assign(\n {},\n {\n allErrors: true,\n validateSchema: true,\n },\n schemaOptions,\n ),\n );\n\n ajvErrors(ajv);\n\n const validate = ajv.compile(\n Object.assign(\n { $async: resolverOptions && resolverOptions.mode === 'async' },\n schema,\n ),\n );\n\n const valid = validate(values);\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n return valid\n ? { values, errors: {} }\n : {\n values: {},\n errors: toNestErrors(\n parseErrorSchema(\n validate.errors as DefinedError[],\n !options.shouldUseNativeValidation &&\n options.criteriaMode === 'all',\n ),\n options,\n ),\n };\n };\n"],"names":["parseErrorSchema","ajvErrors","validateAllFieldCriteria","forEach","error","keyword","instancePath","params","missingProperty","reduce","previous","path","substring","replace","message","type","types","messages","appendErrors","concat","ajvResolver","schema","schemaOptions","resolverOptions","values","_","options","ajv","Ajv","Object","assign","allErrors","validateSchema","validate","compile","$async","mode","valid","shouldUseNativeValidation","validateFieldsNatively","Promise","resolve","errors","toNestErrors","criteriaMode","e","reject"],"mappings":"2KAMA,IAAMA,EAAmB,SACvBC,EACAC,GASA,OANAD,EAAUE,QAAQ,SAACC,GACK,aAAlBA,EAAMC,UACRD,EAAME,cAAgB,IAAMF,EAAMG,OAAOC,gBAE7C,GAEOP,EAAUQ,OAAmC,SAACC,EAAUN,GAE7D,IAAMO,EAAOP,EAAME,aAAaM,UAAU,GAAGC,QAAQ,MAAO,KAS5D,GAPKH,EAASC,KACZD,EAASC,GAAQ,CACfG,QAASV,EAAMU,QACfC,KAAMX,EAAMC,UAIZH,EAA0B,CAC5B,IAAMc,EAAQN,EAASC,GAAMK,MACvBC,EAAWD,GAASA,EAAMZ,EAAMC,SAEtCK,EAASC,GAAQO,EACfP,EACAT,EACAQ,EACAN,EAAMC,QACNY,EACK,GAAgBE,OAAOF,EAAsBb,EAAMU,SAAW,IAC/DV,EAAMU,QAEb,CAED,OAAOJ,CACT,EAAG,GACL,EAEaU,EACX,SAACC,EAAQC,EAAeC,GAAoB,gBAApBA,IAAAA,EAAkB,CAAA,GAAE,SACrCC,EAAQC,EAAGC,GAAO,IACvB,IAAMC,EAAM,IAAIC,EACdC,OAAOC,OACL,CAAE,EACF,CACEC,WAAW,EACXC,gBAAgB,GAElBV,IAIJrB,EAAU0B,GAEV,IAAMM,EAAWN,EAAIO,QACnBL,OAAOC,OACL,CAAEK,OAAQZ,GAA4C,UAAzBA,EAAgBa,MAC7Cf,IAIEgB,EAAQJ,EAAST,GAIvB,OAFAE,EAAQY,2BAA6BC,EAAuB,CAAE,EAAEb,GAEhEc,QAAAC,QAAOJ,EACH,CAAEb,OAAAA,EAAQkB,OAAQ,CAAI,GACtB,CACElB,OAAQ,CAAA,EACRkB,OAAQC,EACN3C,EACEiC,EAASS,QACRhB,EAAQY,2BACkB,QAAzBZ,EAAQkB,cAEZlB,IAGV,CAAC,MAAAmB,GAAA,OAAAL,QAAAM,OAAAD,EAAA,CAAA,CAAA"}
@@ -1,2 +1,2 @@
1
- !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@hookform/resolvers"),require("ajv"),require("ajv-errors"),require("react-hook-form")):"function"==typeof define&&define.amd?define(["exports","@hookform/resolvers","ajv","ajv-errors","react-hook-form"],r):r((e||self).hookformResolversAjv={},e.hookformResolvers,e.ajv,e.ajvErrors,e.ReactHookForm)}(this,function(e,r,o,a,s){function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=/*#__PURE__*/t(o),n=/*#__PURE__*/t(a),u=function(e,r){return e.forEach(function(e){"required"===e.keyword&&(e.instancePath+="/"+e.params.missingProperty)}),e.reduce(function(e,o){var a=o.instancePath.substring(1).replace(/\//g,".");if(e[a]||(e[a]={message:o.message,type:o.keyword}),r){var t=e[a].types,i=t&&t[o.keyword];e[a]=s.appendErrors(a,r,e,o.keyword,i?[].concat(i,o.message||""):o.message)}return e},{})};e.ajvResolver=function(e,o,a){return void 0===a&&(a={}),function(s,t,f){try{var l=new i.default(Object.assign({},{allErrors:!0,validateSchema:!0},o));n.default(l);var c=l.compile(Object.assign({$async:a&&"async"===a.mode},e)),d=c(s);return f.shouldUseNativeValidation&&r.validateFieldsNatively({},f),Promise.resolve(d?{values:s,errors:{}}:{values:{},errors:r.toNestError(u(c.errors,!f.shouldUseNativeValidation&&"all"===f.criteriaMode),f)})}catch(e){return Promise.reject(e)}}}});
1
+ !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@hookform/resolvers"),require("ajv"),require("ajv-errors"),require("react-hook-form")):"function"==typeof define&&define.amd?define(["exports","@hookform/resolvers","ajv","ajv-errors","react-hook-form"],r):r((e||self).hookformResolversAjv={},e.hookformResolvers,e.ajv,e.ajvErrors,e.ReactHookForm)}(this,function(e,r,o,a,s){function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=/*#__PURE__*/t(o),n=/*#__PURE__*/t(a),u=function(e,r){return e.forEach(function(e){"required"===e.keyword&&(e.instancePath+="/"+e.params.missingProperty)}),e.reduce(function(e,o){var a=o.instancePath.substring(1).replace(/\//g,".");if(e[a]||(e[a]={message:o.message,type:o.keyword}),r){var t=e[a].types,i=t&&t[o.keyword];e[a]=s.appendErrors(a,r,e,o.keyword,i?[].concat(i,o.message||""):o.message)}return e},{})};e.ajvResolver=function(e,o,a){return void 0===a&&(a={}),function(s,t,f){try{var l=new i.default(Object.assign({},{allErrors:!0,validateSchema:!0},o));n.default(l);var c=l.compile(Object.assign({$async:a&&"async"===a.mode},e)),d=c(s);return f.shouldUseNativeValidation&&r.validateFieldsNatively({},f),Promise.resolve(d?{values:s,errors:{}}:{values:{},errors:r.toNestErrors(u(c.errors,!f.shouldUseNativeValidation&&"all"===f.criteriaMode),f)})}catch(e){return Promise.reject(e)}}}});
2
2
  //# sourceMappingURL=ajv.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ajv.umd.js","sources":["../src/ajv.ts"],"sourcesContent":["import { toNestError, validateFieldsNatively } from '@hookform/resolvers';\nimport Ajv, { DefinedError } from 'ajv';\nimport ajvErrors from 'ajv-errors';\nimport { appendErrors, FieldError } from 'react-hook-form';\nimport { Resolver } from './types';\n\nconst parseErrorSchema = (\n ajvErrors: DefinedError[],\n validateAllFieldCriteria: boolean,\n) => {\n // Ajv will return empty instancePath when require error\n ajvErrors.forEach((error) => {\n if (error.keyword === 'required') {\n error.instancePath += '/' + error.params.missingProperty;\n }\n });\n\n return ajvErrors.reduce<Record<string, FieldError>>((previous, error) => {\n // `/deepObject/data` -> `deepObject.data`\n const path = error.instancePath.substring(1).replace(/\\//g, '.');\n\n if (!previous[path]) {\n previous[path] = {\n message: error.message,\n type: error.keyword,\n };\n }\n\n if (validateAllFieldCriteria) {\n const types = previous[path].types;\n const messages = types && types[error.keyword];\n\n previous[path] = appendErrors(\n path,\n validateAllFieldCriteria,\n previous,\n error.keyword,\n messages\n ? ([] as string[]).concat(messages as string[], error.message || '')\n : error.message,\n ) as FieldError;\n }\n\n return previous;\n }, {});\n};\n\nexport const ajvResolver: Resolver =\n (schema, schemaOptions, resolverOptions = {}) =>\n async (values, _, options) => {\n const ajv = new Ajv(\n Object.assign(\n {},\n {\n allErrors: true,\n validateSchema: true,\n },\n schemaOptions,\n ),\n );\n\n ajvErrors(ajv);\n\n const validate = ajv.compile(\n Object.assign(\n { $async: resolverOptions && resolverOptions.mode === 'async' },\n schema,\n ),\n );\n\n const valid = validate(values);\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n return valid\n ? { values, errors: {} }\n : {\n values: {},\n errors: toNestError(\n parseErrorSchema(\n validate.errors as DefinedError[],\n !options.shouldUseNativeValidation &&\n options.criteriaMode === 'all',\n ),\n options,\n ),\n };\n };\n"],"names":["parseErrorSchema","ajvErrors","validateAllFieldCriteria","forEach","error","keyword","instancePath","params","missingProperty","reduce","previous","path","substring","replace","message","type","types","messages","appendErrors","concat","schema","schemaOptions","resolverOptions","values","_","options","ajv","Ajv","Object","assign","allErrors","validateSchema","validate","compile","$async","mode","valid","shouldUseNativeValidation","validateFieldsNatively","Promise","resolve","errors","toNestError","criteriaMode","e","reject"],"mappings":"0jBAMMA,EAAmB,SACvBC,EACAC,GASA,OANAD,EAAUE,QAAQ,SAACC,GACK,aAAlBA,EAAMC,UACRD,EAAME,cAAgB,IAAMF,EAAMG,OAAOC,gBAE7C,GAEOP,EAAUQ,OAAmC,SAACC,EAAUN,GAE7D,IAAMO,EAAOP,EAAME,aAAaM,UAAU,GAAGC,QAAQ,MAAO,KAS5D,GAPKH,EAASC,KACZD,EAASC,GAAQ,CACfG,QAASV,EAAMU,QACfC,KAAMX,EAAMC,UAIZH,EAA0B,CAC5B,IAAMc,EAAQN,EAASC,GAAMK,MACvBC,EAAWD,GAASA,EAAMZ,EAAMC,SAEtCK,EAASC,GAAQO,eACfP,EACAT,EACAQ,EACAN,EAAMC,QACNY,EACK,GAAgBE,OAAOF,EAAsBb,EAAMU,SAAW,IAC/DV,EAAMU,QAEb,CAED,OAAOJ,CACT,EAAG,GACL,gBAGE,SAACU,EAAQC,EAAeC,GAAoB,gBAApBA,IAAAA,EAAkB,CAAA,GAAE,SACrCC,EAAQC,EAAGC,GAAO,IACvB,IAAMC,EAAM,IAAIC,UACdC,OAAOC,OACL,CAAE,EACF,CACEC,WAAW,EACXC,gBAAgB,GAElBV,IAIJpB,EAAS,QAACyB,GAEV,IAAMM,EAAWN,EAAIO,QACnBL,OAAOC,OACL,CAAEK,OAAQZ,GAA4C,UAAzBA,EAAgBa,MAC7Cf,IAIEgB,EAAQJ,EAAST,GAIvB,OAFAE,EAAQY,2BAA6BC,EAAAA,uBAAuB,CAAE,EAAEb,GAEhEc,QAAAC,QAAOJ,EACH,CAAEb,OAAAA,EAAQkB,OAAQ,CAAI,GACtB,CACElB,OAAQ,CAAA,EACRkB,OAAQC,cACN1C,EACEgC,EAASS,QACRhB,EAAQY,2BACkB,QAAzBZ,EAAQkB,cAEZlB,IAGV,CAAC,MAAAmB,GAAA,OAAAL,QAAAM,OAAAD,EAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"ajv.umd.js","sources":["../src/ajv.ts"],"sourcesContent":["import { toNestErrors, validateFieldsNatively } from '@hookform/resolvers';\nimport Ajv, { DefinedError } from 'ajv';\nimport ajvErrors from 'ajv-errors';\nimport { appendErrors, FieldError } from 'react-hook-form';\nimport { Resolver } from './types';\n\nconst parseErrorSchema = (\n ajvErrors: DefinedError[],\n validateAllFieldCriteria: boolean,\n) => {\n // Ajv will return empty instancePath when require error\n ajvErrors.forEach((error) => {\n if (error.keyword === 'required') {\n error.instancePath += '/' + error.params.missingProperty;\n }\n });\n\n return ajvErrors.reduce<Record<string, FieldError>>((previous, error) => {\n // `/deepObject/data` -> `deepObject.data`\n const path = error.instancePath.substring(1).replace(/\\//g, '.');\n\n if (!previous[path]) {\n previous[path] = {\n message: error.message,\n type: error.keyword,\n };\n }\n\n if (validateAllFieldCriteria) {\n const types = previous[path].types;\n const messages = types && types[error.keyword];\n\n previous[path] = appendErrors(\n path,\n validateAllFieldCriteria,\n previous,\n error.keyword,\n messages\n ? ([] as string[]).concat(messages as string[], error.message || '')\n : error.message,\n ) as FieldError;\n }\n\n return previous;\n }, {});\n};\n\nexport const ajvResolver: Resolver =\n (schema, schemaOptions, resolverOptions = {}) =>\n async (values, _, options) => {\n const ajv = new Ajv(\n Object.assign(\n {},\n {\n allErrors: true,\n validateSchema: true,\n },\n schemaOptions,\n ),\n );\n\n ajvErrors(ajv);\n\n const validate = ajv.compile(\n Object.assign(\n { $async: resolverOptions && resolverOptions.mode === 'async' },\n schema,\n ),\n );\n\n const valid = validate(values);\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n return valid\n ? { values, errors: {} }\n : {\n values: {},\n errors: toNestErrors(\n parseErrorSchema(\n validate.errors as DefinedError[],\n !options.shouldUseNativeValidation &&\n options.criteriaMode === 'all',\n ),\n options,\n ),\n };\n };\n"],"names":["parseErrorSchema","ajvErrors","validateAllFieldCriteria","forEach","error","keyword","instancePath","params","missingProperty","reduce","previous","path","substring","replace","message","type","types","messages","appendErrors","concat","schema","schemaOptions","resolverOptions","values","_","options","ajv","Ajv","Object","assign","allErrors","validateSchema","validate","compile","$async","mode","valid","shouldUseNativeValidation","validateFieldsNatively","Promise","resolve","errors","toNestErrors","criteriaMode","e","reject"],"mappings":"0jBAMMA,EAAmB,SACvBC,EACAC,GASA,OANAD,EAAUE,QAAQ,SAACC,GACK,aAAlBA,EAAMC,UACRD,EAAME,cAAgB,IAAMF,EAAMG,OAAOC,gBAE7C,GAEOP,EAAUQ,OAAmC,SAACC,EAAUN,GAE7D,IAAMO,EAAOP,EAAME,aAAaM,UAAU,GAAGC,QAAQ,MAAO,KAS5D,GAPKH,EAASC,KACZD,EAASC,GAAQ,CACfG,QAASV,EAAMU,QACfC,KAAMX,EAAMC,UAIZH,EAA0B,CAC5B,IAAMc,EAAQN,EAASC,GAAMK,MACvBC,EAAWD,GAASA,EAAMZ,EAAMC,SAEtCK,EAASC,GAAQO,eACfP,EACAT,EACAQ,EACAN,EAAMC,QACNY,EACK,GAAgBE,OAAOF,EAAsBb,EAAMU,SAAW,IAC/DV,EAAMU,QAEb,CAED,OAAOJ,CACT,EAAG,GACL,gBAGE,SAACU,EAAQC,EAAeC,GAAoB,gBAApBA,IAAAA,EAAkB,CAAA,GAAE,SACrCC,EAAQC,EAAGC,GAAO,IACvB,IAAMC,EAAM,IAAIC,UACdC,OAAOC,OACL,CAAE,EACF,CACEC,WAAW,EACXC,gBAAgB,GAElBV,IAIJpB,EAAS,QAACyB,GAEV,IAAMM,EAAWN,EAAIO,QACnBL,OAAOC,OACL,CAAEK,OAAQZ,GAA4C,UAAzBA,EAAgBa,MAC7Cf,IAIEgB,EAAQJ,EAAST,GAIvB,OAFAE,EAAQY,2BAA6BC,EAAAA,uBAAuB,CAAE,EAAEb,GAEhEc,QAAAC,QAAOJ,EACH,CAAEb,OAAAA,EAAQkB,OAAQ,CAAI,GACtB,CACElB,OAAQ,CAAA,EACRkB,OAAQC,eACN1C,EACEgC,EAASS,QACRhB,EAAQY,2BACkB,QAAzBZ,EAAQkB,cAEZlB,IAGV,CAAC,MAAAmB,GAAA,OAAAL,QAAAM,OAAAD,EAAA,CAAA,CAAA"}
package/ajv/src/ajv.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { toNestError, validateFieldsNatively } from '@hookform/resolvers';
1
+ import { toNestErrors, validateFieldsNatively } from '@hookform/resolvers';
2
2
  import Ajv, { DefinedError } from 'ajv';
3
3
  import ajvErrors from 'ajv-errors';
4
4
  import { appendErrors, FieldError } from 'react-hook-form';
@@ -76,7 +76,7 @@ export const ajvResolver: Resolver =
76
76
  ? { values, errors: {} }
77
77
  : {
78
78
  values: {},
79
- errors: toNestError(
79
+ errors: toNestErrors(
80
80
  parseErrorSchema(
81
81
  validate.errors as DefinedError[],
82
82
  !options.shouldUseNativeValidation &&
@@ -1,2 +1,2 @@
1
- var r=require("@hookform/resolvers"),e=function(r){for(var e={};r.length;){var o=r[0],a=o.path.join(".");e[a]||(e[a]={message:o.message,type:o.code}),r.shift()}return e};exports.arktypeResolver=function(o,a,s){return void 0===s&&(s={}),function(a,t,i){var l=o(a);return l.problems?{values:{},errors:r.toNestError(e(l.problems),i)}:(i.shouldUseNativeValidation&&r.validateFieldsNatively({},i),{errors:{},values:s.raw?a:l.data})}};
1
+ var r=require("@hookform/resolvers"),e=function(r){for(var e={};r.length;){var o=r[0],s=o.path.join(".");e[s]||(e[s]={message:o.message,type:o.code}),r.shift()}return e};exports.arktypeResolver=function(o,s,a){return void 0===a&&(a={}),function(s,t,i){var l=o(s);return l.problems?{values:{},errors:r.toNestErrors(e(l.problems),i)}:(i.shouldUseNativeValidation&&r.validateFieldsNatively({},i),{errors:{},values:a.raw?s:l.data})}};
2
2
  //# sourceMappingURL=arktype.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"arktype.js","sources":["../src/arktype.ts"],"sourcesContent":["import { FieldError, FieldErrors } from 'react-hook-form';\nimport { toNestError, validateFieldsNatively } from '@hookform/resolvers';\nimport type { Resolver } from './types';\nimport { Problems } from 'arktype';\n\nconst parseErrorSchema = (e: Problems) => {\n const errors: Record<string, FieldError> = {};\n for (; e.length; ) {\n const error = e[0];\n const _path = error.path.join('.');\n\n if (!errors[_path]) {\n errors[_path] = { message: error.message, type: error.code };\n }\n\n // @ts-expect-error - false positive Property 'shift' does not exist on type 'Problems'.\n e.shift();\n }\n\n return errors;\n};\n\nexport const arktypeResolver: Resolver =\n (schema, _schemaOptions, resolverOptions = {}) =>\n (values, _, options) => {\n const result = schema(values);\n\n if (result.problems) {\n return {\n values: {},\n errors: toNestError(parseErrorSchema(result.problems), options),\n };\n }\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n return {\n errors: {} as FieldErrors,\n values: resolverOptions.raw ? values : result.data,\n };\n };\n"],"names":["parseErrorSchema","e","errors","length","error","_path","path","join","message","type","code","shift","schema","_schemaOptions","resolverOptions","values","_","options","result","problems","toNestError","shouldUseNativeValidation","validateFieldsNatively","raw","data"],"mappings":"qCAKMA,EAAmB,SAACC,GAExB,IADA,IAAMC,EAAqC,GACpCD,EAAEE,QAAU,CACjB,IAAMC,EAAQH,EAAE,GACVI,EAAQD,EAAME,KAAKC,KAAK,KAEzBL,EAAOG,KACVH,EAAOG,GAAS,CAAEG,QAASJ,EAAMI,QAASC,KAAML,EAAMM,OAIxDT,EAAEU,OACH,CAED,OAAOT,CACT,0BAGE,SAACU,EAAQC,EAAgBC,GAAoB,gBAApBA,IAAAA,EAAkB,CAAE,YAC5CC,EAAQC,EAAGC,GACV,IAAMC,EAASN,EAAOG,GAEtB,OAAIG,EAAOC,SACF,CACLJ,OAAQ,CAAA,EACRb,OAAQkB,EAAWA,YAACpB,EAAiBkB,EAAOC,UAAWF,KAI3DA,EAAQI,2BAA6BC,EAAsBA,uBAAC,GAAIL,GAEzD,CACLf,OAAQ,CAAiB,EACzBa,OAAQD,EAAgBS,IAAMR,EAASG,EAAOM,MAElD,CAAC"}
1
+ {"version":3,"file":"arktype.js","sources":["../src/arktype.ts"],"sourcesContent":["import { FieldError, FieldErrors } from 'react-hook-form';\nimport { toNestErrors, validateFieldsNatively } from '@hookform/resolvers';\nimport type { Resolver } from './types';\nimport { Problems } from 'arktype';\n\nconst parseErrorSchema = (e: Problems) => {\n const errors: Record<string, FieldError> = {};\n for (; e.length; ) {\n const error = e[0];\n const _path = error.path.join('.');\n\n if (!errors[_path]) {\n errors[_path] = { message: error.message, type: error.code };\n }\n\n // @ts-expect-error - false positive Property 'shift' does not exist on type 'Problems'.\n e.shift();\n }\n\n return errors;\n};\n\nexport const arktypeResolver: Resolver =\n (schema, _schemaOptions, resolverOptions = {}) =>\n (values, _, options) => {\n const result = schema(values);\n\n if (result.problems) {\n return {\n values: {},\n errors: toNestErrors(parseErrorSchema(result.problems), options),\n };\n }\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n return {\n errors: {} as FieldErrors,\n values: resolverOptions.raw ? values : result.data,\n };\n };\n"],"names":["parseErrorSchema","e","errors","length","error","_path","path","join","message","type","code","shift","schema","_schemaOptions","resolverOptions","values","_","options","result","problems","toNestErrors","shouldUseNativeValidation","validateFieldsNatively","raw","data"],"mappings":"qCAKMA,EAAmB,SAACC,GAExB,IADA,IAAMC,EAAqC,GACpCD,EAAEE,QAAU,CACjB,IAAMC,EAAQH,EAAE,GACVI,EAAQD,EAAME,KAAKC,KAAK,KAEzBL,EAAOG,KACVH,EAAOG,GAAS,CAAEG,QAASJ,EAAMI,QAASC,KAAML,EAAMM,OAIxDT,EAAEU,OACH,CAED,OAAOT,CACT,0BAGE,SAACU,EAAQC,EAAgBC,GAAoB,gBAApBA,IAAAA,EAAkB,CAAE,YAC5CC,EAAQC,EAAGC,GACV,IAAMC,EAASN,EAAOG,GAEtB,OAAIG,EAAOC,SACF,CACLJ,OAAQ,CAAA,EACRb,OAAQkB,EAAYA,aAACpB,EAAiBkB,EAAOC,UAAWF,KAI5DA,EAAQI,2BAA6BC,EAAsBA,uBAAC,GAAIL,GAEzD,CACLf,OAAQ,CAAiB,EACzBa,OAAQD,EAAgBS,IAAMR,EAASG,EAAOM,MAElD,CAAC"}
@@ -1,2 +1,2 @@
1
- import{toNestError as r,validateFieldsNatively as e}from"@hookform/resolvers";var o=function(r){for(var e={};r.length;){var o=r[0],a=o.path.join(".");e[a]||(e[a]={message:o.message,type:o.code}),r.shift()}return e},a=function(a,s,t){return void 0===t&&(t={}),function(s,n,i){var u=a(s);return u.problems?{values:{},errors:r(o(u.problems),i)}:(i.shouldUseNativeValidation&&e({},i),{errors:{},values:t.raw?s:u.data})}};export{a as arktypeResolver};
1
+ import{toNestErrors as r,validateFieldsNatively as e}from"@hookform/resolvers";var o=function(r){for(var e={};r.length;){var o=r[0],a=o.path.join(".");e[a]||(e[a]={message:o.message,type:o.code}),r.shift()}return e},a=function(a,s,t){return void 0===t&&(t={}),function(s,n,i){var u=a(s);return u.problems?{values:{},errors:r(o(u.problems),i)}:(i.shouldUseNativeValidation&&e({},i),{errors:{},values:t.raw?s:u.data})}};export{a as arktypeResolver};
2
2
  //# sourceMappingURL=arktype.module.js.map
@@ -1,2 +1,2 @@
1
- import{toNestError as e,validateFieldsNatively as o}from"@hookform/resolvers";const r=e=>{const o={};for(;e.length;){const r=e[0],s=r.path.join(".");o[s]||(o[s]={message:r.message,type:r.code}),e.shift()}return o},s=(s,t,a={})=>(t,n,l)=>{const m=s(t);return m.problems?{values:{},errors:e(r(m.problems),l)}:(l.shouldUseNativeValidation&&o({},l),{errors:{},values:a.raw?t:m.data})};export{s as arktypeResolver};
1
+ import{toNestErrors as e,validateFieldsNatively as o}from"@hookform/resolvers";const r=e=>{const o={};for(;e.length;){const r=e[0],s=r.path.join(".");o[s]||(o[s]={message:r.message,type:r.code}),e.shift()}return o},s=(s,t,a={})=>(t,n,l)=>{const m=s(t);return m.problems?{values:{},errors:e(r(m.problems),l)}:(l.shouldUseNativeValidation&&o({},l),{errors:{},values:a.raw?t:m.data})};export{s as arktypeResolver};
2
2
  //# sourceMappingURL=arktype.modern.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"arktype.modern.mjs","sources":["../src/arktype.ts"],"sourcesContent":["import { FieldError, FieldErrors } from 'react-hook-form';\nimport { toNestError, validateFieldsNatively } from '@hookform/resolvers';\nimport type { Resolver } from './types';\nimport { Problems } from 'arktype';\n\nconst parseErrorSchema = (e: Problems) => {\n const errors: Record<string, FieldError> = {};\n for (; e.length; ) {\n const error = e[0];\n const _path = error.path.join('.');\n\n if (!errors[_path]) {\n errors[_path] = { message: error.message, type: error.code };\n }\n\n // @ts-expect-error - false positive Property 'shift' does not exist on type 'Problems'.\n e.shift();\n }\n\n return errors;\n};\n\nexport const arktypeResolver: Resolver =\n (schema, _schemaOptions, resolverOptions = {}) =>\n (values, _, options) => {\n const result = schema(values);\n\n if (result.problems) {\n return {\n values: {},\n errors: toNestError(parseErrorSchema(result.problems), options),\n };\n }\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n return {\n errors: {} as FieldErrors,\n values: resolverOptions.raw ? values : result.data,\n };\n };\n"],"names":["parseErrorSchema","e","errors","length","error","_path","path","join","message","type","code","shift","arktypeResolver","schema","_schemaOptions","resolverOptions","values","_","options","result","problems","toNestError","shouldUseNativeValidation","validateFieldsNatively","raw","data"],"mappings":"8EAKA,MAAMA,EAAoBC,IACxB,MAAMC,EAAqC,CAAA,EAC3C,KAAOD,EAAEE,QAAU,CACjB,MAAMC,EAAQH,EAAE,GACVI,EAAQD,EAAME,KAAKC,KAAK,KAEzBL,EAAOG,KACVH,EAAOG,GAAS,CAAEG,QAASJ,EAAMI,QAASC,KAAML,EAAMM,OAIxDT,EAAEU,OACH,CAED,OAAOT,GAGIU,EACXA,CAACC,EAAQC,EAAgBC,EAAkB,CAAE,IAC7C,CAACC,EAAQC,EAAGC,KACV,MAAMC,EAASN,EAAOG,GAEtB,OAAIG,EAAOC,SACF,CACLJ,OAAQ,CAAE,EACVd,OAAQmB,EAAYrB,EAAiBmB,EAAOC,UAAWF,KAI3DA,EAAQI,2BAA6BC,EAAuB,CAAA,EAAIL,GAEzD,CACLhB,OAAQ,CAAiB,EACzBc,OAAQD,EAAgBS,IAAMR,EAASG,EAAOM"}
1
+ {"version":3,"file":"arktype.modern.mjs","sources":["../src/arktype.ts"],"sourcesContent":["import { FieldError, FieldErrors } from 'react-hook-form';\nimport { toNestErrors, validateFieldsNatively } from '@hookform/resolvers';\nimport type { Resolver } from './types';\nimport { Problems } from 'arktype';\n\nconst parseErrorSchema = (e: Problems) => {\n const errors: Record<string, FieldError> = {};\n for (; e.length; ) {\n const error = e[0];\n const _path = error.path.join('.');\n\n if (!errors[_path]) {\n errors[_path] = { message: error.message, type: error.code };\n }\n\n // @ts-expect-error - false positive Property 'shift' does not exist on type 'Problems'.\n e.shift();\n }\n\n return errors;\n};\n\nexport const arktypeResolver: Resolver =\n (schema, _schemaOptions, resolverOptions = {}) =>\n (values, _, options) => {\n const result = schema(values);\n\n if (result.problems) {\n return {\n values: {},\n errors: toNestErrors(parseErrorSchema(result.problems), options),\n };\n }\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n return {\n errors: {} as FieldErrors,\n values: resolverOptions.raw ? values : result.data,\n };\n };\n"],"names":["parseErrorSchema","e","errors","length","error","_path","path","join","message","type","code","shift","arktypeResolver","schema","_schemaOptions","resolverOptions","values","_","options","result","problems","toNestErrors","shouldUseNativeValidation","validateFieldsNatively","raw","data"],"mappings":"+EAKA,MAAMA,EAAoBC,IACxB,MAAMC,EAAqC,CAAA,EAC3C,KAAOD,EAAEE,QAAU,CACjB,MAAMC,EAAQH,EAAE,GACVI,EAAQD,EAAME,KAAKC,KAAK,KAEzBL,EAAOG,KACVH,EAAOG,GAAS,CAAEG,QAASJ,EAAMI,QAASC,KAAML,EAAMM,OAIxDT,EAAEU,OACH,CAED,OAAOT,GAGIU,EACXA,CAACC,EAAQC,EAAgBC,EAAkB,CAAE,IAC7C,CAACC,EAAQC,EAAGC,KACV,MAAMC,EAASN,EAAOG,GAEtB,OAAIG,EAAOC,SACF,CACLJ,OAAQ,CAAE,EACVd,OAAQmB,EAAarB,EAAiBmB,EAAOC,UAAWF,KAI5DA,EAAQI,2BAA6BC,EAAuB,CAAA,EAAIL,GAEzD,CACLhB,OAAQ,CAAiB,EACzBc,OAAQD,EAAgBS,IAAMR,EAASG,EAAOM"}
@@ -1,2 +1,2 @@
1
- import{toNestError as r,validateFieldsNatively as e}from"@hookform/resolvers";var o=function(r){for(var e={};r.length;){var o=r[0],a=o.path.join(".");e[a]||(e[a]={message:o.message,type:o.code}),r.shift()}return e},a=function(a,s,t){return void 0===t&&(t={}),function(s,n,i){var u=a(s);return u.problems?{values:{},errors:r(o(u.problems),i)}:(i.shouldUseNativeValidation&&e({},i),{errors:{},values:t.raw?s:u.data})}};export{a as arktypeResolver};
1
+ import{toNestErrors as r,validateFieldsNatively as e}from"@hookform/resolvers";var o=function(r){for(var e={};r.length;){var o=r[0],a=o.path.join(".");e[a]||(e[a]={message:o.message,type:o.code}),r.shift()}return e},a=function(a,s,t){return void 0===t&&(t={}),function(s,n,i){var u=a(s);return u.problems?{values:{},errors:r(o(u.problems),i)}:(i.shouldUseNativeValidation&&e({},i),{errors:{},values:t.raw?s:u.data})}};export{a as arktypeResolver};
2
2
  //# sourceMappingURL=arktype.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"arktype.module.js","sources":["../src/arktype.ts"],"sourcesContent":["import { FieldError, FieldErrors } from 'react-hook-form';\nimport { toNestError, validateFieldsNatively } from '@hookform/resolvers';\nimport type { Resolver } from './types';\nimport { Problems } from 'arktype';\n\nconst parseErrorSchema = (e: Problems) => {\n const errors: Record<string, FieldError> = {};\n for (; e.length; ) {\n const error = e[0];\n const _path = error.path.join('.');\n\n if (!errors[_path]) {\n errors[_path] = { message: error.message, type: error.code };\n }\n\n // @ts-expect-error - false positive Property 'shift' does not exist on type 'Problems'.\n e.shift();\n }\n\n return errors;\n};\n\nexport const arktypeResolver: Resolver =\n (schema, _schemaOptions, resolverOptions = {}) =>\n (values, _, options) => {\n const result = schema(values);\n\n if (result.problems) {\n return {\n values: {},\n errors: toNestError(parseErrorSchema(result.problems), options),\n };\n }\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n return {\n errors: {} as FieldErrors,\n values: resolverOptions.raw ? values : result.data,\n };\n };\n"],"names":["parseErrorSchema","e","errors","length","error","_path","path","join","message","type","code","shift","arktypeResolver","schema","_schemaOptions","resolverOptions","values","_","options","result","problems","toNestError","shouldUseNativeValidation","validateFieldsNatively","raw","data"],"mappings":"8EAKA,IAAMA,EAAmB,SAACC,GAExB,IADA,IAAMC,EAAqC,GACpCD,EAAEE,QAAU,CACjB,IAAMC,EAAQH,EAAE,GACVI,EAAQD,EAAME,KAAKC,KAAK,KAEzBL,EAAOG,KACVH,EAAOG,GAAS,CAAEG,QAASJ,EAAMI,QAASC,KAAML,EAAMM,OAIxDT,EAAEU,OACH,CAED,OAAOT,CACT,EAEaU,EACX,SAACC,EAAQC,EAAgBC,GAAoB,gBAApBA,IAAAA,EAAkB,CAAE,YAC5CC,EAAQC,EAAGC,GACV,IAAMC,EAASN,EAAOG,GAEtB,OAAIG,EAAOC,SACF,CACLJ,OAAQ,CAAA,EACRd,OAAQmB,EAAYrB,EAAiBmB,EAAOC,UAAWF,KAI3DA,EAAQI,2BAA6BC,EAAuB,GAAIL,GAEzD,CACLhB,OAAQ,CAAiB,EACzBc,OAAQD,EAAgBS,IAAMR,EAASG,EAAOM,MAElD,CAAC"}
1
+ {"version":3,"file":"arktype.module.js","sources":["../src/arktype.ts"],"sourcesContent":["import { FieldError, FieldErrors } from 'react-hook-form';\nimport { toNestErrors, validateFieldsNatively } from '@hookform/resolvers';\nimport type { Resolver } from './types';\nimport { Problems } from 'arktype';\n\nconst parseErrorSchema = (e: Problems) => {\n const errors: Record<string, FieldError> = {};\n for (; e.length; ) {\n const error = e[0];\n const _path = error.path.join('.');\n\n if (!errors[_path]) {\n errors[_path] = { message: error.message, type: error.code };\n }\n\n // @ts-expect-error - false positive Property 'shift' does not exist on type 'Problems'.\n e.shift();\n }\n\n return errors;\n};\n\nexport const arktypeResolver: Resolver =\n (schema, _schemaOptions, resolverOptions = {}) =>\n (values, _, options) => {\n const result = schema(values);\n\n if (result.problems) {\n return {\n values: {},\n errors: toNestErrors(parseErrorSchema(result.problems), options),\n };\n }\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n return {\n errors: {} as FieldErrors,\n values: resolverOptions.raw ? values : result.data,\n };\n };\n"],"names":["parseErrorSchema","e","errors","length","error","_path","path","join","message","type","code","shift","arktypeResolver","schema","_schemaOptions","resolverOptions","values","_","options","result","problems","toNestErrors","shouldUseNativeValidation","validateFieldsNatively","raw","data"],"mappings":"+EAKA,IAAMA,EAAmB,SAACC,GAExB,IADA,IAAMC,EAAqC,GACpCD,EAAEE,QAAU,CACjB,IAAMC,EAAQH,EAAE,GACVI,EAAQD,EAAME,KAAKC,KAAK,KAEzBL,EAAOG,KACVH,EAAOG,GAAS,CAAEG,QAASJ,EAAMI,QAASC,KAAML,EAAMM,OAIxDT,EAAEU,OACH,CAED,OAAOT,CACT,EAEaU,EACX,SAACC,EAAQC,EAAgBC,GAAoB,gBAApBA,IAAAA,EAAkB,CAAE,YAC5CC,EAAQC,EAAGC,GACV,IAAMC,EAASN,EAAOG,GAEtB,OAAIG,EAAOC,SACF,CACLJ,OAAQ,CAAA,EACRd,OAAQmB,EAAarB,EAAiBmB,EAAOC,UAAWF,KAI5DA,EAAQI,2BAA6BC,EAAuB,GAAIL,GAEzD,CACLhB,OAAQ,CAAiB,EACzBc,OAAQD,EAAgBS,IAAMR,EAASG,EAAOM,MAElD,CAAC"}
@@ -1,2 +1,2 @@
1
- !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("@hookform/resolvers")):"function"==typeof define&&define.amd?define(["exports","@hookform/resolvers"],o):o((e||self).hookformResolversArktype={},e.hookformResolvers)}(this,function(e,o){var r=function(e){for(var o={};e.length;){var r=e[0],s=r.path.join(".");o[s]||(o[s]={message:r.message,type:r.code}),e.shift()}return o};e.arktypeResolver=function(e,s,t){return void 0===t&&(t={}),function(s,n,i){var a=e(s);return a.problems?{values:{},errors:o.toNestError(r(a.problems),i)}:(i.shouldUseNativeValidation&&o.validateFieldsNatively({},i),{errors:{},values:t.raw?s:a.data})}}});
1
+ !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("@hookform/resolvers")):"function"==typeof define&&define.amd?define(["exports","@hookform/resolvers"],o):o((e||self).hookformResolversArktype={},e.hookformResolvers)}(this,function(e,o){var r=function(e){for(var o={};e.length;){var r=e[0],s=r.path.join(".");o[s]||(o[s]={message:r.message,type:r.code}),e.shift()}return o};e.arktypeResolver=function(e,s,t){return void 0===t&&(t={}),function(s,n,i){var a=e(s);return a.problems?{values:{},errors:o.toNestErrors(r(a.problems),i)}:(i.shouldUseNativeValidation&&o.validateFieldsNatively({},i),{errors:{},values:t.raw?s:a.data})}}});
2
2
  //# sourceMappingURL=arktype.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"arktype.umd.js","sources":["../src/arktype.ts"],"sourcesContent":["import { FieldError, FieldErrors } from 'react-hook-form';\nimport { toNestError, validateFieldsNatively } from '@hookform/resolvers';\nimport type { Resolver } from './types';\nimport { Problems } from 'arktype';\n\nconst parseErrorSchema = (e: Problems) => {\n const errors: Record<string, FieldError> = {};\n for (; e.length; ) {\n const error = e[0];\n const _path = error.path.join('.');\n\n if (!errors[_path]) {\n errors[_path] = { message: error.message, type: error.code };\n }\n\n // @ts-expect-error - false positive Property 'shift' does not exist on type 'Problems'.\n e.shift();\n }\n\n return errors;\n};\n\nexport const arktypeResolver: Resolver =\n (schema, _schemaOptions, resolverOptions = {}) =>\n (values, _, options) => {\n const result = schema(values);\n\n if (result.problems) {\n return {\n values: {},\n errors: toNestError(parseErrorSchema(result.problems), options),\n };\n }\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n return {\n errors: {} as FieldErrors,\n values: resolverOptions.raw ? values : result.data,\n };\n };\n"],"names":["parseErrorSchema","e","errors","length","error","_path","path","join","message","type","code","shift","schema","_schemaOptions","resolverOptions","values","_","options","result","problems","toNestError","shouldUseNativeValidation","validateFieldsNatively","raw","data"],"mappings":"6TAKA,IAAMA,EAAmB,SAACC,GAExB,IADA,IAAMC,EAAqC,GACpCD,EAAEE,QAAU,CACjB,IAAMC,EAAQH,EAAE,GACVI,EAAQD,EAAME,KAAKC,KAAK,KAEzBL,EAAOG,KACVH,EAAOG,GAAS,CAAEG,QAASJ,EAAMI,QAASC,KAAML,EAAMM,OAIxDT,EAAEU,OACH,CAED,OAAOT,CACT,oBAGE,SAACU,EAAQC,EAAgBC,GAAoB,gBAApBA,IAAAA,EAAkB,CAAE,YAC5CC,EAAQC,EAAGC,GACV,IAAMC,EAASN,EAAOG,GAEtB,OAAIG,EAAOC,SACF,CACLJ,OAAQ,CAAA,EACRb,OAAQkB,EAAWA,YAACpB,EAAiBkB,EAAOC,UAAWF,KAI3DA,EAAQI,2BAA6BC,EAAsBA,uBAAC,GAAIL,GAEzD,CACLf,OAAQ,CAAiB,EACzBa,OAAQD,EAAgBS,IAAMR,EAASG,EAAOM,MAElD,CAAC"}
1
+ {"version":3,"file":"arktype.umd.js","sources":["../src/arktype.ts"],"sourcesContent":["import { FieldError, FieldErrors } from 'react-hook-form';\nimport { toNestErrors, validateFieldsNatively } from '@hookform/resolvers';\nimport type { Resolver } from './types';\nimport { Problems } from 'arktype';\n\nconst parseErrorSchema = (e: Problems) => {\n const errors: Record<string, FieldError> = {};\n for (; e.length; ) {\n const error = e[0];\n const _path = error.path.join('.');\n\n if (!errors[_path]) {\n errors[_path] = { message: error.message, type: error.code };\n }\n\n // @ts-expect-error - false positive Property 'shift' does not exist on type 'Problems'.\n e.shift();\n }\n\n return errors;\n};\n\nexport const arktypeResolver: Resolver =\n (schema, _schemaOptions, resolverOptions = {}) =>\n (values, _, options) => {\n const result = schema(values);\n\n if (result.problems) {\n return {\n values: {},\n errors: toNestErrors(parseErrorSchema(result.problems), options),\n };\n }\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n return {\n errors: {} as FieldErrors,\n values: resolverOptions.raw ? values : result.data,\n };\n };\n"],"names":["parseErrorSchema","e","errors","length","error","_path","path","join","message","type","code","shift","schema","_schemaOptions","resolverOptions","values","_","options","result","problems","toNestErrors","shouldUseNativeValidation","validateFieldsNatively","raw","data"],"mappings":"6TAKA,IAAMA,EAAmB,SAACC,GAExB,IADA,IAAMC,EAAqC,GACpCD,EAAEE,QAAU,CACjB,IAAMC,EAAQH,EAAE,GACVI,EAAQD,EAAME,KAAKC,KAAK,KAEzBL,EAAOG,KACVH,EAAOG,GAAS,CAAEG,QAASJ,EAAMI,QAASC,KAAML,EAAMM,OAIxDT,EAAEU,OACH,CAED,OAAOT,CACT,oBAGE,SAACU,EAAQC,EAAgBC,GAAoB,gBAApBA,IAAAA,EAAkB,CAAE,YAC5CC,EAAQC,EAAGC,GACV,IAAMC,EAASN,EAAOG,GAEtB,OAAIG,EAAOC,SACF,CACLJ,OAAQ,CAAA,EACRb,OAAQkB,EAAYA,aAACpB,EAAiBkB,EAAOC,UAAWF,KAI5DA,EAAQI,2BAA6BC,EAAsBA,uBAAC,GAAIL,GAEzD,CACLf,OAAQ,CAAiB,EACzBa,OAAQD,EAAgBS,IAAMR,EAASG,EAAOM,MAElD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { 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 { Problems } from 'arktype';
5
5
 
@@ -28,7 +28,7 @@ export const arktypeResolver: Resolver =
28
28
  if (result.problems) {
29
29
  return {
30
30
  values: {},
31
- errors: toNestError(parseErrorSchema(result.problems), options),
31
+ errors: toNestErrors(parseErrorSchema(result.problems), options),
32
32
  };
33
33
  }
34
34
 
@@ -1,2 +1,2 @@
1
- var r=require("@hookform/resolvers"),e=require("class-transformer"),t=require("class-validator"),a=function r(e,t,a,s){return void 0===a&&(a={}),void 0===s&&(s=""),e.reduce(function(e,a){var i=s?s+"."+a.property:a.property;if(a.constraints){var o=Object.keys(a.constraints)[0];e[i]={type:o,message:a.constraints[o]};var n=e[i];t&&n&&Object.assign(n,{types:a.constraints})}return a.children&&a.children.length&&r(a.children,t,e,i),e},a)};exports.classValidatorResolver=function(s,i,o){return void 0===i&&(i={}),void 0===o&&(o={}),function(n,l,c){try{var v=i.validator,d=e.plainToClass(s,n,i.transformer);return Promise.resolve(("sync"===o.mode?t.validateSync:t.validate)(d,v)).then(function(e){return e.length?{values:{},errors:r.toNestError(a(e,!c.shouldUseNativeValidation&&"all"===c.criteriaMode),c)}:(c.shouldUseNativeValidation&&r.validateFieldsNatively({},c),{values:n,errors:{}})})}catch(r){return Promise.reject(r)}}};
1
+ var r=require("@hookform/resolvers"),e=require("class-transformer"),t=require("class-validator"),a=function r(e,t,a,s){return void 0===a&&(a={}),void 0===s&&(s=""),e.reduce(function(e,a){var i=s?s+"."+a.property:a.property;if(a.constraints){var o=Object.keys(a.constraints)[0];e[i]={type:o,message:a.constraints[o]};var n=e[i];t&&n&&Object.assign(n,{types:a.constraints})}return a.children&&a.children.length&&r(a.children,t,e,i),e},a)};exports.classValidatorResolver=function(s,i,o){return void 0===i&&(i={}),void 0===o&&(o={}),function(n,l,c){try{var v=i.validator,d=e.plainToClass(s,n,i.transformer);return Promise.resolve(("sync"===o.mode?t.validateSync:t.validate)(d,v)).then(function(e){return e.length?{values:{},errors:r.toNestErrors(a(e,!c.shouldUseNativeValidation&&"all"===c.criteriaMode),c)}:(c.shouldUseNativeValidation&&r.validateFieldsNatively({},c),{values:o.rawValues?n:d,errors:{}})})}catch(r){return Promise.reject(r)}}};
2
2
  //# sourceMappingURL=class-validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"class-validator.js","sources":["../src/class-validator.ts"],"sourcesContent":["import { FieldErrors } from 'react-hook-form';\nimport { toNestError, validateFieldsNatively } from '@hookform/resolvers';\nimport { plainToClass } from 'class-transformer';\nimport { validate, validateSync, ValidationError } from 'class-validator';\nimport type { Resolver } from './types';\n\nconst parseErrors = (\n errors: ValidationError[],\n validateAllFieldCriteria: boolean,\n parsedErrors: FieldErrors = {},\n path = '',\n) => {\n return errors.reduce((acc, error) => {\n const _path = path ? `${path}.${error.property}` : error.property;\n\n if (error.constraints) {\n const key = Object.keys(error.constraints)[0];\n acc[_path] = {\n type: key,\n message: error.constraints[key],\n };\n\n const _e = acc[_path];\n if (validateAllFieldCriteria && _e) {\n Object.assign(_e, { types: error.constraints });\n }\n }\n\n if (error.children && error.children.length) {\n parseErrors(error.children, validateAllFieldCriteria, acc, _path);\n }\n\n return acc;\n }, parsedErrors);\n};\n\nexport const classValidatorResolver: Resolver =\n (schema, schemaOptions = {}, resolverOptions = {}) =>\n async (values, _, options) => {\n const { transformer, validator } = schemaOptions;\n const data = plainToClass(schema, values, transformer);\n\n const rawErrors = await (resolverOptions.mode === 'sync'\n ? validateSync\n : validate)(data, validator);\n\n if (rawErrors.length) {\n return {\n values: {},\n errors: toNestError(\n parseErrors(\n rawErrors,\n !options.shouldUseNativeValidation &&\n options.criteriaMode === 'all',\n ),\n options,\n ),\n };\n }\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n return { values, errors: {} };\n };\n"],"names":["parseErrors","errors","validateAllFieldCriteria","parsedErrors","path","reduce","acc","error","_path","property","constraints","key","Object","keys","type","message","_e","assign","types","children","length","schema","schemaOptions","resolverOptions","values","_","options","validator","data","plainToClass","transformer","Promise","resolve","mode","validateSync","validate","then","rawErrors","toNestError","shouldUseNativeValidation","criteriaMode","validateFieldsNatively","e","reject"],"mappings":"iGAMMA,EAAc,SAAdA,EACJC,EACAC,EACAC,EACAC,GAEA,YAHAD,IAAAA,IAAAA,EAA4B,CAAA,YAC5BC,IAAAA,EAAO,IAEAH,EAAOI,OAAO,SAACC,EAAKC,GACzB,IAAMC,EAAQJ,EAAUA,MAAQG,EAAME,SAAaF,EAAME,SAEzD,GAAIF,EAAMG,YAAa,CACrB,IAAMC,EAAMC,OAAOC,KAAKN,EAAMG,aAAa,GAC3CJ,EAAIE,GAAS,CACXM,KAAMH,EACNI,QAASR,EAAMG,YAAYC,IAG7B,IAAMK,EAAKV,EAAIE,GACXN,GAA4Bc,GAC9BJ,OAAOK,OAAOD,EAAI,CAAEE,MAAOX,EAAMG,aAEpC,CAMD,OAJIH,EAAMY,UAAYZ,EAAMY,SAASC,QACnCpB,EAAYO,EAAMY,SAAUjB,EAA0BI,EAAKE,GAGtDF,CACT,EAAGH,EACL,iCAGE,SAACkB,EAAQC,EAAoBC,eAAP,IAAbD,IAAAA,EAAgB,CAAE,QAAEC,IAAAA,IAAAA,EAAkB,CAAE,YAC1CC,EAAQC,EAAGC,GAAW,IAC3B,IAAqBC,EAAcL,EAAdK,UACfC,EAAOC,EAAYA,aAACR,EAAQG,EADCF,EAA3BQ,aAC+C,OAAAC,QAAAC,SAEL,SAAzBT,EAAgBU,KACrCC,eACAC,EAAAA,UAAUP,EAAMD,IAAUS,KAFxBC,SAAAA,GAIN,OAAIA,EAAUjB,OACL,CACLI,OAAQ,GACRvB,OAAQqC,EAAWA,YACjBtC,EACEqC,GACCX,EAAQa,2BACkB,QAAzBb,EAAQc,cAEZd,KAKNA,EAAQa,2BAA6BE,EAAAA,uBAAuB,CAAA,EAAIf,GAEzD,CAAEF,OAAAA,EAAQvB,OAAQ,IAAK,EAChC,CAAC,MAAAyC,GAAA,OAAAX,QAAAY,OAAAD,EAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"class-validator.js","sources":["../src/class-validator.ts"],"sourcesContent":["import { FieldErrors } from 'react-hook-form';\nimport { toNestErrors, validateFieldsNatively } from '@hookform/resolvers';\nimport { plainToClass } from 'class-transformer';\nimport { validate, validateSync, ValidationError } from 'class-validator';\nimport type { Resolver } from './types';\n\nconst parseErrors = (\n errors: ValidationError[],\n validateAllFieldCriteria: boolean,\n parsedErrors: FieldErrors = {},\n path = '',\n) => {\n return errors.reduce((acc, error) => {\n const _path = path ? `${path}.${error.property}` : error.property;\n\n if (error.constraints) {\n const key = Object.keys(error.constraints)[0];\n acc[_path] = {\n type: key,\n message: error.constraints[key],\n };\n\n const _e = acc[_path];\n if (validateAllFieldCriteria && _e) {\n Object.assign(_e, { types: error.constraints });\n }\n }\n\n if (error.children && error.children.length) {\n parseErrors(error.children, validateAllFieldCriteria, acc, _path);\n }\n\n return acc;\n }, parsedErrors);\n};\n\nexport const classValidatorResolver: Resolver =\n (schema, schemaOptions = {}, resolverOptions = {}) =>\n async (values, _, options) => {\n const { transformer, validator } = schemaOptions;\n const data = plainToClass(schema, values, transformer);\n\n const rawErrors = await (resolverOptions.mode === 'sync'\n ? validateSync\n : validate)(data, validator);\n\n if (rawErrors.length) {\n return {\n values: {},\n errors: toNestErrors(\n parseErrors(\n rawErrors,\n !options.shouldUseNativeValidation &&\n options.criteriaMode === 'all',\n ),\n options,\n ),\n };\n }\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n return {\n values: resolverOptions.rawValues ? values : data,\n errors: {},\n };\n };\n"],"names":["parseErrors","errors","validateAllFieldCriteria","parsedErrors","path","reduce","acc","error","_path","property","constraints","key","Object","keys","type","message","_e","assign","types","children","length","schema","schemaOptions","resolverOptions","values","_","options","validator","data","plainToClass","transformer","Promise","resolve","mode","validateSync","validate","then","rawErrors","toNestErrors","shouldUseNativeValidation","criteriaMode","validateFieldsNatively","rawValues","e","reject"],"mappings":"iGAMMA,EAAc,SAAdA,EACJC,EACAC,EACAC,EACAC,GAEA,gBAHAD,IAAAA,EAA4B,CAAE,QAC1B,IAAJC,IAAAA,EAAO,IAEAH,EAAOI,OAAO,SAACC,EAAKC,GACzB,IAAMC,EAAQJ,EAAUA,EAAQG,IAAAA,EAAME,SAAaF,EAAME,SAEzD,GAAIF,EAAMG,YAAa,CACrB,IAAMC,EAAMC,OAAOC,KAAKN,EAAMG,aAAa,GAC3CJ,EAAIE,GAAS,CACXM,KAAMH,EACNI,QAASR,EAAMG,YAAYC,IAG7B,IAAMK,EAAKV,EAAIE,GACXN,GAA4Bc,GAC9BJ,OAAOK,OAAOD,EAAI,CAAEE,MAAOX,EAAMG,aAEpC,CAMD,OAJIH,EAAMY,UAAYZ,EAAMY,SAASC,QACnCpB,EAAYO,EAAMY,SAAUjB,EAA0BI,EAAKE,GAGtDF,CACT,EAAGH,EACL,iCAGE,SAACkB,EAAQC,EAAoBC,GAAoB,YAAxCD,IAAAA,IAAAA,EAAgB,SAAmB,IAAfC,IAAAA,EAAkB,IAAE,SAC1CC,EAAQC,EAAGC,GAAO,IACvB,IAAqBC,EAAcL,EAAdK,UACfC,EAAOC,eAAaR,EAAQG,EADCF,EAA3BQ,aAC+C,OAAAC,QAAAC,SAEL,SAAzBT,EAAgBU,KACrCC,EAAAA,aACAC,EAAQA,UAAEP,EAAMD,IAAUS,KAFxBC,SAAAA,GAIN,OAAIA,EAAUjB,OACL,CACLI,OAAQ,GACRvB,OAAQqC,EAAAA,aACNtC,EACEqC,GACCX,EAAQa,2BACkB,QAAzBb,EAAQc,cAEZd,KAKNA,EAAQa,2BAA6BE,yBAAuB,CAAA,EAAIf,GAEzD,CACLF,OAAQD,EAAgBmB,UAAYlB,EAASI,EAC7C3B,OAAQ,CAAA,GACR,EACJ,CAAC,MAAA0C,GAAA,OAAAZ,QAAAa,OAAAD,EAAA,CAAA,CAAA"}
@@ -1,2 +1,2 @@
1
- import{toNestError as r,validateFieldsNatively as e}from"@hookform/resolvers";import{plainToClass as t}from"class-transformer";import{validateSync as o,validate as n}from"class-validator";var s=function r(e,t,o,n){return void 0===o&&(o={}),void 0===n&&(n=""),e.reduce(function(e,o){var s=n?n+"."+o.property:o.property;if(o.constraints){var i=Object.keys(o.constraints)[0];e[s]={type:i,message:o.constraints[i]};var a=e[s];t&&a&&Object.assign(a,{types:o.constraints})}return o.children&&o.children.length&&r(o.children,t,e,s),e},o)},i=function(i,a,c){return void 0===a&&(a={}),void 0===c&&(c={}),function(l,v,d){try{var u=a.validator,m=t(i,l,a.transformer);return Promise.resolve(("sync"===c.mode?o:n)(m,u)).then(function(t){return t.length?{values:{},errors:r(s(t,!d.shouldUseNativeValidation&&"all"===d.criteriaMode),d)}:(d.shouldUseNativeValidation&&e({},d),{values:l,errors:{}})})}catch(r){return Promise.reject(r)}}};export{i as classValidatorResolver};
1
+ import{toNestErrors as r,validateFieldsNatively as e}from"@hookform/resolvers";import{plainToClass as t}from"class-transformer";import{validateSync as o,validate as n}from"class-validator";var s=function r(e,t,o,n){return void 0===o&&(o={}),void 0===n&&(n=""),e.reduce(function(e,o){var s=n?n+"."+o.property:o.property;if(o.constraints){var i=Object.keys(o.constraints)[0];e[s]={type:i,message:o.constraints[i]};var a=e[s];t&&a&&Object.assign(a,{types:o.constraints})}return o.children&&o.children.length&&r(o.children,t,e,s),e},o)},i=function(i,a,c){return void 0===a&&(a={}),void 0===c&&(c={}),function(l,u,v){try{var d=a.validator,m=t(i,l,a.transformer);return Promise.resolve(("sync"===c.mode?o:n)(m,d)).then(function(t){return t.length?{values:{},errors:r(s(t,!v.shouldUseNativeValidation&&"all"===v.criteriaMode),v)}:(v.shouldUseNativeValidation&&e({},v),{values:c.rawValues?l:m,errors:{}})})}catch(r){return Promise.reject(r)}}};export{i as classValidatorResolver};
2
2
  //# sourceMappingURL=class-validator.module.js.map
@@ -1,2 +1,2 @@
1
- import{toNestError as r,validateFieldsNatively as s}from"@hookform/resolvers";import{plainToClass as t}from"class-transformer";import{validateSync as e,validate as o}from"class-validator";const a=(r,s,t={},e="")=>r.reduce((r,t)=>{const o=e?`${e}.${t.property}`:t.property;if(t.constraints){const e=Object.keys(t.constraints)[0];r[o]={type:e,message:t.constraints[e]};const a=r[o];s&&a&&Object.assign(a,{types:t.constraints})}return t.children&&t.children.length&&a(t.children,s,r,o),r},t),n=(n,i={},c={})=>async(l,d,m)=>{const{transformer:p,validator:h}=i,f=t(n,l,p),u=await("sync"===c.mode?e:o)(f,h);return u.length?{values:{},errors:r(a(u,!m.shouldUseNativeValidation&&"all"===m.criteriaMode),m)}:(m.shouldUseNativeValidation&&s({},m),{values:l,errors:{}})};export{n as classValidatorResolver};
1
+ import{toNestErrors as r,validateFieldsNatively as s}from"@hookform/resolvers";import{plainToClass as t}from"class-transformer";import{validateSync as e,validate as o}from"class-validator";const a=(r,s,t={},e="")=>r.reduce((r,t)=>{const o=e?`${e}.${t.property}`:t.property;if(t.constraints){const e=Object.keys(t.constraints)[0];r[o]={type:e,message:t.constraints[e]};const a=r[o];s&&a&&Object.assign(a,{types:t.constraints})}return t.children&&t.children.length&&a(t.children,s,r,o),r},t),n=(n,i={},c={})=>async(l,d,m)=>{const{transformer:p,validator:h}=i,u=t(n,l,p),f=await("sync"===c.mode?e:o)(u,h);return f.length?{values:{},errors:r(a(f,!m.shouldUseNativeValidation&&"all"===m.criteriaMode),m)}:(m.shouldUseNativeValidation&&s({},m),{values:c.rawValues?l:u,errors:{}})};export{n as classValidatorResolver};
2
2
  //# sourceMappingURL=class-validator.modern.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"class-validator.modern.mjs","sources":["../src/class-validator.ts"],"sourcesContent":["import { FieldErrors } from 'react-hook-form';\nimport { toNestError, validateFieldsNatively } from '@hookform/resolvers';\nimport { plainToClass } from 'class-transformer';\nimport { validate, validateSync, ValidationError } from 'class-validator';\nimport type { Resolver } from './types';\n\nconst parseErrors = (\n errors: ValidationError[],\n validateAllFieldCriteria: boolean,\n parsedErrors: FieldErrors = {},\n path = '',\n) => {\n return errors.reduce((acc, error) => {\n const _path = path ? `${path}.${error.property}` : error.property;\n\n if (error.constraints) {\n const key = Object.keys(error.constraints)[0];\n acc[_path] = {\n type: key,\n message: error.constraints[key],\n };\n\n const _e = acc[_path];\n if (validateAllFieldCriteria && _e) {\n Object.assign(_e, { types: error.constraints });\n }\n }\n\n if (error.children && error.children.length) {\n parseErrors(error.children, validateAllFieldCriteria, acc, _path);\n }\n\n return acc;\n }, parsedErrors);\n};\n\nexport const classValidatorResolver: Resolver =\n (schema, schemaOptions = {}, resolverOptions = {}) =>\n async (values, _, options) => {\n const { transformer, validator } = schemaOptions;\n const data = plainToClass(schema, values, transformer);\n\n const rawErrors = await (resolverOptions.mode === 'sync'\n ? validateSync\n : validate)(data, validator);\n\n if (rawErrors.length) {\n return {\n values: {},\n errors: toNestError(\n parseErrors(\n rawErrors,\n !options.shouldUseNativeValidation &&\n options.criteriaMode === 'all',\n ),\n options,\n ),\n };\n }\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n return { values, errors: {} };\n };\n"],"names":["parseErrors","errors","validateAllFieldCriteria","parsedErrors","path","reduce","acc","error","_path","property","constraints","key","Object","keys","type","message","_e","assign","types","children","length","classValidatorResolver","schema","schemaOptions","resolverOptions","async","values","_","options","transformer","validator","data","plainToClass","rawErrors","mode","validateSync","validate","toNestError","shouldUseNativeValidation","criteriaMode","validateFieldsNatively"],"mappings":"4LAMA,MAAMA,EAAcA,CAClBC,EACAC,EACAC,EAA4B,CAAA,EAC5BC,EAAO,KAEAH,EAAOI,OAAO,CAACC,EAAKC,KACzB,MAAMC,EAAQJ,KAAUA,KAAQG,EAAME,WAAaF,EAAME,SAEzD,GAAIF,EAAMG,YAAa,CACrB,MAAMC,EAAMC,OAAOC,KAAKN,EAAMG,aAAa,GAC3CJ,EAAIE,GAAS,CACXM,KAAMH,EACNI,QAASR,EAAMG,YAAYC,IAG7B,MAAMK,EAAKV,EAAIE,GACXN,GAA4Bc,GAC9BJ,OAAOK,OAAOD,EAAI,CAAEE,MAAOX,EAAMG,aAEpC,CAMD,OAJIH,EAAMY,UAAYZ,EAAMY,SAASC,QACnCpB,EAAYO,EAAMY,SAAUjB,EAA0BI,EAAKE,GAGtDF,GACNH,GAGQkB,EACXA,CAACC,EAAQC,EAAgB,CAAA,EAAIC,EAAkB,CAAA,IAC/CC,MAAOC,EAAQC,EAAGC,KAChB,MAAMC,YAAEA,EAAWC,UAAEA,GAAcP,EAC7BQ,EAAOC,EAAaV,EAAQI,EAAQG,GAEpCI,QAA4C,SAAzBT,EAAgBU,KACrCC,EACAC,GAAUL,EAAMD,GAEpB,OAAIG,EAAUb,OACL,CACLM,OAAQ,CAAE,EACVzB,OAAQoC,EACNrC,EACEiC,GACCL,EAAQU,2BACkB,QAAzBV,EAAQW,cAEZX,KAKNA,EAAQU,2BAA6BE,EAAuB,CAAE,EAAEZ,GAEzD,CAAEF,SAAQzB,OAAQ"}
1
+ {"version":3,"file":"class-validator.modern.mjs","sources":["../src/class-validator.ts"],"sourcesContent":["import { FieldErrors } from 'react-hook-form';\nimport { toNestErrors, validateFieldsNatively } from '@hookform/resolvers';\nimport { plainToClass } from 'class-transformer';\nimport { validate, validateSync, ValidationError } from 'class-validator';\nimport type { Resolver } from './types';\n\nconst parseErrors = (\n errors: ValidationError[],\n validateAllFieldCriteria: boolean,\n parsedErrors: FieldErrors = {},\n path = '',\n) => {\n return errors.reduce((acc, error) => {\n const _path = path ? `${path}.${error.property}` : error.property;\n\n if (error.constraints) {\n const key = Object.keys(error.constraints)[0];\n acc[_path] = {\n type: key,\n message: error.constraints[key],\n };\n\n const _e = acc[_path];\n if (validateAllFieldCriteria && _e) {\n Object.assign(_e, { types: error.constraints });\n }\n }\n\n if (error.children && error.children.length) {\n parseErrors(error.children, validateAllFieldCriteria, acc, _path);\n }\n\n return acc;\n }, parsedErrors);\n};\n\nexport const classValidatorResolver: Resolver =\n (schema, schemaOptions = {}, resolverOptions = {}) =>\n async (values, _, options) => {\n const { transformer, validator } = schemaOptions;\n const data = plainToClass(schema, values, transformer);\n\n const rawErrors = await (resolverOptions.mode === 'sync'\n ? validateSync\n : validate)(data, validator);\n\n if (rawErrors.length) {\n return {\n values: {},\n errors: toNestErrors(\n parseErrors(\n rawErrors,\n !options.shouldUseNativeValidation &&\n options.criteriaMode === 'all',\n ),\n options,\n ),\n };\n }\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n return {\n values: resolverOptions.rawValues ? values : data,\n errors: {},\n };\n };\n"],"names":["parseErrors","errors","validateAllFieldCriteria","parsedErrors","path","reduce","acc","error","_path","property","constraints","key","Object","keys","type","message","_e","assign","types","children","length","classValidatorResolver","schema","schemaOptions","resolverOptions","async","values","_","options","transformer","validator","data","plainToClass","rawErrors","mode","validateSync","validate","toNestErrors","shouldUseNativeValidation","criteriaMode","validateFieldsNatively","rawValues"],"mappings":"6LAMA,MAAMA,EAAcA,CAClBC,EACAC,EACAC,EAA4B,CAAA,EAC5BC,EAAO,KAEAH,EAAOI,OAAO,CAACC,EAAKC,KACzB,MAAMC,EAAQJ,KAAUA,KAAQG,EAAME,WAAaF,EAAME,SAEzD,GAAIF,EAAMG,YAAa,CACrB,MAAMC,EAAMC,OAAOC,KAAKN,EAAMG,aAAa,GAC3CJ,EAAIE,GAAS,CACXM,KAAMH,EACNI,QAASR,EAAMG,YAAYC,IAG7B,MAAMK,EAAKV,EAAIE,GACXN,GAA4Bc,GAC9BJ,OAAOK,OAAOD,EAAI,CAAEE,MAAOX,EAAMG,aAEpC,CAMD,OAJIH,EAAMY,UAAYZ,EAAMY,SAASC,QACnCpB,EAAYO,EAAMY,SAAUjB,EAA0BI,EAAKE,GAGtDF,GACNH,GAGQkB,EACXA,CAACC,EAAQC,EAAgB,CAAA,EAAIC,EAAkB,CAAE,IACjDC,MAAOC,EAAQC,EAAGC,KAChB,MAAMC,YAAEA,EAAWC,UAAEA,GAAcP,EAC7BQ,EAAOC,EAAaV,EAAQI,EAAQG,GAEpCI,QAA4C,SAAzBT,EAAgBU,KACrCC,EACAC,GAAUL,EAAMD,GAEpB,OAAIG,EAAUb,OACL,CACLM,OAAQ,CAAE,EACVzB,OAAQoC,EACNrC,EACEiC,GACCL,EAAQU,2BACkB,QAAzBV,EAAQW,cAEZX,KAKNA,EAAQU,2BAA6BE,EAAuB,CAAA,EAAIZ,GAEzD,CACLF,OAAQF,EAAgBiB,UAAYf,EAASK,EAC7C9B,OAAQ"}
@@ -1,2 +1,2 @@
1
- import{toNestError as r,validateFieldsNatively as e}from"@hookform/resolvers";import{plainToClass as t}from"class-transformer";import{validateSync as o,validate as n}from"class-validator";var s=function r(e,t,o,n){return void 0===o&&(o={}),void 0===n&&(n=""),e.reduce(function(e,o){var s=n?n+"."+o.property:o.property;if(o.constraints){var i=Object.keys(o.constraints)[0];e[s]={type:i,message:o.constraints[i]};var a=e[s];t&&a&&Object.assign(a,{types:o.constraints})}return o.children&&o.children.length&&r(o.children,t,e,s),e},o)},i=function(i,a,c){return void 0===a&&(a={}),void 0===c&&(c={}),function(l,v,d){try{var u=a.validator,m=t(i,l,a.transformer);return Promise.resolve(("sync"===c.mode?o:n)(m,u)).then(function(t){return t.length?{values:{},errors:r(s(t,!d.shouldUseNativeValidation&&"all"===d.criteriaMode),d)}:(d.shouldUseNativeValidation&&e({},d),{values:l,errors:{}})})}catch(r){return Promise.reject(r)}}};export{i as classValidatorResolver};
1
+ import{toNestErrors as r,validateFieldsNatively as e}from"@hookform/resolvers";import{plainToClass as t}from"class-transformer";import{validateSync as o,validate as n}from"class-validator";var s=function r(e,t,o,n){return void 0===o&&(o={}),void 0===n&&(n=""),e.reduce(function(e,o){var s=n?n+"."+o.property:o.property;if(o.constraints){var i=Object.keys(o.constraints)[0];e[s]={type:i,message:o.constraints[i]};var a=e[s];t&&a&&Object.assign(a,{types:o.constraints})}return o.children&&o.children.length&&r(o.children,t,e,s),e},o)},i=function(i,a,c){return void 0===a&&(a={}),void 0===c&&(c={}),function(l,u,v){try{var d=a.validator,m=t(i,l,a.transformer);return Promise.resolve(("sync"===c.mode?o:n)(m,d)).then(function(t){return t.length?{values:{},errors:r(s(t,!v.shouldUseNativeValidation&&"all"===v.criteriaMode),v)}:(v.shouldUseNativeValidation&&e({},v),{values:c.rawValues?l:m,errors:{}})})}catch(r){return Promise.reject(r)}}};export{i as classValidatorResolver};
2
2
  //# sourceMappingURL=class-validator.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"class-validator.module.js","sources":["../src/class-validator.ts"],"sourcesContent":["import { FieldErrors } from 'react-hook-form';\nimport { toNestError, validateFieldsNatively } from '@hookform/resolvers';\nimport { plainToClass } from 'class-transformer';\nimport { validate, validateSync, ValidationError } from 'class-validator';\nimport type { Resolver } from './types';\n\nconst parseErrors = (\n errors: ValidationError[],\n validateAllFieldCriteria: boolean,\n parsedErrors: FieldErrors = {},\n path = '',\n) => {\n return errors.reduce((acc, error) => {\n const _path = path ? `${path}.${error.property}` : error.property;\n\n if (error.constraints) {\n const key = Object.keys(error.constraints)[0];\n acc[_path] = {\n type: key,\n message: error.constraints[key],\n };\n\n const _e = acc[_path];\n if (validateAllFieldCriteria && _e) {\n Object.assign(_e, { types: error.constraints });\n }\n }\n\n if (error.children && error.children.length) {\n parseErrors(error.children, validateAllFieldCriteria, acc, _path);\n }\n\n return acc;\n }, parsedErrors);\n};\n\nexport const classValidatorResolver: Resolver =\n (schema, schemaOptions = {}, resolverOptions = {}) =>\n async (values, _, options) => {\n const { transformer, validator } = schemaOptions;\n const data = plainToClass(schema, values, transformer);\n\n const rawErrors = await (resolverOptions.mode === 'sync'\n ? validateSync\n : validate)(data, validator);\n\n if (rawErrors.length) {\n return {\n values: {},\n errors: toNestError(\n parseErrors(\n rawErrors,\n !options.shouldUseNativeValidation &&\n options.criteriaMode === 'all',\n ),\n options,\n ),\n };\n }\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n return { values, errors: {} };\n };\n"],"names":["parseErrors","errors","validateAllFieldCriteria","parsedErrors","path","reduce","acc","error","_path","property","constraints","key","Object","keys","type","message","_e","assign","types","children","length","classValidatorResolver","schema","schemaOptions","resolverOptions","values","_","options","validator","data","plainToClass","transformer","Promise","resolve","mode","validateSync","validate","then","rawErrors","toNestError","shouldUseNativeValidation","criteriaMode","validateFieldsNatively","e","reject"],"mappings":"4LAMA,IAAMA,EAAc,SAAdA,EACJC,EACAC,EACAC,EACAC,GAEA,YAHAD,IAAAA,IAAAA,EAA4B,CAAA,YAC5BC,IAAAA,EAAO,IAEAH,EAAOI,OAAO,SAACC,EAAKC,GACzB,IAAMC,EAAQJ,EAAUA,MAAQG,EAAME,SAAaF,EAAME,SAEzD,GAAIF,EAAMG,YAAa,CACrB,IAAMC,EAAMC,OAAOC,KAAKN,EAAMG,aAAa,GAC3CJ,EAAIE,GAAS,CACXM,KAAMH,EACNI,QAASR,EAAMG,YAAYC,IAG7B,IAAMK,EAAKV,EAAIE,GACXN,GAA4Bc,GAC9BJ,OAAOK,OAAOD,EAAI,CAAEE,MAAOX,EAAMG,aAEpC,CAMD,OAJIH,EAAMY,UAAYZ,EAAMY,SAASC,QACnCpB,EAAYO,EAAMY,SAAUjB,EAA0BI,EAAKE,GAGtDF,CACT,EAAGH,EACL,EAEakB,EACX,SAACC,EAAQC,EAAoBC,eAAP,IAAbD,IAAAA,EAAgB,CAAE,QAAEC,IAAAA,IAAAA,EAAkB,CAAE,YAC1CC,EAAQC,EAAGC,GAAW,IAC3B,IAAqBC,EAAcL,EAAdK,UACfC,EAAOC,EAAaR,EAAQG,EADCF,EAA3BQ,aAC+C,OAAAC,QAAAC,SAEL,SAAzBT,EAAgBU,KACrCC,EACAC,GAAUP,EAAMD,IAAUS,KAFxBC,SAAAA,GAIN,OAAIA,EAAUlB,OACL,CACLK,OAAQ,GACRxB,OAAQsC,EACNvC,EACEsC,GACCX,EAAQa,2BACkB,QAAzBb,EAAQc,cAEZd,KAKNA,EAAQa,2BAA6BE,EAAuB,CAAA,EAAIf,GAEzD,CAAEF,OAAAA,EAAQxB,OAAQ,IAAK,EAChC,CAAC,MAAA0C,GAAA,OAAAX,QAAAY,OAAAD,EAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"class-validator.module.js","sources":["../src/class-validator.ts"],"sourcesContent":["import { FieldErrors } from 'react-hook-form';\nimport { toNestErrors, validateFieldsNatively } from '@hookform/resolvers';\nimport { plainToClass } from 'class-transformer';\nimport { validate, validateSync, ValidationError } from 'class-validator';\nimport type { Resolver } from './types';\n\nconst parseErrors = (\n errors: ValidationError[],\n validateAllFieldCriteria: boolean,\n parsedErrors: FieldErrors = {},\n path = '',\n) => {\n return errors.reduce((acc, error) => {\n const _path = path ? `${path}.${error.property}` : error.property;\n\n if (error.constraints) {\n const key = Object.keys(error.constraints)[0];\n acc[_path] = {\n type: key,\n message: error.constraints[key],\n };\n\n const _e = acc[_path];\n if (validateAllFieldCriteria && _e) {\n Object.assign(_e, { types: error.constraints });\n }\n }\n\n if (error.children && error.children.length) {\n parseErrors(error.children, validateAllFieldCriteria, acc, _path);\n }\n\n return acc;\n }, parsedErrors);\n};\n\nexport const classValidatorResolver: Resolver =\n (schema, schemaOptions = {}, resolverOptions = {}) =>\n async (values, _, options) => {\n const { transformer, validator } = schemaOptions;\n const data = plainToClass(schema, values, transformer);\n\n const rawErrors = await (resolverOptions.mode === 'sync'\n ? validateSync\n : validate)(data, validator);\n\n if (rawErrors.length) {\n return {\n values: {},\n errors: toNestErrors(\n parseErrors(\n rawErrors,\n !options.shouldUseNativeValidation &&\n options.criteriaMode === 'all',\n ),\n options,\n ),\n };\n }\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n return {\n values: resolverOptions.rawValues ? values : data,\n errors: {},\n };\n };\n"],"names":["parseErrors","errors","validateAllFieldCriteria","parsedErrors","path","reduce","acc","error","_path","property","constraints","key","Object","keys","type","message","_e","assign","types","children","length","classValidatorResolver","schema","schemaOptions","resolverOptions","values","_","options","validator","data","plainToClass","transformer","Promise","resolve","mode","validateSync","validate","then","rawErrors","toNestErrors","shouldUseNativeValidation","criteriaMode","validateFieldsNatively","rawValues","e","reject"],"mappings":"6LAMA,IAAMA,EAAc,SAAdA,EACJC,EACAC,EACAC,EACAC,GAEA,gBAHAD,IAAAA,EAA4B,CAAE,QAC1B,IAAJC,IAAAA,EAAO,IAEAH,EAAOI,OAAO,SAACC,EAAKC,GACzB,IAAMC,EAAQJ,EAAUA,EAAQG,IAAAA,EAAME,SAAaF,EAAME,SAEzD,GAAIF,EAAMG,YAAa,CACrB,IAAMC,EAAMC,OAAOC,KAAKN,EAAMG,aAAa,GAC3CJ,EAAIE,GAAS,CACXM,KAAMH,EACNI,QAASR,EAAMG,YAAYC,IAG7B,IAAMK,EAAKV,EAAIE,GACXN,GAA4Bc,GAC9BJ,OAAOK,OAAOD,EAAI,CAAEE,MAAOX,EAAMG,aAEpC,CAMD,OAJIH,EAAMY,UAAYZ,EAAMY,SAASC,QACnCpB,EAAYO,EAAMY,SAAUjB,EAA0BI,EAAKE,GAGtDF,CACT,EAAGH,EACL,EAEakB,EACX,SAACC,EAAQC,EAAoBC,GAAoB,YAAxCD,IAAAA,IAAAA,EAAgB,SAAmB,IAAfC,IAAAA,EAAkB,IAAE,SAC1CC,EAAQC,EAAGC,GAAO,IACvB,IAAqBC,EAAcL,EAAdK,UACfC,EAAOC,EAAaR,EAAQG,EADCF,EAA3BQ,aAC+C,OAAAC,QAAAC,SAEL,SAAzBT,EAAgBU,KACrCC,EACAC,GAAUP,EAAMD,IAAUS,KAFxBC,SAAAA,GAIN,OAAIA,EAAUlB,OACL,CACLK,OAAQ,GACRxB,OAAQsC,EACNvC,EACEsC,GACCX,EAAQa,2BACkB,QAAzBb,EAAQc,cAEZd,KAKNA,EAAQa,2BAA6BE,EAAuB,CAAA,EAAIf,GAEzD,CACLF,OAAQD,EAAgBmB,UAAYlB,EAASI,EAC7C5B,OAAQ,CAAA,GACR,EACJ,CAAC,MAAA2C,GAAA,OAAAZ,QAAAa,OAAAD,EAAA,CAAA,CAAA"}
@@ -1,2 +1,2 @@
1
- !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@hookform/resolvers"),require("class-transformer"),require("class-validator")):"function"==typeof define&&define.amd?define(["exports","@hookform/resolvers","class-transformer","class-validator"],r):r((e||self).hookformResolversClassValidator={},e.hookformResolvers,e.classTransformer,e.classValidator)}(this,function(e,r,o,s){var t=function e(r,o,s,t){return void 0===s&&(s={}),void 0===t&&(t=""),r.reduce(function(r,s){var a=t?t+"."+s.property:s.property;if(s.constraints){var i=Object.keys(s.constraints)[0];r[a]={type:i,message:s.constraints[i]};var n=r[a];o&&n&&Object.assign(n,{types:s.constraints})}return s.children&&s.children.length&&e(s.children,o,r,a),r},s)};e.classValidatorResolver=function(e,a,i){return void 0===a&&(a={}),void 0===i&&(i={}),function(n,l,d){try{var c=a.validator,f=o.plainToClass(e,n,a.transformer);return Promise.resolve(("sync"===i.mode?s.validateSync:s.validate)(f,c)).then(function(e){return e.length?{values:{},errors:r.toNestError(t(e,!d.shouldUseNativeValidation&&"all"===d.criteriaMode),d)}:(d.shouldUseNativeValidation&&r.validateFieldsNatively({},d),{values:n,errors:{}})})}catch(e){return Promise.reject(e)}}}});
1
+ !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@hookform/resolvers"),require("class-transformer"),require("class-validator")):"function"==typeof define&&define.amd?define(["exports","@hookform/resolvers","class-transformer","class-validator"],r):r((e||self).hookformResolversClassValidator={},e.hookformResolvers,e.classTransformer,e.classValidator)}(this,function(e,r,o,s){var t=function e(r,o,s,t){return void 0===s&&(s={}),void 0===t&&(t=""),r.reduce(function(r,s){var a=t?t+"."+s.property:s.property;if(s.constraints){var i=Object.keys(s.constraints)[0];r[a]={type:i,message:s.constraints[i]};var n=r[a];o&&n&&Object.assign(n,{types:s.constraints})}return s.children&&s.children.length&&e(s.children,o,r,a),r},s)};e.classValidatorResolver=function(e,a,i){return void 0===a&&(a={}),void 0===i&&(i={}),function(n,l,d){try{var c=a.validator,f=o.plainToClass(e,n,a.transformer);return Promise.resolve(("sync"===i.mode?s.validateSync:s.validate)(f,c)).then(function(e){return e.length?{values:{},errors:r.toNestErrors(t(e,!d.shouldUseNativeValidation&&"all"===d.criteriaMode),d)}:(d.shouldUseNativeValidation&&r.validateFieldsNatively({},d),{values:i.rawValues?n:f,errors:{}})})}catch(e){return Promise.reject(e)}}}});
2
2
  //# sourceMappingURL=class-validator.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"class-validator.umd.js","sources":["../src/class-validator.ts"],"sourcesContent":["import { FieldErrors } from 'react-hook-form';\nimport { toNestError, validateFieldsNatively } from '@hookform/resolvers';\nimport { plainToClass } from 'class-transformer';\nimport { validate, validateSync, ValidationError } from 'class-validator';\nimport type { Resolver } from './types';\n\nconst parseErrors = (\n errors: ValidationError[],\n validateAllFieldCriteria: boolean,\n parsedErrors: FieldErrors = {},\n path = '',\n) => {\n return errors.reduce((acc, error) => {\n const _path = path ? `${path}.${error.property}` : error.property;\n\n if (error.constraints) {\n const key = Object.keys(error.constraints)[0];\n acc[_path] = {\n type: key,\n message: error.constraints[key],\n };\n\n const _e = acc[_path];\n if (validateAllFieldCriteria && _e) {\n Object.assign(_e, { types: error.constraints });\n }\n }\n\n if (error.children && error.children.length) {\n parseErrors(error.children, validateAllFieldCriteria, acc, _path);\n }\n\n return acc;\n }, parsedErrors);\n};\n\nexport const classValidatorResolver: Resolver =\n (schema, schemaOptions = {}, resolverOptions = {}) =>\n async (values, _, options) => {\n const { transformer, validator } = schemaOptions;\n const data = plainToClass(schema, values, transformer);\n\n const rawErrors = await (resolverOptions.mode === 'sync'\n ? validateSync\n : validate)(data, validator);\n\n if (rawErrors.length) {\n return {\n values: {},\n errors: toNestError(\n parseErrors(\n rawErrors,\n !options.shouldUseNativeValidation &&\n options.criteriaMode === 'all',\n ),\n options,\n ),\n };\n }\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n return { values, errors: {} };\n };\n"],"names":["parseErrors","errors","validateAllFieldCriteria","parsedErrors","path","reduce","acc","error","_path","property","constraints","key","Object","keys","type","message","_e","assign","types","children","length","schema","schemaOptions","resolverOptions","values","_","options","validator","data","plainToClass","transformer","Promise","resolve","mode","validateSync","validate","then","rawErrors","toNestError","shouldUseNativeValidation","criteriaMode","validateFieldsNatively","e","reject"],"mappings":"0cAMA,IAAMA,EAAc,SAAdA,EACJC,EACAC,EACAC,EACAC,GAEA,YAHAD,IAAAA,IAAAA,EAA4B,CAAA,YAC5BC,IAAAA,EAAO,IAEAH,EAAOI,OAAO,SAACC,EAAKC,GACzB,IAAMC,EAAQJ,EAAUA,MAAQG,EAAME,SAAaF,EAAME,SAEzD,GAAIF,EAAMG,YAAa,CACrB,IAAMC,EAAMC,OAAOC,KAAKN,EAAMG,aAAa,GAC3CJ,EAAIE,GAAS,CACXM,KAAMH,EACNI,QAASR,EAAMG,YAAYC,IAG7B,IAAMK,EAAKV,EAAIE,GACXN,GAA4Bc,GAC9BJ,OAAOK,OAAOD,EAAI,CAAEE,MAAOX,EAAMG,aAEpC,CAMD,OAJIH,EAAMY,UAAYZ,EAAMY,SAASC,QACnCpB,EAAYO,EAAMY,SAAUjB,EAA0BI,EAAKE,GAGtDF,CACT,EAAGH,EACL,2BAGE,SAACkB,EAAQC,EAAoBC,eAAP,IAAbD,IAAAA,EAAgB,CAAE,QAAEC,IAAAA,IAAAA,EAAkB,CAAE,YAC1CC,EAAQC,EAAGC,GAAW,IAC3B,IAAqBC,EAAcL,EAAdK,UACfC,EAAOC,EAAYA,aAACR,EAAQG,EADCF,EAA3BQ,aAC+C,OAAAC,QAAAC,SAEL,SAAzBT,EAAgBU,KACrCC,eACAC,EAAAA,UAAUP,EAAMD,IAAUS,KAFxBC,SAAAA,GAIN,OAAIA,EAAUjB,OACL,CACLI,OAAQ,GACRvB,OAAQqC,EAAWA,YACjBtC,EACEqC,GACCX,EAAQa,2BACkB,QAAzBb,EAAQc,cAEZd,KAKNA,EAAQa,2BAA6BE,EAAAA,uBAAuB,CAAA,EAAIf,GAEzD,CAAEF,OAAAA,EAAQvB,OAAQ,IAAK,EAChC,CAAC,MAAAyC,GAAA,OAAAX,QAAAY,OAAAD,EAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"class-validator.umd.js","sources":["../src/class-validator.ts"],"sourcesContent":["import { FieldErrors } from 'react-hook-form';\nimport { toNestErrors, validateFieldsNatively } from '@hookform/resolvers';\nimport { plainToClass } from 'class-transformer';\nimport { validate, validateSync, ValidationError } from 'class-validator';\nimport type { Resolver } from './types';\n\nconst parseErrors = (\n errors: ValidationError[],\n validateAllFieldCriteria: boolean,\n parsedErrors: FieldErrors = {},\n path = '',\n) => {\n return errors.reduce((acc, error) => {\n const _path = path ? `${path}.${error.property}` : error.property;\n\n if (error.constraints) {\n const key = Object.keys(error.constraints)[0];\n acc[_path] = {\n type: key,\n message: error.constraints[key],\n };\n\n const _e = acc[_path];\n if (validateAllFieldCriteria && _e) {\n Object.assign(_e, { types: error.constraints });\n }\n }\n\n if (error.children && error.children.length) {\n parseErrors(error.children, validateAllFieldCriteria, acc, _path);\n }\n\n return acc;\n }, parsedErrors);\n};\n\nexport const classValidatorResolver: Resolver =\n (schema, schemaOptions = {}, resolverOptions = {}) =>\n async (values, _, options) => {\n const { transformer, validator } = schemaOptions;\n const data = plainToClass(schema, values, transformer);\n\n const rawErrors = await (resolverOptions.mode === 'sync'\n ? validateSync\n : validate)(data, validator);\n\n if (rawErrors.length) {\n return {\n values: {},\n errors: toNestErrors(\n parseErrors(\n rawErrors,\n !options.shouldUseNativeValidation &&\n options.criteriaMode === 'all',\n ),\n options,\n ),\n };\n }\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n return {\n values: resolverOptions.rawValues ? values : data,\n errors: {},\n };\n };\n"],"names":["parseErrors","errors","validateAllFieldCriteria","parsedErrors","path","reduce","acc","error","_path","property","constraints","key","Object","keys","type","message","_e","assign","types","children","length","schema","schemaOptions","resolverOptions","values","_","options","validator","data","plainToClass","transformer","Promise","resolve","mode","validateSync","validate","then","rawErrors","toNestErrors","shouldUseNativeValidation","criteriaMode","validateFieldsNatively","rawValues","e","reject"],"mappings":"0cAMA,IAAMA,EAAc,SAAdA,EACJC,EACAC,EACAC,EACAC,GAEA,gBAHAD,IAAAA,EAA4B,CAAE,QAC1B,IAAJC,IAAAA,EAAO,IAEAH,EAAOI,OAAO,SAACC,EAAKC,GACzB,IAAMC,EAAQJ,EAAUA,EAAQG,IAAAA,EAAME,SAAaF,EAAME,SAEzD,GAAIF,EAAMG,YAAa,CACrB,IAAMC,EAAMC,OAAOC,KAAKN,EAAMG,aAAa,GAC3CJ,EAAIE,GAAS,CACXM,KAAMH,EACNI,QAASR,EAAMG,YAAYC,IAG7B,IAAMK,EAAKV,EAAIE,GACXN,GAA4Bc,GAC9BJ,OAAOK,OAAOD,EAAI,CAAEE,MAAOX,EAAMG,aAEpC,CAMD,OAJIH,EAAMY,UAAYZ,EAAMY,SAASC,QACnCpB,EAAYO,EAAMY,SAAUjB,EAA0BI,EAAKE,GAGtDF,CACT,EAAGH,EACL,2BAGE,SAACkB,EAAQC,EAAoBC,GAAoB,YAAxCD,IAAAA,IAAAA,EAAgB,SAAmB,IAAfC,IAAAA,EAAkB,IAAE,SAC1CC,EAAQC,EAAGC,GAAO,IACvB,IAAqBC,EAAcL,EAAdK,UACfC,EAAOC,eAAaR,EAAQG,EADCF,EAA3BQ,aAC+C,OAAAC,QAAAC,SAEL,SAAzBT,EAAgBU,KACrCC,EAAAA,aACAC,EAAQA,UAAEP,EAAMD,IAAUS,KAFxBC,SAAAA,GAIN,OAAIA,EAAUjB,OACL,CACLI,OAAQ,GACRvB,OAAQqC,EAAAA,aACNtC,EACEqC,GACCX,EAAQa,2BACkB,QAAzBb,EAAQc,cAEZd,KAKNA,EAAQa,2BAA6BE,yBAAuB,CAAA,EAAIf,GAEzD,CACLF,OAAQD,EAAgBmB,UAAYlB,EAASI,EAC7C3B,OAAQ,CAAA,GACR,EACJ,CAAC,MAAA0C,GAAA,OAAAZ,QAAAa,OAAAD,EAAA,CAAA,CAAA"}
@@ -20,6 +20,19 @@ describe('classValidatorResolver', () => {
20
20
  expect(schemaSpy).toHaveBeenCalledTimes(1);
21
21
  expect(schemaSyncSpy).not.toHaveBeenCalled();
22
22
  expect(result).toEqual({ errors: {}, values: validData });
23
+ expect(result.values).toBeInstanceOf(Schema);
24
+ });
25
+
26
+ it('should return values as a raw object from classValidatorResolver when `rawValues` set to true', async () => {
27
+ const result = await classValidatorResolver(Schema, undefined, {
28
+ rawValues: true,
29
+ })(validData, undefined, {
30
+ fields,
31
+ shouldUseNativeValidation,
32
+ });
33
+
34
+ expect(result).toEqual({ errors: {}, values: validData });
35
+ expect(result.values).not.toBeInstanceOf(Schema);
23
36
  });
24
37
 
25
38
  it('should return values from classValidatorResolver with `mode: sync` when validation pass', async () => {
@@ -33,6 +46,7 @@ describe('classValidatorResolver', () => {
33
46
  expect(validateSyncSpy).toHaveBeenCalledTimes(1);
34
47
  expect(validateSpy).not.toHaveBeenCalled();
35
48
  expect(result).toEqual({ errors: {}, values: validData });
49
+ expect(result.values).toBeInstanceOf(Schema);
36
50
  });
37
51
 
38
52
  it('should return a single error from classValidatorResolver when validation fails', async () => {
@@ -145,3 +159,30 @@ it('validate data with validator option', async () => {
145
159
 
146
160
  expect(result).toMatchSnapshot();
147
161
  });
162
+
163
+ it('should return from classValidatorResolver with `excludeExtraneousValues` set to true', async () => {
164
+ class SchemaTest {
165
+ @Expose()
166
+ @IsNumber({}, { message: `Must be a number`, always: true })
167
+ random: number;
168
+ }
169
+
170
+ const result = await classValidatorResolver(SchemaTest, {
171
+ transformer: {
172
+ excludeExtraneousValues: true,
173
+ },
174
+ })(
175
+ {
176
+ random: 10,
177
+ extraneousField: true,
178
+ },
179
+ undefined,
180
+ {
181
+ fields,
182
+ shouldUseNativeValidation,
183
+ },
184
+ );
185
+
186
+ expect(result).toEqual({ errors: {}, values: { random: 10 } });
187
+ expect(result.values).toBeInstanceOf(SchemaTest);
188
+ });
@@ -1,5 +1,5 @@
1
1
  import { FieldErrors } from 'react-hook-form';
2
- import { toNestError, validateFieldsNatively } from '@hookform/resolvers';
2
+ import { toNestErrors, validateFieldsNatively } from '@hookform/resolvers';
3
3
  import { plainToClass } from 'class-transformer';
4
4
  import { validate, validateSync, ValidationError } from 'class-validator';
5
5
  import type { Resolver } from './types';
@@ -47,7 +47,7 @@ export const classValidatorResolver: Resolver =
47
47
  if (rawErrors.length) {
48
48
  return {
49
49
  values: {},
50
- errors: toNestError(
50
+ errors: toNestErrors(
51
51
  parseErrors(
52
52
  rawErrors,
53
53
  !options.shouldUseNativeValidation &&
@@ -60,5 +60,8 @@ export const classValidatorResolver: Resolver =
60
60
 
61
61
  options.shouldUseNativeValidation && validateFieldsNatively({}, options);
62
62
 
63
- return { values, errors: {} };
63
+ return {
64
+ values: resolverOptions.rawValues ? values : data,
65
+ errors: {},
66
+ };
64
67
  };