@openclaw/firecrawl-plugin 2026.9.7 → 2026.10.1-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (850) hide show
  1. package/dist/.setup/{firecrawl-client-S2gdb9zo.mjs → firecrawl-client-Bqyr6x90.mjs} +58 -104
  2. package/dist/.setup/{firecrawl-fetch-provider-Cq_h8okw.mjs → firecrawl-fetch-provider-CcYAp_u6.mjs} +1 -1
  3. package/dist/.setup/{firecrawl-search-provider-DzEHIoq7.mjs → firecrawl-search-provider-lAiZ3IJ5.mjs} +1 -1
  4. package/dist/api.js +1 -1
  5. package/dist/index.js +17 -28
  6. package/dist/web-fetch-contract-api.js +1 -1
  7. package/dist/web-fetch-provider.js +1 -1
  8. package/dist/web-search-contract-api.js +1 -1
  9. package/dist/web-search-provider.js +1 -1
  10. package/package.json +6 -8
  11. package/node_modules/zod/LICENSE +0 -21
  12. package/node_modules/zod/README.md +0 -218
  13. package/node_modules/zod/compile.cjs +0 -96
  14. package/node_modules/zod/compile.d.cts +0 -1
  15. package/node_modules/zod/compile.d.ts +0 -1
  16. package/node_modules/zod/compile.js +0 -52
  17. package/node_modules/zod/index.cjs +0 -52
  18. package/node_modules/zod/index.d.cts +0 -3
  19. package/node_modules/zod/index.d.ts +0 -3
  20. package/node_modules/zod/index.js +0 -7
  21. package/node_modules/zod/locales/index.cjs +0 -36
  22. package/node_modules/zod/locales/index.d.cts +0 -1
  23. package/node_modules/zod/locales/index.d.ts +0 -1
  24. package/node_modules/zod/locales/index.js +0 -1
  25. package/node_modules/zod/locales/package.json +0 -7
  26. package/node_modules/zod/mini/index.cjs +0 -51
  27. package/node_modules/zod/mini/index.d.cts +0 -3
  28. package/node_modules/zod/mini/index.d.ts +0 -3
  29. package/node_modules/zod/mini/index.js +0 -3
  30. package/node_modules/zod/mini/package.json +0 -7
  31. package/node_modules/zod/package.json +0 -147
  32. package/node_modules/zod/src/compile.ts +0 -56
  33. package/node_modules/zod/src/index.ts +0 -7
  34. package/node_modules/zod/src/locales/index.ts +0 -1
  35. package/node_modules/zod/src/mini/index.ts +0 -3
  36. package/node_modules/zod/src/v3/ZodError.ts +0 -340
  37. package/node_modules/zod/src/v3/benchmarks/datetime.ts +0 -58
  38. package/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +0 -80
  39. package/node_modules/zod/src/v3/benchmarks/index.ts +0 -59
  40. package/node_modules/zod/src/v3/benchmarks/ipv4.ts +0 -57
  41. package/node_modules/zod/src/v3/benchmarks/object.ts +0 -69
  42. package/node_modules/zod/src/v3/benchmarks/primitives.ts +0 -162
  43. package/node_modules/zod/src/v3/benchmarks/realworld.ts +0 -63
  44. package/node_modules/zod/src/v3/benchmarks/string.ts +0 -55
  45. package/node_modules/zod/src/v3/benchmarks/union.ts +0 -80
  46. package/node_modules/zod/src/v3/errors.ts +0 -13
  47. package/node_modules/zod/src/v3/external.ts +0 -6
  48. package/node_modules/zod/src/v3/helpers/enumUtil.ts +0 -17
  49. package/node_modules/zod/src/v3/helpers/errorUtil.ts +0 -8
  50. package/node_modules/zod/src/v3/helpers/parseUtil.ts +0 -176
  51. package/node_modules/zod/src/v3/helpers/partialUtil.ts +0 -34
  52. package/node_modules/zod/src/v3/helpers/typeAliases.ts +0 -2
  53. package/node_modules/zod/src/v3/helpers/util.ts +0 -224
  54. package/node_modules/zod/src/v3/index.ts +0 -4
  55. package/node_modules/zod/src/v3/locales/en.ts +0 -124
  56. package/node_modules/zod/src/v3/standard-schema.ts +0 -113
  57. package/node_modules/zod/src/v3/tests/Mocker.ts +0 -54
  58. package/node_modules/zod/src/v3/tests/all-errors.test.ts +0 -157
  59. package/node_modules/zod/src/v3/tests/anyunknown.test.ts +0 -28
  60. package/node_modules/zod/src/v3/tests/array.test.ts +0 -71
  61. package/node_modules/zod/src/v3/tests/async-parsing.test.ts +0 -388
  62. package/node_modules/zod/src/v3/tests/async-refinements.test.ts +0 -46
  63. package/node_modules/zod/src/v3/tests/base.test.ts +0 -29
  64. package/node_modules/zod/src/v3/tests/bigint.test.ts +0 -55
  65. package/node_modules/zod/src/v3/tests/branded.test.ts +0 -53
  66. package/node_modules/zod/src/v3/tests/catch.test.ts +0 -220
  67. package/node_modules/zod/src/v3/tests/coerce.test.ts +0 -133
  68. package/node_modules/zod/src/v3/tests/complex.test.ts +0 -70
  69. package/node_modules/zod/src/v3/tests/custom.test.ts +0 -31
  70. package/node_modules/zod/src/v3/tests/date.test.ts +0 -32
  71. package/node_modules/zod/src/v3/tests/deepmasking.test.ts +0 -186
  72. package/node_modules/zod/src/v3/tests/default.test.ts +0 -112
  73. package/node_modules/zod/src/v3/tests/description.test.ts +0 -33
  74. package/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +0 -315
  75. package/node_modules/zod/src/v3/tests/enum.test.ts +0 -80
  76. package/node_modules/zod/src/v3/tests/error.test.ts +0 -586
  77. package/node_modules/zod/src/v3/tests/firstparty.test.ts +0 -87
  78. package/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +0 -21
  79. package/node_modules/zod/src/v3/tests/function.test.ts +0 -261
  80. package/node_modules/zod/src/v3/tests/generics.test.ts +0 -48
  81. package/node_modules/zod/src/v3/tests/instanceof.test.ts +0 -37
  82. package/node_modules/zod/src/v3/tests/intersection.test.ts +0 -128
  83. package/node_modules/zod/src/v3/tests/language-server.source.ts +0 -76
  84. package/node_modules/zod/src/v3/tests/language-server.test.ts +0 -206
  85. package/node_modules/zod/src/v3/tests/literal.test.ts +0 -36
  86. package/node_modules/zod/src/v3/tests/map.test.ts +0 -110
  87. package/node_modules/zod/src/v3/tests/masking.test.ts +0 -4
  88. package/node_modules/zod/src/v3/tests/mocker.test.ts +0 -19
  89. package/node_modules/zod/src/v3/tests/nan.test.ts +0 -24
  90. package/node_modules/zod/src/v3/tests/nativeEnum.test.ts +0 -87
  91. package/node_modules/zod/src/v3/tests/nullable.test.ts +0 -42
  92. package/node_modules/zod/src/v3/tests/number.test.ts +0 -176
  93. package/node_modules/zod/src/v3/tests/object-augmentation.test.ts +0 -29
  94. package/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +0 -29
  95. package/node_modules/zod/src/v3/tests/object.test.ts +0 -431
  96. package/node_modules/zod/src/v3/tests/optional.test.ts +0 -42
  97. package/node_modules/zod/src/v3/tests/parseUtil.test.ts +0 -23
  98. package/node_modules/zod/src/v3/tests/parser.test.ts +0 -41
  99. package/node_modules/zod/src/v3/tests/partials.test.ts +0 -243
  100. package/node_modules/zod/src/v3/tests/pickomit.test.ts +0 -111
  101. package/node_modules/zod/src/v3/tests/pipeline.test.ts +0 -29
  102. package/node_modules/zod/src/v3/tests/preprocess.test.ts +0 -186
  103. package/node_modules/zod/src/v3/tests/primitive.test.ts +0 -440
  104. package/node_modules/zod/src/v3/tests/promise.test.ts +0 -90
  105. package/node_modules/zod/src/v3/tests/readonly.test.ts +0 -114
  106. package/node_modules/zod/src/v3/tests/record.test.ts +0 -171
  107. package/node_modules/zod/src/v3/tests/recursive.test.ts +0 -197
  108. package/node_modules/zod/src/v3/tests/refine.test.ts +0 -313
  109. package/node_modules/zod/src/v3/tests/safeparse.test.ts +0 -27
  110. package/node_modules/zod/src/v3/tests/set.test.ts +0 -142
  111. package/node_modules/zod/src/v3/tests/standard-schema.test.ts +0 -83
  112. package/node_modules/zod/src/v3/tests/string.test.ts +0 -922
  113. package/node_modules/zod/src/v3/tests/transformer.test.ts +0 -233
  114. package/node_modules/zod/src/v3/tests/tuple.test.ts +0 -90
  115. package/node_modules/zod/src/v3/tests/unions.test.ts +0 -57
  116. package/node_modules/zod/src/v3/tests/validations.test.ts +0 -133
  117. package/node_modules/zod/src/v3/tests/void.test.ts +0 -15
  118. package/node_modules/zod/src/v3/types.ts +0 -5138
  119. package/node_modules/zod/src/v4/classic/checks.ts +0 -33
  120. package/node_modules/zod/src/v4/classic/coerce.ts +0 -27
  121. package/node_modules/zod/src/v4/classic/compat.ts +0 -78
  122. package/node_modules/zod/src/v4/classic/deep-partial.ts +0 -76
  123. package/node_modules/zod/src/v4/classic/errors.ts +0 -97
  124. package/node_modules/zod/src/v4/classic/external.ts +0 -57
  125. package/node_modules/zod/src/v4/classic/from-json-schema.ts +0 -944
  126. package/node_modules/zod/src/v4/classic/in-out.ts +0 -45
  127. package/node_modules/zod/src/v4/classic/index.ts +0 -5
  128. package/node_modules/zod/src/v4/classic/iso.ts +0 -20
  129. package/node_modules/zod/src/v4/classic/parse.ts +0 -88
  130. package/node_modules/zod/src/v4/classic/schemas.ts +0 -2937
  131. package/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +0 -26
  132. package/node_modules/zod/src/v4/classic/tests/apply.test.ts +0 -86
  133. package/node_modules/zod/src/v4/classic/tests/array.test.ts +0 -264
  134. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +0 -402
  135. package/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +0 -381
  136. package/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +0 -68
  137. package/node_modules/zod/src/v4/classic/tests/base.test.ts +0 -7
  138. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +0 -89
  139. package/node_modules/zod/src/v4/classic/tests/brand.test.ts +0 -106
  140. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +0 -604
  141. package/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +0 -20
  142. package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +0 -572
  143. package/node_modules/zod/src/v4/classic/tests/codec.test.ts +0 -704
  144. package/node_modules/zod/src/v4/classic/tests/coerce.test.ts +0 -160
  145. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +0 -374
  146. package/node_modules/zod/src/v4/classic/tests/credit-card.test.ts +0 -76
  147. package/node_modules/zod/src/v4/classic/tests/custom.test.ts +0 -40
  148. package/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +0 -985
  149. package/node_modules/zod/src/v4/classic/tests/date.test.ts +0 -92
  150. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +0 -316
  151. package/node_modules/zod/src/v4/classic/tests/deep-partial.test.ts +0 -380
  152. package/node_modules/zod/src/v4/classic/tests/default-locale.test.ts +0 -32
  153. package/node_modules/zod/src/v4/classic/tests/default.test.ts +0 -455
  154. package/node_modules/zod/src/v4/classic/tests/describe-meta-checks.test.ts +0 -27
  155. package/node_modules/zod/src/v4/classic/tests/description.test.ts +0 -32
  156. package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +0 -221
  157. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +0 -942
  158. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +0 -305
  159. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +0 -917
  160. package/node_modules/zod/src/v4/classic/tests/error.test.ts +0 -1108
  161. package/node_modules/zod/src/v4/classic/tests/file.test.ts +0 -96
  162. package/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +0 -179
  163. package/node_modules/zod/src/v4/classic/tests/fix-json-issue.test.ts +0 -26
  164. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +0 -1467
  165. package/node_modules/zod/src/v4/classic/tests/function.test.ts +0 -391
  166. package/node_modules/zod/src/v4/classic/tests/generics.test.ts +0 -72
  167. package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +0 -32
  168. package/node_modules/zod/src/v4/classic/tests/hash.test.ts +0 -67
  169. package/node_modules/zod/src/v4/classic/tests/iban.test.ts +0 -81
  170. package/node_modules/zod/src/v4/classic/tests/in-out.test.ts +0 -159
  171. package/node_modules/zod/src/v4/classic/tests/index.test.ts +0 -958
  172. package/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +0 -319
  173. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +0 -127
  174. package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +0 -334
  175. package/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +0 -215
  176. package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +0 -39
  177. package/node_modules/zod/src/v4/classic/tests/json.test.ts +0 -109
  178. package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +0 -262
  179. package/node_modules/zod/src/v4/classic/tests/literal.test.ts +0 -128
  180. package/node_modules/zod/src/v4/classic/tests/locales_ka.test.ts +0 -29
  181. package/node_modules/zod/src/v4/classic/tests/locales_ro.test.ts +0 -24
  182. package/node_modules/zod/src/v4/classic/tests/map.test.ts +0 -342
  183. package/node_modules/zod/src/v4/classic/tests/nan.test.ts +0 -21
  184. package/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +0 -168
  185. package/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +0 -101
  186. package/node_modules/zod/src/v4/classic/tests/nullable.test.ts +0 -22
  187. package/node_modules/zod/src/v4/classic/tests/number.test.ts +0 -401
  188. package/node_modules/zod/src/v4/classic/tests/object.test.ts +0 -1006
  189. package/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +0 -235
  190. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +0 -366
  191. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +0 -497
  192. package/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +0 -211
  193. package/node_modules/zod/src/v4/classic/tests/pipe.test.ts +0 -101
  194. package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +0 -144
  195. package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +0 -44
  196. package/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +0 -351
  197. package/node_modules/zod/src/v4/classic/tests/primitive.test.ts +0 -175
  198. package/node_modules/zod/src/v4/classic/tests/promise.test.ts +0 -81
  199. package/node_modules/zod/src/v4/classic/tests/properties.test.ts +0 -141
  200. package/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +0 -23
  201. package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +0 -184
  202. package/node_modules/zod/src/v4/classic/tests/record.test.ts +0 -885
  203. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +0 -707
  204. package/node_modules/zod/src/v4/classic/tests/redos.test.ts +0 -68
  205. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +0 -693
  206. package/node_modules/zod/src/v4/classic/tests/registries.test.ts +0 -243
  207. package/node_modules/zod/src/v4/classic/tests/set.test.ts +0 -190
  208. package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +0 -153
  209. package/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +0 -125
  210. package/node_modules/zod/src/v4/classic/tests/string.test.ts +0 -1440
  211. package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +0 -124
  212. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +0 -812
  213. package/node_modules/zod/src/v4/classic/tests/to-json-schema-methods.test.ts +0 -438
  214. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +0 -4733
  215. package/node_modules/zod/src/v4/classic/tests/transform.test.ts +0 -378
  216. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +0 -511
  217. package/node_modules/zod/src/v4/classic/tests/union.test.ts +0 -310
  218. package/node_modules/zod/src/v4/classic/tests/url.test.ts +0 -13
  219. package/node_modules/zod/src/v4/classic/tests/validate.test.ts +0 -645
  220. package/node_modules/zod/src/v4/classic/tests/validations.test.ts +0 -283
  221. package/node_modules/zod/src/v4/classic/tests/void.test.ts +0 -12
  222. package/node_modules/zod/src/v4/core/api.ts +0 -1875
  223. package/node_modules/zod/src/v4/core/checks.ts +0 -1266
  224. package/node_modules/zod/src/v4/core/compile.ts +0 -2313
  225. package/node_modules/zod/src/v4/core/core.ts +0 -230
  226. package/node_modules/zod/src/v4/core/doc.ts +0 -52
  227. package/node_modules/zod/src/v4/core/errors.ts +0 -543
  228. package/node_modules/zod/src/v4/core/index.ts +0 -19
  229. package/node_modules/zod/src/v4/core/json-schema-generator.ts +0 -131
  230. package/node_modules/zod/src/v4/core/json-schema-processors.ts +0 -934
  231. package/node_modules/zod/src/v4/core/json-schema.ts +0 -148
  232. package/node_modules/zod/src/v4/core/memoizer.ts +0 -331
  233. package/node_modules/zod/src/v4/core/parse.ts +0 -309
  234. package/node_modules/zod/src/v4/core/regexes.ts +0 -217
  235. package/node_modules/zod/src/v4/core/registries.ts +0 -105
  236. package/node_modules/zod/src/v4/core/schemas.ts +0 -5192
  237. package/node_modules/zod/src/v4/core/standard-schema.ts +0 -159
  238. package/node_modules/zod/src/v4/core/tests/cached.test.ts +0 -54
  239. package/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +0 -1004
  240. package/node_modules/zod/src/v4/core/tests/compile-generative.test.ts +0 -445
  241. package/node_modules/zod/src/v4/core/tests/compile-global.test.ts +0 -89
  242. package/node_modules/zod/src/v4/core/tests/compile-off-by-default.test.ts +0 -26
  243. package/node_modules/zod/src/v4/core/tests/compile-stats.test.ts +0 -34
  244. package/node_modules/zod/src/v4/core/tests/compile.test.ts +0 -2036
  245. package/node_modules/zod/src/v4/core/tests/email-regex.test.ts +0 -140
  246. package/node_modules/zod/src/v4/core/tests/extend.test.ts +0 -59
  247. package/node_modules/zod/src/v4/core/tests/index.test.ts +0 -46
  248. package/node_modules/zod/src/v4/core/tests/locales/be.test.ts +0 -124
  249. package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +0 -214
  250. package/node_modules/zod/src/v4/core/tests/locales/en.test.ts +0 -22
  251. package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +0 -180
  252. package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +0 -72
  253. package/node_modules/zod/src/v4/core/tests/locales/he.test.ts +0 -379
  254. package/node_modules/zod/src/v4/core/tests/locales/hr.test.ts +0 -163
  255. package/node_modules/zod/src/v4/core/tests/locales/nl.test.ts +0 -46
  256. package/node_modules/zod/src/v4/core/tests/locales/parity.test.ts +0 -42
  257. package/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +0 -128
  258. package/node_modules/zod/src/v4/core/tests/locales/tg.test.ts +0 -85
  259. package/node_modules/zod/src/v4/core/tests/locales/tk.test.ts +0 -69
  260. package/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +0 -69
  261. package/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +0 -105
  262. package/node_modules/zod/src/v4/core/tests/polyfill-collision.test.ts +0 -46
  263. package/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +0 -125
  264. package/node_modules/zod/src/v4/core/tests/recursive-tuples.test.ts +0 -45
  265. package/node_modules/zod/src/v4/core/tests/treeshake.test.ts +0 -51
  266. package/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +0 -133
  267. package/node_modules/zod/src/v4/core/to-json-schema.ts +0 -857
  268. package/node_modules/zod/src/v4/core/util.ts +0 -1280
  269. package/node_modules/zod/src/v4/core/versions.ts +0 -5
  270. package/node_modules/zod/src/v4/core/visit.ts +0 -193
  271. package/node_modules/zod/src/v4/core/zsf.ts +0 -323
  272. package/node_modules/zod/src/v4/index.ts +0 -4
  273. package/node_modules/zod/src/v4/locales/ar.ts +0 -120
  274. package/node_modules/zod/src/v4/locales/az.ts +0 -116
  275. package/node_modules/zod/src/v4/locales/be.ts +0 -188
  276. package/node_modules/zod/src/v4/locales/bg.ts +0 -133
  277. package/node_modules/zod/src/v4/locales/bn.ts +0 -123
  278. package/node_modules/zod/src/v4/locales/ca.ts +0 -121
  279. package/node_modules/zod/src/v4/locales/ckb.ts +0 -140
  280. package/node_modules/zod/src/v4/locales/cs.ts +0 -123
  281. package/node_modules/zod/src/v4/locales/da.ts +0 -128
  282. package/node_modules/zod/src/v4/locales/de.ts +0 -121
  283. package/node_modules/zod/src/v4/locales/el.ts +0 -124
  284. package/node_modules/zod/src/v4/locales/en.ts +0 -136
  285. package/node_modules/zod/src/v4/locales/eo.ts +0 -123
  286. package/node_modules/zod/src/v4/locales/es.ts +0 -145
  287. package/node_modules/zod/src/v4/locales/fa.ts +0 -131
  288. package/node_modules/zod/src/v4/locales/fi.ts +0 -126
  289. package/node_modules/zod/src/v4/locales/fr-CA.ts +0 -121
  290. package/node_modules/zod/src/v4/locales/fr.ts +0 -139
  291. package/node_modules/zod/src/v4/locales/gu.ts +0 -123
  292. package/node_modules/zod/src/v4/locales/he.ts +0 -253
  293. package/node_modules/zod/src/v4/locales/hi.ts +0 -126
  294. package/node_modules/zod/src/v4/locales/hr.ts +0 -135
  295. package/node_modules/zod/src/v4/locales/hu.ts +0 -122
  296. package/node_modules/zod/src/v4/locales/hy.ts +0 -175
  297. package/node_modules/zod/src/v4/locales/id.ts +0 -120
  298. package/node_modules/zod/src/v4/locales/index.ts +0 -63
  299. package/node_modules/zod/src/v4/locales/is.ts +0 -124
  300. package/node_modules/zod/src/v4/locales/it.ts +0 -121
  301. package/node_modules/zod/src/v4/locales/ja.ts +0 -119
  302. package/node_modules/zod/src/v4/locales/ka.ts +0 -128
  303. package/node_modules/zod/src/v4/locales/kh.ts +0 -7
  304. package/node_modules/zod/src/v4/locales/km.ts +0 -124
  305. package/node_modules/zod/src/v4/locales/kn.ts +0 -126
  306. package/node_modules/zod/src/v4/locales/ko.ts +0 -126
  307. package/node_modules/zod/src/v4/locales/lt.ts +0 -243
  308. package/node_modules/zod/src/v4/locales/mk.ts +0 -123
  309. package/node_modules/zod/src/v4/locales/ms.ts +0 -120
  310. package/node_modules/zod/src/v4/locales/ne.ts +0 -128
  311. package/node_modules/zod/src/v4/locales/nl.ts +0 -126
  312. package/node_modules/zod/src/v4/locales/nn.ts +0 -121
  313. package/node_modules/zod/src/v4/locales/no.ts +0 -121
  314. package/node_modules/zod/src/v4/locales/ota.ts +0 -122
  315. package/node_modules/zod/src/v4/locales/pl.ts +0 -123
  316. package/node_modules/zod/src/v4/locales/ps.ts +0 -131
  317. package/node_modules/zod/src/v4/locales/pt-BR.ts +0 -161
  318. package/node_modules/zod/src/v4/locales/pt.ts +0 -159
  319. package/node_modules/zod/src/v4/locales/ro.ts +0 -132
  320. package/node_modules/zod/src/v4/locales/ru.ts +0 -188
  321. package/node_modules/zod/src/v4/locales/sk.ts +0 -123
  322. package/node_modules/zod/src/v4/locales/sl.ts +0 -123
  323. package/node_modules/zod/src/v4/locales/sv.ts +0 -124
  324. package/node_modules/zod/src/v4/locales/ta.ts +0 -123
  325. package/node_modules/zod/src/v4/locales/tg.ts +0 -135
  326. package/node_modules/zod/src/v4/locales/th.ts +0 -124
  327. package/node_modules/zod/src/v4/locales/tk.ts +0 -113
  328. package/node_modules/zod/src/v4/locales/tr.ts +0 -116
  329. package/node_modules/zod/src/v4/locales/ua.ts +0 -7
  330. package/node_modules/zod/src/v4/locales/uk.ts +0 -122
  331. package/node_modules/zod/src/v4/locales/ur.ts +0 -124
  332. package/node_modules/zod/src/v4/locales/uz.ts +0 -120
  333. package/node_modules/zod/src/v4/locales/vi.ts +0 -122
  334. package/node_modules/zod/src/v4/locales/yo.ts +0 -129
  335. package/node_modules/zod/src/v4/locales/zh-CN.ts +0 -121
  336. package/node_modules/zod/src/v4/locales/zh-TW.ts +0 -120
  337. package/node_modules/zod/src/v4/mini/checks.ts +0 -33
  338. package/node_modules/zod/src/v4/mini/coerce.ts +0 -27
  339. package/node_modules/zod/src/v4/mini/deep-partial.ts +0 -73
  340. package/node_modules/zod/src/v4/mini/external.ts +0 -52
  341. package/node_modules/zod/src/v4/mini/in-out.ts +0 -45
  342. package/node_modules/zod/src/v4/mini/index.ts +0 -3
  343. package/node_modules/zod/src/v4/mini/iso.ts +0 -66
  344. package/node_modules/zod/src/v4/mini/parse.ts +0 -16
  345. package/node_modules/zod/src/v4/mini/schemas.ts +0 -2051
  346. package/node_modules/zod/src/v4/mini/tests/apply.test.ts +0 -57
  347. package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +0 -190
  348. package/node_modules/zod/src/v4/mini/tests/brand.test.ts +0 -94
  349. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +0 -158
  350. package/node_modules/zod/src/v4/mini/tests/codec.test.ts +0 -582
  351. package/node_modules/zod/src/v4/mini/tests/computed.test.ts +0 -30
  352. package/node_modules/zod/src/v4/mini/tests/cyclic-data.test.ts +0 -84
  353. package/node_modules/zod/src/v4/mini/tests/deep-partial.test.ts +0 -54
  354. package/node_modules/zod/src/v4/mini/tests/error.test.ts +0 -41
  355. package/node_modules/zod/src/v4/mini/tests/functions.test.ts +0 -14
  356. package/node_modules/zod/src/v4/mini/tests/index.test.ts +0 -1146
  357. package/node_modules/zod/src/v4/mini/tests/number.test.ts +0 -109
  358. package/node_modules/zod/src/v4/mini/tests/object.test.ts +0 -292
  359. package/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +0 -43
  360. package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +0 -341
  361. package/node_modules/zod/src/v4/mini/tests/standard-schema.test.ts +0 -50
  362. package/node_modules/zod/src/v4/mini/tests/string.test.ts +0 -396
  363. package/node_modules/zod/src/v4-mini/index.ts +0 -3
  364. package/node_modules/zod/v3/ZodError.cjs +0 -167
  365. package/node_modules/zod/v3/ZodError.d.cts +0 -164
  366. package/node_modules/zod/v3/ZodError.d.ts +0 -164
  367. package/node_modules/zod/v3/ZodError.js +0 -143
  368. package/node_modules/zod/v3/errors.cjs +0 -36
  369. package/node_modules/zod/v3/errors.d.cts +0 -5
  370. package/node_modules/zod/v3/errors.d.ts +0 -5
  371. package/node_modules/zod/v3/errors.js +0 -9
  372. package/node_modules/zod/v3/external.cjs +0 -41
  373. package/node_modules/zod/v3/external.d.cts +0 -6
  374. package/node_modules/zod/v3/external.d.ts +0 -6
  375. package/node_modules/zod/v3/external.js +0 -6
  376. package/node_modules/zod/v3/helpers/enumUtil.cjs +0 -21
  377. package/node_modules/zod/v3/helpers/enumUtil.d.cts +0 -8
  378. package/node_modules/zod/v3/helpers/enumUtil.d.ts +0 -8
  379. package/node_modules/zod/v3/helpers/enumUtil.js +0 -1
  380. package/node_modules/zod/v3/helpers/errorUtil.cjs +0 -28
  381. package/node_modules/zod/v3/helpers/errorUtil.d.cts +0 -9
  382. package/node_modules/zod/v3/helpers/errorUtil.d.ts +0 -9
  383. package/node_modules/zod/v3/helpers/errorUtil.js +0 -6
  384. package/node_modules/zod/v3/helpers/parseUtil.cjs +0 -143
  385. package/node_modules/zod/v3/helpers/parseUtil.d.cts +0 -78
  386. package/node_modules/zod/v3/helpers/parseUtil.d.ts +0 -78
  387. package/node_modules/zod/v3/helpers/parseUtil.js +0 -109
  388. package/node_modules/zod/v3/helpers/partialUtil.cjs +0 -21
  389. package/node_modules/zod/v3/helpers/partialUtil.d.cts +0 -8
  390. package/node_modules/zod/v3/helpers/partialUtil.d.ts +0 -8
  391. package/node_modules/zod/v3/helpers/partialUtil.js +0 -1
  392. package/node_modules/zod/v3/helpers/typeAliases.cjs +0 -21
  393. package/node_modules/zod/v3/helpers/typeAliases.d.cts +0 -2
  394. package/node_modules/zod/v3/helpers/typeAliases.d.ts +0 -2
  395. package/node_modules/zod/v3/helpers/typeAliases.js +0 -1
  396. package/node_modules/zod/v3/helpers/util.cjs +0 -156
  397. package/node_modules/zod/v3/helpers/util.d.cts +0 -85
  398. package/node_modules/zod/v3/helpers/util.d.ts +0 -85
  399. package/node_modules/zod/v3/helpers/util.js +0 -133
  400. package/node_modules/zod/v3/index.cjs +0 -52
  401. package/node_modules/zod/v3/index.d.cts +0 -4
  402. package/node_modules/zod/v3/index.d.ts +0 -4
  403. package/node_modules/zod/v3/index.js +0 -4
  404. package/node_modules/zod/v3/locales/en.cjs +0 -112
  405. package/node_modules/zod/v3/locales/en.d.cts +0 -3
  406. package/node_modules/zod/v3/locales/en.d.ts +0 -3
  407. package/node_modules/zod/v3/locales/en.js +0 -109
  408. package/node_modules/zod/v3/package.json +0 -7
  409. package/node_modules/zod/v3/standard-schema.cjs +0 -21
  410. package/node_modules/zod/v3/standard-schema.d.cts +0 -102
  411. package/node_modules/zod/v3/standard-schema.d.ts +0 -102
  412. package/node_modules/zod/v3/standard-schema.js +0 -1
  413. package/node_modules/zod/v3/types.cjs +0 -3798
  414. package/node_modules/zod/v3/types.d.cts +0 -1034
  415. package/node_modules/zod/v3/types.d.ts +0 -1034
  416. package/node_modules/zod/v3/types.js +0 -3697
  417. package/node_modules/zod/v4/classic/checks.cjs +0 -53
  418. package/node_modules/zod/v4/classic/checks.d.cts +0 -1
  419. package/node_modules/zod/v4/classic/checks.d.ts +0 -1
  420. package/node_modules/zod/v4/classic/checks.js +0 -1
  421. package/node_modules/zod/v4/classic/coerce.cjs +0 -66
  422. package/node_modules/zod/v4/classic/coerce.d.cts +0 -17
  423. package/node_modules/zod/v4/classic/coerce.d.ts +0 -17
  424. package/node_modules/zod/v4/classic/coerce.js +0 -17
  425. package/node_modules/zod/v4/classic/compat.cjs +0 -80
  426. package/node_modules/zod/v4/classic/compat.d.cts +0 -48
  427. package/node_modules/zod/v4/classic/compat.d.ts +0 -48
  428. package/node_modules/zod/v4/classic/compat.js +0 -31
  429. package/node_modules/zod/v4/classic/deep-partial.cjs +0 -58
  430. package/node_modules/zod/v4/classic/deep-partial.d.cts +0 -14
  431. package/node_modules/zod/v4/classic/deep-partial.d.ts +0 -14
  432. package/node_modules/zod/v4/classic/deep-partial.js +0 -13
  433. package/node_modules/zod/v4/classic/errors.cjs +0 -102
  434. package/node_modules/zod/v4/classic/errors.d.cts +0 -29
  435. package/node_modules/zod/v4/classic/errors.d.ts +0 -29
  436. package/node_modules/zod/v4/classic/errors.js +0 -57
  437. package/node_modules/zod/v4/classic/external.cjs +0 -97
  438. package/node_modules/zod/v4/classic/external.d.cts +0 -19
  439. package/node_modules/zod/v4/classic/external.d.ts +0 -19
  440. package/node_modules/zod/v4/classic/external.js +0 -17
  441. package/node_modules/zod/v4/classic/from-json-schema.cjs +0 -926
  442. package/node_modules/zod/v4/classic/from-json-schema.d.cts +0 -12
  443. package/node_modules/zod/v4/classic/from-json-schema.d.ts +0 -12
  444. package/node_modules/zod/v4/classic/from-json-schema.js +0 -881
  445. package/node_modules/zod/v4/classic/in-out.cjs +0 -82
  446. package/node_modules/zod/v4/classic/in-out.d.cts +0 -8
  447. package/node_modules/zod/v4/classic/in-out.d.ts +0 -8
  448. package/node_modules/zod/v4/classic/in-out.js +0 -36
  449. package/node_modules/zod/v4/classic/index.cjs +0 -52
  450. package/node_modules/zod/v4/classic/index.d.cts +0 -3
  451. package/node_modules/zod/v4/classic/index.d.ts +0 -3
  452. package/node_modules/zod/v4/classic/index.js +0 -4
  453. package/node_modules/zod/v4/classic/iso.cjs +0 -68
  454. package/node_modules/zod/v4/classic/iso.d.cts +0 -7
  455. package/node_modules/zod/v4/classic/iso.d.ts +0 -7
  456. package/node_modules/zod/v4/classic/iso.js +0 -15
  457. package/node_modules/zod/v4/classic/package.json +0 -7
  458. package/node_modules/zod/v4/classic/parse.cjs +0 -63
  459. package/node_modules/zod/v4/classic/parse.d.cts +0 -44
  460. package/node_modules/zod/v4/classic/parse.d.ts +0 -44
  461. package/node_modules/zod/v4/classic/parse.js +0 -16
  462. package/node_modules/zod/v4/classic/schemas.cjs +0 -1676
  463. package/node_modules/zod/v4/classic/schemas.d.cts +0 -816
  464. package/node_modules/zod/v4/classic/schemas.d.ts +0 -816
  465. package/node_modules/zod/v4/classic/schemas.js +0 -1535
  466. package/node_modules/zod/v4/core/api.cjs +0 -1269
  467. package/node_modules/zod/v4/core/api.d.cts +0 -335
  468. package/node_modules/zod/v4/core/api.d.ts +0 -335
  469. package/node_modules/zod/v4/core/api.js +0 -1107
  470. package/node_modules/zod/v4/core/checks.cjs +0 -561
  471. package/node_modules/zod/v4/core/checks.d.cts +0 -294
  472. package/node_modules/zod/v4/core/checks.d.ts +0 -294
  473. package/node_modules/zod/v4/core/checks.js +0 -516
  474. package/node_modules/zod/v4/core/compile.cjs +0 -1908
  475. package/node_modules/zod/v4/core/compile.d.cts +0 -65
  476. package/node_modules/zod/v4/core/compile.d.ts +0 -65
  477. package/node_modules/zod/v4/core/compile.js +0 -1858
  478. package/node_modules/zod/v4/core/core.cjs +0 -167
  479. package/node_modules/zod/v4/core/core.d.cts +0 -82
  480. package/node_modules/zod/v4/core/core.d.ts +0 -82
  481. package/node_modules/zod/v4/core/core.js +0 -141
  482. package/node_modules/zod/v4/core/doc.cjs +0 -61
  483. package/node_modules/zod/v4/core/doc.d.cts +0 -16
  484. package/node_modules/zod/v4/core/doc.d.ts +0 -16
  485. package/node_modules/zod/v4/core/doc.js +0 -38
  486. package/node_modules/zod/v4/core/errors.cjs +0 -317
  487. package/node_modules/zod/v4/core/errors.d.cts +0 -225
  488. package/node_modules/zod/v4/core/errors.d.ts +0 -225
  489. package/node_modules/zod/v4/core/errors.js +0 -267
  490. package/node_modules/zod/v4/core/index.cjs +0 -70
  491. package/node_modules/zod/v4/core/index.d.cts +0 -19
  492. package/node_modules/zod/v4/core/index.d.ts +0 -19
  493. package/node_modules/zod/v4/core/index.js +0 -19
  494. package/node_modules/zod/v4/core/json-schema-generator.cjs +0 -122
  495. package/node_modules/zod/v4/core/json-schema-generator.d.cts +0 -65
  496. package/node_modules/zod/v4/core/json-schema-generator.d.ts +0 -65
  497. package/node_modules/zod/v4/core/json-schema-generator.js +0 -99
  498. package/node_modules/zod/v4/core/json-schema-processors.cjs +0 -929
  499. package/node_modules/zod/v4/core/json-schema-processors.d.cts +0 -65
  500. package/node_modules/zod/v4/core/json-schema-processors.d.ts +0 -65
  501. package/node_modules/zod/v4/core/json-schema-processors.js +0 -843
  502. package/node_modules/zod/v4/core/json-schema.cjs +0 -21
  503. package/node_modules/zod/v4/core/json-schema.d.cts +0 -89
  504. package/node_modules/zod/v4/core/json-schema.d.ts +0 -89
  505. package/node_modules/zod/v4/core/json-schema.js +0 -1
  506. package/node_modules/zod/v4/core/memoizer.cjs +0 -360
  507. package/node_modules/zod/v4/core/memoizer.d.cts +0 -15
  508. package/node_modules/zod/v4/core/memoizer.d.ts +0 -15
  509. package/node_modules/zod/v4/core/memoizer.js +0 -311
  510. package/node_modules/zod/v4/core/package.json +0 -7
  511. package/node_modules/zod/v4/core/parse.cjs +0 -233
  512. package/node_modules/zod/v4/core/parse.d.cts +0 -52
  513. package/node_modules/zod/v4/core/parse.d.ts +0 -52
  514. package/node_modules/zod/v4/core/parse.js +0 -175
  515. package/node_modules/zod/v4/core/regexes.cjs +0 -209
  516. package/node_modules/zod/v4/core/regexes.d.cts +0 -90
  517. package/node_modules/zod/v4/core/regexes.d.ts +0 -90
  518. package/node_modules/zod/v4/core/regexes.js +0 -156
  519. package/node_modules/zod/v4/core/registries.cjs +0 -75
  520. package/node_modules/zod/v4/core/registries.d.cts +0 -35
  521. package/node_modules/zod/v4/core/registries.d.ts +0 -35
  522. package/node_modules/zod/v4/core/registries.js +0 -51
  523. package/node_modules/zod/v4/core/schemas.cjs +0 -2669
  524. package/node_modules/zod/v4/core/schemas.d.cts +0 -1273
  525. package/node_modules/zod/v4/core/schemas.d.ts +0 -1273
  526. package/node_modules/zod/v4/core/schemas.js +0 -2606
  527. package/node_modules/zod/v4/core/standard-schema.cjs +0 -21
  528. package/node_modules/zod/v4/core/standard-schema.d.cts +0 -126
  529. package/node_modules/zod/v4/core/standard-schema.d.ts +0 -126
  530. package/node_modules/zod/v4/core/standard-schema.js +0 -1
  531. package/node_modules/zod/v4/core/to-json-schema.cjs +0 -681
  532. package/node_modules/zod/v4/core/to-json-schema.d.cts +0 -154
  533. package/node_modules/zod/v4/core/to-json-schema.d.ts +0 -154
  534. package/node_modules/zod/v4/core/to-json-schema.js +0 -651
  535. package/node_modules/zod/v4/core/util.cjs +0 -949
  536. package/node_modules/zod/v4/core/util.d.cts +0 -278
  537. package/node_modules/zod/v4/core/util.d.ts +0 -278
  538. package/node_modules/zod/v4/core/util.js +0 -859
  539. package/node_modules/zod/v4/core/versions.cjs +0 -27
  540. package/node_modules/zod/v4/core/versions.d.cts +0 -5
  541. package/node_modules/zod/v4/core/versions.d.ts +0 -5
  542. package/node_modules/zod/v4/core/versions.js +0 -5
  543. package/node_modules/zod/v4/core/visit.cjs +0 -214
  544. package/node_modules/zod/v4/core/visit.d.cts +0 -30
  545. package/node_modules/zod/v4/core/visit.d.ts +0 -30
  546. package/node_modules/zod/v4/core/visit.js +0 -169
  547. package/node_modules/zod/v4/index.cjs +0 -51
  548. package/node_modules/zod/v4/index.d.cts +0 -3
  549. package/node_modules/zod/v4/index.d.ts +0 -3
  550. package/node_modules/zod/v4/index.js +0 -4
  551. package/node_modules/zod/v4/locales/ar.cjs +0 -138
  552. package/node_modules/zod/v4/locales/ar.d.cts +0 -5
  553. package/node_modules/zod/v4/locales/ar.d.ts +0 -4
  554. package/node_modules/zod/v4/locales/ar.js +0 -111
  555. package/node_modules/zod/v4/locales/az.cjs +0 -137
  556. package/node_modules/zod/v4/locales/az.d.cts +0 -5
  557. package/node_modules/zod/v4/locales/az.d.ts +0 -4
  558. package/node_modules/zod/v4/locales/az.js +0 -110
  559. package/node_modules/zod/v4/locales/be.cjs +0 -195
  560. package/node_modules/zod/v4/locales/be.d.cts +0 -5
  561. package/node_modules/zod/v4/locales/be.d.ts +0 -4
  562. package/node_modules/zod/v4/locales/be.js +0 -168
  563. package/node_modules/zod/v4/locales/bg.cjs +0 -152
  564. package/node_modules/zod/v4/locales/bg.d.cts +0 -5
  565. package/node_modules/zod/v4/locales/bg.d.ts +0 -4
  566. package/node_modules/zod/v4/locales/bg.js +0 -125
  567. package/node_modules/zod/v4/locales/bn.cjs +0 -140
  568. package/node_modules/zod/v4/locales/bn.d.cts +0 -5
  569. package/node_modules/zod/v4/locales/bn.d.ts +0 -4
  570. package/node_modules/zod/v4/locales/bn.js +0 -113
  571. package/node_modules/zod/v4/locales/ca.cjs +0 -139
  572. package/node_modules/zod/v4/locales/ca.d.cts +0 -5
  573. package/node_modules/zod/v4/locales/ca.d.ts +0 -4
  574. package/node_modules/zod/v4/locales/ca.js +0 -112
  575. package/node_modules/zod/v4/locales/ckb.cjs +0 -160
  576. package/node_modules/zod/v4/locales/ckb.d.cts +0 -5
  577. package/node_modules/zod/v4/locales/ckb.d.ts +0 -4
  578. package/node_modules/zod/v4/locales/ckb.js +0 -133
  579. package/node_modules/zod/v4/locales/cs.cjs +0 -143
  580. package/node_modules/zod/v4/locales/cs.d.cts +0 -5
  581. package/node_modules/zod/v4/locales/cs.d.ts +0 -4
  582. package/node_modules/zod/v4/locales/cs.js +0 -116
  583. package/node_modules/zod/v4/locales/da.cjs +0 -147
  584. package/node_modules/zod/v4/locales/da.d.cts +0 -5
  585. package/node_modules/zod/v4/locales/da.d.ts +0 -4
  586. package/node_modules/zod/v4/locales/da.js +0 -120
  587. package/node_modules/zod/v4/locales/de.cjs +0 -140
  588. package/node_modules/zod/v4/locales/de.d.cts +0 -5
  589. package/node_modules/zod/v4/locales/de.d.ts +0 -4
  590. package/node_modules/zod/v4/locales/de.js +0 -113
  591. package/node_modules/zod/v4/locales/el.cjs +0 -139
  592. package/node_modules/zod/v4/locales/el.d.cts +0 -5
  593. package/node_modules/zod/v4/locales/el.d.ts +0 -4
  594. package/node_modules/zod/v4/locales/el.js +0 -112
  595. package/node_modules/zod/v4/locales/en.cjs +0 -152
  596. package/node_modules/zod/v4/locales/en.d.cts +0 -5
  597. package/node_modules/zod/v4/locales/en.d.ts +0 -4
  598. package/node_modules/zod/v4/locales/en.js +0 -125
  599. package/node_modules/zod/v4/locales/eo.cjs +0 -141
  600. package/node_modules/zod/v4/locales/eo.d.cts +0 -5
  601. package/node_modules/zod/v4/locales/eo.d.ts +0 -4
  602. package/node_modules/zod/v4/locales/eo.js +0 -114
  603. package/node_modules/zod/v4/locales/es.cjs +0 -163
  604. package/node_modules/zod/v4/locales/es.d.cts +0 -5
  605. package/node_modules/zod/v4/locales/es.d.ts +0 -4
  606. package/node_modules/zod/v4/locales/es.js +0 -136
  607. package/node_modules/zod/v4/locales/fa.cjs +0 -146
  608. package/node_modules/zod/v4/locales/fa.d.cts +0 -5
  609. package/node_modules/zod/v4/locales/fa.d.ts +0 -4
  610. package/node_modules/zod/v4/locales/fa.js +0 -119
  611. package/node_modules/zod/v4/locales/fi.cjs +0 -144
  612. package/node_modules/zod/v4/locales/fi.d.cts +0 -5
  613. package/node_modules/zod/v4/locales/fi.d.ts +0 -4
  614. package/node_modules/zod/v4/locales/fi.js +0 -117
  615. package/node_modules/zod/v4/locales/fr-CA.cjs +0 -139
  616. package/node_modules/zod/v4/locales/fr-CA.d.cts +0 -5
  617. package/node_modules/zod/v4/locales/fr-CA.d.ts +0 -4
  618. package/node_modules/zod/v4/locales/fr-CA.js +0 -112
  619. package/node_modules/zod/v4/locales/fr.cjs +0 -156
  620. package/node_modules/zod/v4/locales/fr.d.cts +0 -5
  621. package/node_modules/zod/v4/locales/fr.d.ts +0 -4
  622. package/node_modules/zod/v4/locales/fr.js +0 -129
  623. package/node_modules/zod/v4/locales/gu.cjs +0 -140
  624. package/node_modules/zod/v4/locales/gu.d.cts +0 -5
  625. package/node_modules/zod/v4/locales/gu.d.ts +0 -4
  626. package/node_modules/zod/v4/locales/gu.js +0 -113
  627. package/node_modules/zod/v4/locales/he.cjs +0 -248
  628. package/node_modules/zod/v4/locales/he.d.cts +0 -5
  629. package/node_modules/zod/v4/locales/he.d.ts +0 -4
  630. package/node_modules/zod/v4/locales/he.js +0 -221
  631. package/node_modules/zod/v4/locales/hi.cjs +0 -138
  632. package/node_modules/zod/v4/locales/hi.d.cts +0 -5
  633. package/node_modules/zod/v4/locales/hi.d.ts +0 -4
  634. package/node_modules/zod/v4/locales/hi.js +0 -111
  635. package/node_modules/zod/v4/locales/hr.cjs +0 -153
  636. package/node_modules/zod/v4/locales/hr.d.cts +0 -5
  637. package/node_modules/zod/v4/locales/hr.d.ts +0 -4
  638. package/node_modules/zod/v4/locales/hr.js +0 -126
  639. package/node_modules/zod/v4/locales/hu.cjs +0 -140
  640. package/node_modules/zod/v4/locales/hu.d.cts +0 -5
  641. package/node_modules/zod/v4/locales/hu.d.ts +0 -4
  642. package/node_modules/zod/v4/locales/hu.js +0 -113
  643. package/node_modules/zod/v4/locales/hy.cjs +0 -185
  644. package/node_modules/zod/v4/locales/hy.d.cts +0 -5
  645. package/node_modules/zod/v4/locales/hy.d.ts +0 -4
  646. package/node_modules/zod/v4/locales/hy.js +0 -158
  647. package/node_modules/zod/v4/locales/id.cjs +0 -138
  648. package/node_modules/zod/v4/locales/id.d.cts +0 -5
  649. package/node_modules/zod/v4/locales/id.d.ts +0 -4
  650. package/node_modules/zod/v4/locales/id.js +0 -111
  651. package/node_modules/zod/v4/locales/index.cjs +0 -152
  652. package/node_modules/zod/v4/locales/index.d.cts +0 -63
  653. package/node_modules/zod/v4/locales/index.d.ts +0 -63
  654. package/node_modules/zod/v4/locales/index.js +0 -63
  655. package/node_modules/zod/v4/locales/is.cjs +0 -141
  656. package/node_modules/zod/v4/locales/is.d.cts +0 -5
  657. package/node_modules/zod/v4/locales/is.d.ts +0 -4
  658. package/node_modules/zod/v4/locales/is.js +0 -114
  659. package/node_modules/zod/v4/locales/it.cjs +0 -140
  660. package/node_modules/zod/v4/locales/it.d.cts +0 -5
  661. package/node_modules/zod/v4/locales/it.d.ts +0 -4
  662. package/node_modules/zod/v4/locales/it.js +0 -113
  663. package/node_modules/zod/v4/locales/ja.cjs +0 -139
  664. package/node_modules/zod/v4/locales/ja.d.cts +0 -5
  665. package/node_modules/zod/v4/locales/ja.d.ts +0 -4
  666. package/node_modules/zod/v4/locales/ja.js +0 -112
  667. package/node_modules/zod/v4/locales/ka.cjs +0 -144
  668. package/node_modules/zod/v4/locales/ka.d.cts +0 -5
  669. package/node_modules/zod/v4/locales/ka.d.ts +0 -4
  670. package/node_modules/zod/v4/locales/ka.js +0 -117
  671. package/node_modules/zod/v4/locales/kh.cjs +0 -12
  672. package/node_modules/zod/v4/locales/kh.d.cts +0 -5
  673. package/node_modules/zod/v4/locales/kh.d.ts +0 -5
  674. package/node_modules/zod/v4/locales/kh.js +0 -5
  675. package/node_modules/zod/v4/locales/km.cjs +0 -142
  676. package/node_modules/zod/v4/locales/km.d.cts +0 -5
  677. package/node_modules/zod/v4/locales/km.d.ts +0 -4
  678. package/node_modules/zod/v4/locales/km.js +0 -115
  679. package/node_modules/zod/v4/locales/kn.cjs +0 -143
  680. package/node_modules/zod/v4/locales/kn.d.cts +0 -5
  681. package/node_modules/zod/v4/locales/kn.d.ts +0 -4
  682. package/node_modules/zod/v4/locales/kn.js +0 -116
  683. package/node_modules/zod/v4/locales/ko.cjs +0 -143
  684. package/node_modules/zod/v4/locales/ko.d.cts +0 -5
  685. package/node_modules/zod/v4/locales/ko.d.ts +0 -4
  686. package/node_modules/zod/v4/locales/ko.js +0 -116
  687. package/node_modules/zod/v4/locales/lt.cjs +0 -234
  688. package/node_modules/zod/v4/locales/lt.d.cts +0 -5
  689. package/node_modules/zod/v4/locales/lt.d.ts +0 -4
  690. package/node_modules/zod/v4/locales/lt.js +0 -207
  691. package/node_modules/zod/v4/locales/mk.cjs +0 -141
  692. package/node_modules/zod/v4/locales/mk.d.cts +0 -5
  693. package/node_modules/zod/v4/locales/mk.d.ts +0 -4
  694. package/node_modules/zod/v4/locales/mk.js +0 -114
  695. package/node_modules/zod/v4/locales/ms.cjs +0 -139
  696. package/node_modules/zod/v4/locales/ms.d.cts +0 -5
  697. package/node_modules/zod/v4/locales/ms.d.ts +0 -4
  698. package/node_modules/zod/v4/locales/ms.js +0 -112
  699. package/node_modules/zod/v4/locales/ne.cjs +0 -138
  700. package/node_modules/zod/v4/locales/ne.d.cts +0 -5
  701. package/node_modules/zod/v4/locales/ne.d.ts +0 -4
  702. package/node_modules/zod/v4/locales/ne.js +0 -111
  703. package/node_modules/zod/v4/locales/nl.cjs +0 -142
  704. package/node_modules/zod/v4/locales/nl.d.cts +0 -5
  705. package/node_modules/zod/v4/locales/nl.d.ts +0 -4
  706. package/node_modules/zod/v4/locales/nl.js +0 -115
  707. package/node_modules/zod/v4/locales/nn.cjs +0 -140
  708. package/node_modules/zod/v4/locales/nn.d.cts +0 -5
  709. package/node_modules/zod/v4/locales/nn.d.ts +0 -4
  710. package/node_modules/zod/v4/locales/nn.js +0 -113
  711. package/node_modules/zod/v4/locales/no.cjs +0 -140
  712. package/node_modules/zod/v4/locales/no.d.cts +0 -5
  713. package/node_modules/zod/v4/locales/no.d.ts +0 -4
  714. package/node_modules/zod/v4/locales/no.js +0 -113
  715. package/node_modules/zod/v4/locales/ota.cjs +0 -141
  716. package/node_modules/zod/v4/locales/ota.d.cts +0 -5
  717. package/node_modules/zod/v4/locales/ota.d.ts +0 -4
  718. package/node_modules/zod/v4/locales/ota.js +0 -114
  719. package/node_modules/zod/v4/locales/package.json +0 -7
  720. package/node_modules/zod/v4/locales/pl.cjs +0 -141
  721. package/node_modules/zod/v4/locales/pl.d.cts +0 -5
  722. package/node_modules/zod/v4/locales/pl.d.ts +0 -4
  723. package/node_modules/zod/v4/locales/pl.js +0 -114
  724. package/node_modules/zod/v4/locales/ps.cjs +0 -146
  725. package/node_modules/zod/v4/locales/ps.d.cts +0 -5
  726. package/node_modules/zod/v4/locales/ps.d.ts +0 -4
  727. package/node_modules/zod/v4/locales/ps.js +0 -119
  728. package/node_modules/zod/v4/locales/pt-BR.cjs +0 -170
  729. package/node_modules/zod/v4/locales/pt-BR.d.cts +0 -5
  730. package/node_modules/zod/v4/locales/pt-BR.d.ts +0 -4
  731. package/node_modules/zod/v4/locales/pt-BR.js +0 -143
  732. package/node_modules/zod/v4/locales/pt.cjs +0 -169
  733. package/node_modules/zod/v4/locales/pt.d.cts +0 -5
  734. package/node_modules/zod/v4/locales/pt.d.ts +0 -4
  735. package/node_modules/zod/v4/locales/pt.js +0 -142
  736. package/node_modules/zod/v4/locales/ro.cjs +0 -149
  737. package/node_modules/zod/v4/locales/ro.d.cts +0 -5
  738. package/node_modules/zod/v4/locales/ro.d.ts +0 -4
  739. package/node_modules/zod/v4/locales/ro.js +0 -122
  740. package/node_modules/zod/v4/locales/ru.cjs +0 -195
  741. package/node_modules/zod/v4/locales/ru.d.cts +0 -5
  742. package/node_modules/zod/v4/locales/ru.d.ts +0 -4
  743. package/node_modules/zod/v4/locales/ru.js +0 -168
  744. package/node_modules/zod/v4/locales/sk.cjs +0 -143
  745. package/node_modules/zod/v4/locales/sk.d.cts +0 -5
  746. package/node_modules/zod/v4/locales/sk.d.ts +0 -4
  747. package/node_modules/zod/v4/locales/sk.js +0 -116
  748. package/node_modules/zod/v4/locales/sl.cjs +0 -141
  749. package/node_modules/zod/v4/locales/sl.d.cts +0 -5
  750. package/node_modules/zod/v4/locales/sl.d.ts +0 -4
  751. package/node_modules/zod/v4/locales/sl.js +0 -114
  752. package/node_modules/zod/v4/locales/sv.cjs +0 -142
  753. package/node_modules/zod/v4/locales/sv.d.cts +0 -5
  754. package/node_modules/zod/v4/locales/sv.d.ts +0 -4
  755. package/node_modules/zod/v4/locales/sv.js +0 -115
  756. package/node_modules/zod/v4/locales/ta.cjs +0 -142
  757. package/node_modules/zod/v4/locales/ta.d.cts +0 -5
  758. package/node_modules/zod/v4/locales/ta.d.ts +0 -4
  759. package/node_modules/zod/v4/locales/ta.js +0 -115
  760. package/node_modules/zod/v4/locales/tg.cjs +0 -144
  761. package/node_modules/zod/v4/locales/tg.d.cts +0 -5
  762. package/node_modules/zod/v4/locales/tg.d.ts +0 -4
  763. package/node_modules/zod/v4/locales/tg.js +0 -117
  764. package/node_modules/zod/v4/locales/th.cjs +0 -142
  765. package/node_modules/zod/v4/locales/th.d.cts +0 -5
  766. package/node_modules/zod/v4/locales/th.d.ts +0 -4
  767. package/node_modules/zod/v4/locales/th.js +0 -115
  768. package/node_modules/zod/v4/locales/tk.cjs +0 -134
  769. package/node_modules/zod/v4/locales/tk.d.cts +0 -5
  770. package/node_modules/zod/v4/locales/tk.d.ts +0 -4
  771. package/node_modules/zod/v4/locales/tk.js +0 -107
  772. package/node_modules/zod/v4/locales/tr.cjs +0 -137
  773. package/node_modules/zod/v4/locales/tr.d.cts +0 -5
  774. package/node_modules/zod/v4/locales/tr.d.ts +0 -4
  775. package/node_modules/zod/v4/locales/tr.js +0 -110
  776. package/node_modules/zod/v4/locales/ua.cjs +0 -12
  777. package/node_modules/zod/v4/locales/ua.d.cts +0 -5
  778. package/node_modules/zod/v4/locales/ua.d.ts +0 -5
  779. package/node_modules/zod/v4/locales/ua.js +0 -5
  780. package/node_modules/zod/v4/locales/uk.cjs +0 -140
  781. package/node_modules/zod/v4/locales/uk.d.cts +0 -5
  782. package/node_modules/zod/v4/locales/uk.d.ts +0 -4
  783. package/node_modules/zod/v4/locales/uk.js +0 -113
  784. package/node_modules/zod/v4/locales/ur.cjs +0 -142
  785. package/node_modules/zod/v4/locales/ur.d.cts +0 -5
  786. package/node_modules/zod/v4/locales/ur.d.ts +0 -4
  787. package/node_modules/zod/v4/locales/ur.js +0 -115
  788. package/node_modules/zod/v4/locales/uz.cjs +0 -140
  789. package/node_modules/zod/v4/locales/uz.d.cts +0 -5
  790. package/node_modules/zod/v4/locales/uz.d.ts +0 -4
  791. package/node_modules/zod/v4/locales/uz.js +0 -113
  792. package/node_modules/zod/v4/locales/vi.cjs +0 -140
  793. package/node_modules/zod/v4/locales/vi.d.cts +0 -5
  794. package/node_modules/zod/v4/locales/vi.d.ts +0 -4
  795. package/node_modules/zod/v4/locales/vi.js +0 -113
  796. package/node_modules/zod/v4/locales/yo.cjs +0 -139
  797. package/node_modules/zod/v4/locales/yo.d.cts +0 -5
  798. package/node_modules/zod/v4/locales/yo.d.ts +0 -4
  799. package/node_modules/zod/v4/locales/yo.js +0 -112
  800. package/node_modules/zod/v4/locales/zh-CN.cjs +0 -141
  801. package/node_modules/zod/v4/locales/zh-CN.d.cts +0 -5
  802. package/node_modules/zod/v4/locales/zh-CN.d.ts +0 -4
  803. package/node_modules/zod/v4/locales/zh-CN.js +0 -114
  804. package/node_modules/zod/v4/locales/zh-TW.cjs +0 -139
  805. package/node_modules/zod/v4/locales/zh-TW.d.cts +0 -5
  806. package/node_modules/zod/v4/locales/zh-TW.d.ts +0 -4
  807. package/node_modules/zod/v4/locales/zh-TW.js +0 -112
  808. package/node_modules/zod/v4/mini/checks.cjs +0 -54
  809. package/node_modules/zod/v4/mini/checks.d.cts +0 -1
  810. package/node_modules/zod/v4/mini/checks.d.ts +0 -1
  811. package/node_modules/zod/v4/mini/checks.js +0 -1
  812. package/node_modules/zod/v4/mini/coerce.cjs +0 -71
  813. package/node_modules/zod/v4/mini/coerce.d.cts +0 -7
  814. package/node_modules/zod/v4/mini/coerce.d.ts +0 -7
  815. package/node_modules/zod/v4/mini/coerce.js +0 -22
  816. package/node_modules/zod/v4/mini/deep-partial.cjs +0 -58
  817. package/node_modules/zod/v4/mini/deep-partial.d.cts +0 -14
  818. package/node_modules/zod/v4/mini/deep-partial.d.ts +0 -14
  819. package/node_modules/zod/v4/mini/deep-partial.js +0 -13
  820. package/node_modules/zod/v4/mini/external.cjs +0 -95
  821. package/node_modules/zod/v4/mini/external.d.cts +0 -16
  822. package/node_modules/zod/v4/mini/external.d.ts +0 -16
  823. package/node_modules/zod/v4/mini/external.js +0 -16
  824. package/node_modules/zod/v4/mini/in-out.cjs +0 -82
  825. package/node_modules/zod/v4/mini/in-out.d.cts +0 -8
  826. package/node_modules/zod/v4/mini/in-out.d.ts +0 -8
  827. package/node_modules/zod/v4/mini/in-out.js +0 -36
  828. package/node_modules/zod/v4/mini/index.cjs +0 -51
  829. package/node_modules/zod/v4/mini/index.d.cts +0 -3
  830. package/node_modules/zod/v4/mini/index.d.ts +0 -3
  831. package/node_modules/zod/v4/mini/index.js +0 -3
  832. package/node_modules/zod/v4/mini/iso.cjs +0 -83
  833. package/node_modules/zod/v4/mini/iso.d.cts +0 -22
  834. package/node_modules/zod/v4/mini/iso.d.ts +0 -22
  835. package/node_modules/zod/v4/mini/iso.js +0 -34
  836. package/node_modules/zod/v4/mini/package.json +0 -7
  837. package/node_modules/zod/v4/mini/parse.cjs +0 -37
  838. package/node_modules/zod/v4/mini/parse.d.cts +0 -1
  839. package/node_modules/zod/v4/mini/parse.d.ts +0 -1
  840. package/node_modules/zod/v4/mini/parse.js +0 -1
  841. package/node_modules/zod/v4/mini/schemas.cjs +0 -1147
  842. package/node_modules/zod/v4/mini/schemas.d.cts +0 -480
  843. package/node_modules/zod/v4/mini/schemas.d.ts +0 -480
  844. package/node_modules/zod/v4/mini/schemas.js +0 -1002
  845. package/node_modules/zod/v4/package.json +0 -7
  846. package/node_modules/zod/v4-mini/index.cjs +0 -51
  847. package/node_modules/zod/v4-mini/index.d.cts +0 -3
  848. package/node_modules/zod/v4-mini/index.d.ts +0 -3
  849. package/node_modules/zod/v4-mini/index.js +0 -3
  850. package/node_modules/zod/v4-mini/package.json +0 -7
@@ -1,1146 +0,0 @@
1
- import { expect, expectTypeOf, test } from "vitest";
2
- import * as z from "zod/mini";
3
- import type { util } from "zod/v4/core";
4
-
5
- test("factory checks", () => {
6
- const string = z.string({ checks: [z.minLength(1), z.maxLength(3)] as const });
7
- const number = z.number({ checks: [z.minimum(1), z.maximum(3)] as const });
8
- expectTypeOf<z.output<typeof string>>().toEqualTypeOf<string>();
9
- expectTypeOf<z.output<typeof number>>().toEqualTypeOf<number>();
10
- for (const [schema, valid, invalid] of [
11
- [string, "ab", ""],
12
- [number, 2, 4],
13
- ] as const) {
14
- expect(z.validate(schema, valid)).toBe(true);
15
- expect(z.validate(schema, invalid)).toBe(false);
16
- expect(schema._zod.parent).toBeUndefined();
17
- expect(z.validate(z.compile(schema), valid)).toBe(true);
18
- expect(z.validate(z.compile(schema), invalid)).toBe(false);
19
- }
20
- // @ts-expect-error numeric checks cannot validate strings
21
- z.string({ checks: [z.minimum(1)] });
22
- // @ts-expect-error length checks cannot validate numbers
23
- z.number({ checks: [z.minLength(1)] });
24
- });
25
-
26
- test("factory checks snapshot caller arrays", () => {
27
- for (const factory of [z.string, z.coerce.string]) {
28
- const checks = [z.minLength(1)];
29
- const schema = factory({ checks });
30
- let reads = 0;
31
- factory({
32
- get checks() {
33
- if (++reads > 1) throw new Error("checks read twice");
34
- return checks;
35
- },
36
- });
37
- expect(reads).toBe(1);
38
- checks.push(z.minLength(10));
39
- expect(z.validate(schema, "long")).toBe(true);
40
- expect(z.validate(z.compile(schema), "long")).toBe(true);
41
- expect(z.toJSONSchema(schema).minLength).toBe(1);
42
- }
43
- for (const factory of [z.number, z.coerce.number]) {
44
- const checks = [z.minimum(1)];
45
- const schema = factory({ checks });
46
- let reads = 0;
47
- factory({
48
- get checks() {
49
- if (++reads > 1) throw new Error("checks read twice");
50
- return checks;
51
- },
52
- });
53
- expect(reads).toBe(1);
54
- checks.push(z.minimum(10));
55
- expect(z.validate(schema, 3)).toBe(true);
56
- expect(z.validate(z.compile(schema), 3)).toBe(true);
57
- expect(z.toJSONSchema(schema).minimum).toBe(1);
58
- }
59
- });
60
-
61
- test("z.boolean", () => {
62
- const a = z.boolean();
63
- expect(z.parse(a, true)).toEqual(true);
64
- expect(z.parse(a, false)).toEqual(false);
65
- expect(() => z.parse(a, 123)).toThrow();
66
- expect(() => z.parse(a, "true")).toThrow();
67
- type a = z.output<typeof a>;
68
- expectTypeOf<a>().toEqualTypeOf<boolean>();
69
- });
70
-
71
- test("z.bigint", () => {
72
- const a = z.bigint();
73
- expect(z.parse(a, BigInt(123))).toEqual(BigInt(123));
74
- expect(() => z.parse(a, 123)).toThrow();
75
- expect(() => z.parse(a, "123")).toThrow();
76
- });
77
-
78
- test("z.symbol", () => {
79
- const a = z.symbol();
80
- const sym = Symbol();
81
- expect(z.parse(a, sym)).toEqual(sym);
82
- expect(() => z.parse(a, "symbol")).toThrow();
83
- });
84
-
85
- test("z.date", () => {
86
- const a = z.date();
87
- const date = new Date();
88
- expect(z.parse(a, date)).toEqual(date);
89
- expect(() => z.parse(a, "date")).toThrow();
90
- });
91
-
92
- test("z.coerce.string", () => {
93
- const a = z.coerce.string();
94
- expect(z.parse(a, 123)).toEqual("123");
95
- expect(z.parse(a, true)).toEqual("true");
96
- expect(z.parse(a, null)).toEqual("null");
97
- expect(z.parse(a, undefined)).toEqual("undefined");
98
- });
99
-
100
- test("z.coerce.number", () => {
101
- const a = z.coerce.number();
102
- expect(z.parse(a, "123")).toEqual(123);
103
- expect(z.parse(a, "123.45")).toEqual(123.45);
104
- expect(z.parse(a, true)).toEqual(1);
105
- expect(z.parse(a, false)).toEqual(0);
106
- expect(() => z.parse(a, "abc")).toThrow();
107
- });
108
-
109
- test("z.coerce.boolean", () => {
110
- const a = z.coerce.boolean();
111
- // test booleans
112
- expect(z.parse(a, true)).toEqual(true);
113
- expect(z.parse(a, false)).toEqual(false);
114
- expect(z.parse(a, "true")).toEqual(true);
115
- expect(z.parse(a, "false")).toEqual(true);
116
- expect(z.parse(a, 1)).toEqual(true);
117
- expect(z.parse(a, 0)).toEqual(false);
118
- expect(z.parse(a, {})).toEqual(true);
119
- expect(z.parse(a, [])).toEqual(true);
120
- expect(z.parse(a, undefined)).toEqual(false);
121
- expect(z.parse(a, null)).toEqual(false);
122
- expect(z.parse(a, "")).toEqual(false);
123
- });
124
-
125
- test("z.coerce.bigint", () => {
126
- const a = z.coerce.bigint();
127
- expect(z.parse(a, "123")).toEqual(BigInt(123));
128
- expect(z.parse(a, 123)).toEqual(BigInt(123));
129
- expect(() => z.parse(a, "abc")).toThrow();
130
- });
131
-
132
- test("z.coerce.date", () => {
133
- const a = z.coerce.date();
134
- const date = new Date();
135
- expect(z.parse(a, date.toISOString())).toEqual(date);
136
- expect(z.parse(a, date.getTime())).toEqual(date);
137
- expect(() => z.parse(a, "invalid date")).toThrow();
138
- });
139
-
140
- test("z.iso.datetime", () => {
141
- const d1 = "2021-01-01T00:00:00Z";
142
- const d2 = "2021-01-01T00:00:00.123Z";
143
- const d3 = "2021-01-01T00:00:00";
144
- const d4 = "2021-01-01T00:00:00+07:00";
145
- const d5 = "bad data";
146
-
147
- // local: false, offset: false, precision: null
148
- const a = z.iso.datetime();
149
- expect(z.safeParse(a, d1).success).toEqual(true);
150
- expect(z.safeParse(a, d2).success).toEqual(true);
151
- expect(z.safeParse(a, d3).success).toEqual(false);
152
- expect(z.safeParse(a, d4).success).toEqual(false);
153
- expect(z.safeParse(a, d5).success).toEqual(false);
154
-
155
- const b = z.iso.datetime({ local: true });
156
- expect(z.safeParse(b, d1).success).toEqual(true);
157
- expect(z.safeParse(b, d2).success).toEqual(true);
158
- expect(z.safeParse(b, d3).success).toEqual(true);
159
- expect(z.safeParse(b, d4).success).toEqual(false);
160
- expect(z.safeParse(b, d5).success).toEqual(false);
161
-
162
- const c = z.iso.datetime({ offset: true });
163
- expect(z.safeParse(c, d1).success).toEqual(true);
164
- expect(z.safeParse(c, d2).success).toEqual(true);
165
- expect(z.safeParse(c, d3).success).toEqual(false);
166
- expect(z.safeParse(c, d4).success).toEqual(true);
167
- expect(z.safeParse(c, d5).success).toEqual(false);
168
-
169
- const d = z.iso.datetime({ precision: 3 });
170
- expect(z.safeParse(d, d1).success).toEqual(false);
171
- expect(z.safeParse(d, d2).success).toEqual(true);
172
- expect(z.safeParse(d, d3).success).toEqual(false);
173
- expect(z.safeParse(d, d4).success).toEqual(false);
174
- expect(z.safeParse(d, d5).success).toEqual(false);
175
- });
176
-
177
- test("z.iso.date", () => {
178
- const d1 = "2021-01-01";
179
- const d2 = "bad data";
180
-
181
- const a = z.iso.date();
182
- expect(z.safeParse(a, d1).success).toEqual(true);
183
- expect(z.safeParse(a, d2).success).toEqual(false);
184
-
185
- const b = z.string().check(z.iso.date());
186
- expect(z.safeParse(b, d1).success).toEqual(true);
187
- expect(z.safeParse(b, d2).success).toEqual(false);
188
- });
189
-
190
- test("z.iso.time", () => {
191
- const d1 = "00:00:00";
192
- const d2 = "00:00:00.123";
193
- const d3 = "bad data";
194
-
195
- const a = z.iso.time();
196
- expect(z.safeParse(a, d1).success).toEqual(true);
197
- expect(z.safeParse(a, d2).success).toEqual(true);
198
- expect(z.safeParse(a, d3).success).toEqual(false);
199
-
200
- const b = z.iso.time({ precision: 3 });
201
- expect(z.safeParse(b, d1).success).toEqual(false);
202
- expect(z.safeParse(b, d2).success).toEqual(true);
203
- expect(z.safeParse(b, d3).success).toEqual(false);
204
-
205
- const c = z.string().check(z.iso.time());
206
- expect(z.safeParse(c, d1).success).toEqual(true);
207
- expect(z.safeParse(c, d2).success).toEqual(true);
208
- expect(z.safeParse(c, d3).success).toEqual(false);
209
- });
210
-
211
- test("z.iso.duration", () => {
212
- const d1 = "P3Y6M4DT12H30M5S";
213
- const d2 = "bad data";
214
-
215
- const a = z.iso.duration();
216
- expect(z.safeParse(a, d1).success).toEqual(true);
217
- expect(z.safeParse(a, d2).success).toEqual(false);
218
-
219
- const b = z.string().check(z.iso.duration());
220
- expect(z.safeParse(b, d1).success).toEqual(true);
221
- expect(z.safeParse(b, d2).success).toEqual(false);
222
- });
223
-
224
- test("z.prefault preserves undefined output", async () => {
225
- const field = z.prefault(z.union([z.string(), z.undefined()]), () => undefined);
226
- const schema = z.object({ a: field });
227
- expectTypeOf<z.output<typeof field>>().toEqualTypeOf<string | undefined>();
228
- expectTypeOf<z.output<typeof schema>>().toEqualTypeOf<{ a: string | undefined }>();
229
- expect(z.parse(schema, {})).toStrictEqual({ a: undefined });
230
- expect(z.parse(schema, { a: undefined })).toStrictEqual({ a: undefined });
231
- expect(z.parse(schema, { a: "value" })).toStrictEqual({ a: "value" });
232
- expect(z.safeParse(schema, { a: 123 }).success).toBe(false);
233
- expect(await z.parseAsync(schema, {})).toStrictEqual({ a: undefined });
234
- expect(z.parse(z.object({ a: z.prefault(z.optional(z.string()), undefined) }), {})).toStrictEqual({ a: undefined });
235
- const transformed = z.prefault(
236
- z.pipe(
237
- z.string(),
238
- z.transform(() => undefined)
239
- ),
240
- "fallback"
241
- );
242
- expectTypeOf<z.output<typeof transformed>>().toEqualTypeOf<undefined>();
243
- expect(z.parse(z.object({ a: transformed }), {})).toStrictEqual({ a: undefined });
244
- });
245
-
246
- test("z.undefined", () => {
247
- const a = z.undefined();
248
- expect(z.parse(a, undefined)).toEqual(undefined);
249
- expect(() => z.parse(a, "undefined")).toThrow();
250
- });
251
-
252
- test("z.null", () => {
253
- const a = z.null();
254
- expect(z.parse(a, null)).toEqual(null);
255
- expect(() => z.parse(a, "null")).toThrow();
256
- });
257
-
258
- test("z.any", () => {
259
- const a = z.any();
260
- expect(z.parse(a, "hello")).toEqual("hello");
261
- expect(z.parse(a, 123)).toEqual(123);
262
- expect(z.parse(a, true)).toEqual(true);
263
- expect(z.parse(a, null)).toEqual(null);
264
- expect(z.parse(a, undefined)).toEqual(undefined);
265
- z.parse(a, {});
266
- z.parse(a, []);
267
- z.parse(a, Symbol());
268
- z.parse(a, new Date());
269
- });
270
-
271
- test("z.unknown", () => {
272
- const a = z.unknown();
273
- expect(z.parse(a, "hello")).toEqual("hello");
274
- expect(z.parse(a, 123)).toEqual(123);
275
- expect(z.parse(a, true)).toEqual(true);
276
- expect(z.parse(a, null)).toEqual(null);
277
- expect(z.parse(a, undefined)).toEqual(undefined);
278
- z.parse(a, {});
279
- z.parse(a, []);
280
- z.parse(a, Symbol());
281
- z.parse(a, new Date());
282
- });
283
-
284
- test("z.never", () => {
285
- const a = z.never();
286
- expect(() => z.parse(a, "hello")).toThrow();
287
- });
288
-
289
- test("z.void", () => {
290
- const a = z.void();
291
- expect(z.parse(a, undefined)).toEqual(undefined);
292
- expect(() => z.parse(a, null)).toThrow();
293
- });
294
-
295
- test("z.array", () => {
296
- const a = z.array(z.string());
297
- expect(z.parse(a, ["hello", "world"])).toEqual(["hello", "world"]);
298
- expect(() => z.parse(a, [123])).toThrow();
299
- expect(() => z.parse(a, "hello")).toThrow();
300
- });
301
-
302
- test("z.union", () => {
303
- const a = z.union([z.string(), z.number()]);
304
- expect(z.parse(a, "hello")).toEqual("hello");
305
- expect(z.parse(a, 123)).toEqual(123);
306
- expect(() => z.parse(a, true)).toThrow();
307
- });
308
-
309
- test("z.union([]) / z.xor([]) / z.discriminatedUnion(_, []) construct and reject all input", () => {
310
- for (const schema of [z.union([]), z.xor([])]) {
311
- const r = schema.safeParse("anything");
312
- expect(r.success).toEqual(false);
313
- if (!r.success) {
314
- expect(r.error.issues[0].code).toBe("invalid_union");
315
- expect((r.error.issues[0] as any).errors).toEqual([]);
316
- }
317
- }
318
- const disc = z.discriminatedUnion("type", [] as any);
319
- const r = disc.safeParse({ type: "x" });
320
- expect(r.success).toEqual(false);
321
- if (!r.success) {
322
- expect(r.error.issues[0].code).toBe("invalid_union");
323
- expect((r.error.issues[0] as any).errors).toEqual([]);
324
- expect((r.error.issues[0] as any).options).toEqual([]);
325
- }
326
- });
327
-
328
- test("z.discriminatedUnion rejects object options missing the discriminator", () => {
329
- expect(() => z.discriminatedUnion("type", [z.object({ value: z.string() })])).toThrow(
330
- /Invalid discriminated union option at index "0"/
331
- );
332
-
333
- // An option whose shape cannot be listed without resolving it is left to the lookup map, on the first object parsed.
334
- const viaPipe = z.discriminatedUnion("type", [
335
- z.pipe(z.object({ value: z.literal("x") }), z.object({ value: z.literal("x") })),
336
- ]);
337
- expect(() => z.safeParse(viaPipe, { value: "x" })).toThrow(/Invalid discriminated union option at index "0"/);
338
- });
339
-
340
- test("z.discriminatedUnion infers mutually-recursive getter options", () => {
341
- const variantA = z.object({
342
- kind: z.literal("a"),
343
- get child() {
344
- return z.optional(tree);
345
- },
346
- });
347
-
348
- const variantB = z.object({
349
- kind: z.literal("b"),
350
- get sibling() {
351
- return z.optional(tree);
352
- },
353
- });
354
-
355
- const tree = z.discriminatedUnion("kind", [variantA, variantB]);
356
-
357
- type _Tree = { kind: "a"; child?: _Tree | undefined } | { kind: "b"; sibling?: _Tree | undefined };
358
-
359
- expectTypeOf<z.input<typeof tree>>().toEqualTypeOf<_Tree>();
360
- expectTypeOf<z.input<typeof tree>>().not.toBeAny();
361
-
362
- expect(z.parse(tree, { kind: "a", child: { kind: "b" } })).toEqual({ kind: "a", child: { kind: "b" } });
363
- expect(() => z.parse(tree, { kind: "c" })).toThrow();
364
- });
365
-
366
- test("z.intersection", () => {
367
- const a = z.intersection(z.object({ a: z.string() }), z.object({ b: z.number() }));
368
- expect(z.parse(a, { a: "hello", b: 123 })).toEqual({ a: "hello", b: 123 });
369
- expect(() => z.parse(a, { a: "hello" })).toThrow();
370
- expect(() => z.parse(a, { b: 123 })).toThrow();
371
- expect(() => z.parse(a, "hello")).toThrow();
372
- });
373
-
374
- test("z.tuple", () => {
375
- const a = z.tuple([z.string(), z.number()]);
376
- expect(z.parse(a, ["hello", 123])).toEqual(["hello", 123]);
377
- expect(() => z.parse(a, ["hello", "world"])).toThrow();
378
- expect(() => z.parse(a, [123, 456])).toThrow();
379
- expect(() => z.parse(a, "hello")).toThrow();
380
-
381
- // tuple with rest
382
- const b = z.tuple([z.string(), z.number(), z.optional(z.string())], z.boolean());
383
- type b = z.output<typeof b>;
384
-
385
- expectTypeOf<b>().toEqualTypeOf<[string, number, (string | undefined)?, ...boolean[]]>();
386
- const datas = [
387
- ["hello", 123],
388
- ["hello", 123, "world"],
389
- ["hello", 123, "world", true],
390
- ["hello", 123, "world", true, false, true],
391
- ];
392
- for (const data of datas) {
393
- expect(z.parse(b, data)).toEqual(data);
394
- }
395
-
396
- expect(() => z.parse(b, ["hello", 123, 123])).toThrow();
397
- expect(() => z.parse(b, ["hello", 123, "world", 123])).toThrow();
398
-
399
- // tuple with readonly args
400
- const cArgs = [z.string(), z.number(), z.optional(z.string())] as const;
401
- const c = z.tuple(cArgs, z.boolean());
402
- type c = z.output<typeof c>;
403
- expectTypeOf<c>().toEqualTypeOf<[string, number, (string | undefined)?, ...boolean[]]>();
404
- });
405
-
406
- test("z.record", () => {
407
- // record schema with enum keys
408
- const a = z.record(z.string(), z.string());
409
- type a = z.output<typeof a>;
410
- expectTypeOf<a>().toEqualTypeOf<Record<string, string>>();
411
-
412
- const b = z.record(z.union([z.string(), z.number(), z.symbol()]), z.string());
413
- type b = z.output<typeof b>;
414
- expectTypeOf<b>().toEqualTypeOf<Record<string | number | symbol, string>>();
415
- expect(z.parse(b, { a: "hello", 1: "world", [Symbol.for("asdf")]: "symbol" })).toEqual({
416
- a: "hello",
417
- 1: "world",
418
- [Symbol.for("asdf")]: "symbol",
419
- });
420
-
421
- // enum keys
422
- const c = z.record(z.enum(["a", "b", "c"]), z.string());
423
- type c = z.output<typeof c>;
424
- expectTypeOf<c>().toEqualTypeOf<Record<"a" | "b" | "c", string>>();
425
- expect(z.parse(c, { a: "hello", b: "world", c: "world" })).toEqual({
426
- a: "hello",
427
- b: "world",
428
- c: "world",
429
- });
430
- // missing keys
431
- expect(() => z.parse(c, { a: "hello", b: "world" })).toThrow();
432
- // extra keys
433
- expect(() => z.parse(c, { a: "hello", b: "world", c: "world", d: "world" })).toThrow();
434
-
435
- // literal union keys
436
- const d = z.record(z.union([z.literal("a"), z.literal(0)]), z.string());
437
- type d = z.output<typeof d>;
438
- expectTypeOf<d>().toEqualTypeOf<Record<"a" | 0, string>>();
439
- expect(z.parse(d, { a: "hello", 0: "world" })).toEqual({
440
- a: "hello",
441
- 0: "world",
442
- });
443
-
444
- // TypeScript enum keys
445
- enum Enum {
446
- A = 0,
447
- B = "hi",
448
- }
449
-
450
- const e = z.record(z.enum(Enum), z.string());
451
- type e = z.output<typeof e>;
452
- expectTypeOf<e>().toEqualTypeOf<Record<Enum, string>>();
453
- expect(z.parse(e, { [Enum.A]: "hello", [Enum.B]: "world" })).toEqual({
454
- [Enum.A]: "hello",
455
- [Enum.B]: "world",
456
- });
457
-
458
- const partial = z.partialRecord(z.enum(["__proto__", "b"]), z.string());
459
- type partial = z.output<typeof partial>;
460
- expectTypeOf<partial>().toEqualTypeOf<Partial<Record<"__proto__" | "b", string>>>();
461
- const parsed: any = z.parse(partial, Object.fromEntries([["__proto__", "declared"]]));
462
- expect(Object.getPrototypeOf(parsed)).toBe(Object.prototype);
463
- expect(Object.prototype.hasOwnProperty.call(parsed, "__proto__")).toBe(false);
464
- expect(parsed).toEqual({});
465
- expect(z.parse(partial, {})).toEqual({});
466
-
467
- // v3-compat single-arg form: z.record(valueType) defaults keyType to z.string()
468
- const f = (z.record as any)(z.number());
469
- expect(f._zod.def.keyType._zod.def.type).toEqual("string");
470
- expect(f._zod.def.valueType._zod.def.type).toEqual("number");
471
- expect(z.parse(f, { a: 1, b: 2 })).toEqual({ a: 1, b: 2 });
472
- });
473
-
474
- test("z.map", () => {
475
- const a = z.map(z.string(), z.number());
476
- type a = z.output<typeof a>;
477
- expectTypeOf<a>().toEqualTypeOf<Map<string, number>>();
478
- expect(z.parse(a, new Map([["hello", 123]]))).toEqual(new Map([["hello", 123]]));
479
- expect(() => z.parse(a, new Map([["hello", "world"]]))).toThrow();
480
- expect(() => z.parse(a, new Map([[1243, "world"]]))).toThrow();
481
- expect(() => z.parse(a, "hello")).toThrow();
482
-
483
- const r1 = z.safeParse(a, new Map([[123, 123]]));
484
- expect(r1.error?.issues[0].code).toEqual("invalid_type");
485
- expect(r1.error?.issues[0].path).toEqual([123]);
486
-
487
- const r2: any = z.safeParse(a, new Map([[BigInt(123), 123]]));
488
- expect(r2.error!.issues[0].code).toEqual("invalid_key");
489
- expect(r2.error!.issues[0].path).toEqual([]);
490
-
491
- const r3: any = z.safeParse(a, new Map([["hello", "world"]]));
492
- expect(r3.error!.issues[0].code).toEqual("invalid_type");
493
- expect(r3.error!.issues[0].path).toEqual(["hello"]);
494
- });
495
-
496
- test("z.map invalid_element", () => {
497
- const a = z.map(z.bigint(), z.number());
498
- const r1 = z.safeParse(a, new Map([[BigInt(123), BigInt(123)]]));
499
-
500
- expect(r1.error!.issues[0].code).toEqual("invalid_element");
501
- expect(r1.error!.issues[0].path).toEqual([]);
502
- });
503
-
504
- test("z.map async", async () => {
505
- const a = z.map(z.string().check(z.refine(async () => true)), z.number().check(z.refine(async () => true)));
506
- const d1 = new Map([["hello", 123]]);
507
- expect(await z.parseAsync(a, d1)).toEqual(d1);
508
-
509
- await expect(z.parseAsync(a, new Map([[123, 123]]))).rejects.toThrow();
510
- await expect(z.parseAsync(a, new Map([["hi", "world"]]))).rejects.toThrow();
511
- await expect(z.parseAsync(a, new Map([[1243, "world"]]))).rejects.toThrow();
512
- await expect(z.parseAsync(a, "hello")).rejects.toThrow();
513
-
514
- const r = await z.safeParseAsync(a, new Map([[123, 123]]));
515
- expect(r.success).toEqual(false);
516
- expect(r.error!.issues[0].code).toEqual("invalid_type");
517
- expect(r.error!.issues[0].path).toEqual([123]);
518
- });
519
-
520
- test("z.set", () => {
521
- const a = z.set(z.string());
522
- type a = z.output<typeof a>;
523
- expectTypeOf<a>().toEqualTypeOf<Set<string>>();
524
- expect(z.parse(a, new Set(["hello", "world"]))).toEqual(new Set(["hello", "world"]));
525
- expect(() => z.parse(a, new Set([123]))).toThrow();
526
- expect(() => z.parse(a, ["hello", "world"])).toThrow();
527
- expect(() => z.parse(a, "hello")).toThrow();
528
-
529
- const b = z.set(z.number());
530
- expect(z.parse(b, new Set([1, 2, 3]))).toEqual(new Set([1, 2, 3]));
531
- expect(() => z.parse(b, new Set(["hello"]))).toThrow();
532
- expect(() => z.parse(b, [1, 2, 3])).toThrow();
533
- expect(() => z.parse(b, 123)).toThrow();
534
- });
535
-
536
- test("z.enum", () => {
537
- const a = z.enum(["A", "B", "C"]);
538
- type a = z.output<typeof a>;
539
- expectTypeOf<a>().toEqualTypeOf<"A" | "B" | "C">();
540
- expect(z.parse(a, "A")).toEqual("A");
541
- expect(z.parse(a, "B")).toEqual("B");
542
- expect(z.parse(a, "C")).toEqual("C");
543
- expect(() => z.parse(a, "D")).toThrow();
544
- expect(() => z.parse(a, 123)).toThrow();
545
-
546
- // expect(a.enum.A).toEqual("A");
547
- // expect(a.enum.B).toEqual("B");
548
- // expect(a.enum.C).toEqual("C");
549
- // expect((a.enum as any).D).toEqual(undefined);
550
- });
551
-
552
- test("z.enum - native", () => {
553
- enum NativeEnum {
554
- A = "A",
555
- B = "B",
556
- C = "C",
557
- }
558
- const a = z.enum(NativeEnum);
559
- type a = z.output<typeof a>;
560
- expectTypeOf<a>().toEqualTypeOf<NativeEnum>();
561
- expect(z.parse(a, NativeEnum.A)).toEqual(NativeEnum.A);
562
- expect(z.parse(a, NativeEnum.B)).toEqual(NativeEnum.B);
563
- expect(z.parse(a, NativeEnum.C)).toEqual(NativeEnum.C);
564
- expect(() => z.parse(a, "D")).toThrow();
565
- expect(() => z.parse(a, 123)).toThrow();
566
-
567
- // test a.enum
568
- a;
569
- // expect(a.enum.A).toEqual(NativeEnum.A);
570
- // expect(a.enum.B).toEqual(NativeEnum.B);
571
- // expect(a.enum.C).toEqual(NativeEnum.C);
572
-
573
- enum NumericEnum {
574
- A = 0,
575
- B = 1,
576
- }
577
-
578
- // numeric enums carry reverse-mapping keys; options lists only what parse accepts
579
- expect(z.enum(NumericEnum).options).toEqual([NumericEnum.A, NumericEnum.B]);
580
- });
581
-
582
- test("z.nativeEnum", () => {
583
- enum NativeEnum {
584
- A = "A",
585
- B = "B",
586
- C = "C",
587
- }
588
- const a = z.nativeEnum(NativeEnum);
589
- type a = z.output<typeof a>;
590
- expectTypeOf<a>().toEqualTypeOf<NativeEnum>();
591
- expect(z.parse(a, NativeEnum.A)).toEqual(NativeEnum.A);
592
- expect(z.parse(a, NativeEnum.B)).toEqual(NativeEnum.B);
593
- expect(z.parse(a, NativeEnum.C)).toEqual(NativeEnum.C);
594
- expect(() => z.parse(a, "D")).toThrow();
595
- expect(() => z.parse(a, 123)).toThrow();
596
-
597
- // test a.enum
598
- a;
599
- // expect(a.enum.A).toEqual(NativeEnum.A);
600
- // expect(a.enum.B).toEqual(NativeEnum.B);
601
- // expect(a.enum.C).toEqual(NativeEnum.C);
602
- });
603
-
604
- test("z.literal", () => {
605
- const a = z.literal("hello");
606
- type a = z.output<typeof a>;
607
- expectTypeOf<a>().toEqualTypeOf<"hello">();
608
- expect(z.parse(a, "hello")).toEqual("hello");
609
- expect(() => z.parse(a, "world")).toThrow();
610
- expect(() => z.parse(a, 123)).toThrow();
611
-
612
- z.literal(["adf"] as const);
613
- });
614
-
615
- test("z.file", () => {
616
- const a = z.file();
617
- const file = new File(["content"], "filename.txt", { type: "text/plain" });
618
- expect(z.parse(a, file)).toEqual(file);
619
- expect(() => z.parse(a, "file")).toThrow();
620
- expect(() => z.parse(a, 123)).toThrow();
621
- });
622
-
623
- test("z.transform", () => {
624
- const a = z.pipe(
625
- z.string(),
626
- z.transform((val) => val.toUpperCase())
627
- );
628
- type a = z.output<typeof a>;
629
- expectTypeOf<a>().toEqualTypeOf<string>();
630
- expect(z.parse(a, "hello")).toEqual("HELLO");
631
- expect(() => z.parse(a, 123)).toThrow();
632
- });
633
-
634
- test("z.transform async", async () => {
635
- const a = z.pipe(
636
- z.string(),
637
- z.transform(async (val) => val.toUpperCase())
638
- );
639
- type a = z.output<typeof a>;
640
- expectTypeOf<a>().toEqualTypeOf<string>();
641
- expect(await z.parseAsync(a, "hello")).toEqual("HELLO");
642
- await expect(() => z.parseAsync(a, 123)).rejects.toThrow();
643
- });
644
-
645
- test("z.preprocess", () => {
646
- const a = z.pipe(
647
- z.transform((val) => String(val).toUpperCase()),
648
- z.string()
649
- );
650
- type a = z.output<typeof a>;
651
- expectTypeOf<a>().toEqualTypeOf<string>();
652
- expect(z.parse(a, 123)).toEqual("123");
653
- expect(z.parse(a, true)).toEqual("TRUE");
654
- expect(z.parse(a, BigInt(1234))).toEqual("1234");
655
- // expect(() => z.parse(a, Symbol("asdf"))).toThrow();
656
- });
657
-
658
- // test("z.preprocess async", () => {
659
- // const a = z.preprocess(async (val) => String(val), z.string());
660
- // type a = z.output<typeof a>;
661
- // expectTypeOf<a>().toEqualTypeOf<string>();
662
- // expect(z.parse(a, 123)).toEqual("123");
663
- // expect(z.parse(a, true)).toEqual("true");
664
- // expect(() => z.parse(a, {})).toThrow();
665
- // });
666
-
667
- test("z.optional", () => {
668
- const a = z.optional(z.string());
669
- type a = z.output<typeof a>;
670
- expectTypeOf<a>().toEqualTypeOf<string | undefined>();
671
- expect(z.parse(a, "hello")).toEqual("hello");
672
- expect(z.parse(a, undefined)).toEqual(undefined);
673
- expect(() => z.parse(a, 123)).toThrow();
674
- });
675
-
676
- test("z.nullable", () => {
677
- const a = z.nullable(z.string());
678
- type a = z.output<typeof a>;
679
- expectTypeOf<a>().toEqualTypeOf<string | null>();
680
- expect(z.parse(a, "hello")).toEqual("hello");
681
- expect(z.parse(a, null)).toEqual(null);
682
- expect(() => z.parse(a, 123)).toThrow();
683
- });
684
-
685
- test("z.default", () => {
686
- const a = z._default(z.string(), "default");
687
- type a = z.output<typeof a>;
688
- expectTypeOf<a>().toEqualTypeOf<string>();
689
- expect(z.parse(a, undefined)).toEqual("default");
690
- expect(z.parse(a, "hello")).toEqual("hello");
691
- expect(() => z.parse(a, 123)).toThrow();
692
-
693
- const b = z._default(z.string(), () => "default");
694
- expect(z.parse(b, undefined)).toEqual("default");
695
- expect(z.parse(b, "hello")).toEqual("hello");
696
- expect(() => z.parse(b, 123)).toThrow();
697
- });
698
-
699
- test("z.catch", () => {
700
- const a = z.catch(z.string(), "default");
701
- type a = z.output<typeof a>;
702
- expectTypeOf<a>().toEqualTypeOf<string>();
703
- expect(z.parse(a, "hello")).toEqual("hello");
704
- expect(z.parse(a, 123)).toEqual("default");
705
-
706
- const b = z.catch(z.string(), () => "default");
707
- expect(z.parse(b, "hello")).toEqual("hello");
708
- expect(z.parse(b, 123)).toEqual("default");
709
-
710
- const c = z.catch(z.string(), (ctx) => {
711
- return `${ctx.error.issues.length}issues`;
712
- });
713
- expect(z.parse(c, 1234)).toEqual("1issues");
714
- });
715
-
716
- test("z.nan", () => {
717
- const a = z.nan();
718
- type a = z.output<typeof a>;
719
- expectTypeOf<a>().toEqualTypeOf<number>();
720
- expect(z.parse(a, Number.NaN)).toEqual(Number.NaN);
721
- expect(() => z.parse(a, 123)).toThrow();
722
- expect(() => z.parse(a, "NaN")).toThrow();
723
- });
724
-
725
- test("z.pipe", () => {
726
- const a = z.pipe(
727
- z.pipe(
728
- z.string(),
729
- z.transform((val) => val.length)
730
- ),
731
- z.number()
732
- );
733
- type a_in = z.input<typeof a>;
734
- expectTypeOf<a_in>().toEqualTypeOf<string>();
735
- type a_out = z.output<typeof a>;
736
- expectTypeOf<a_out>().toEqualTypeOf<number>();
737
-
738
- expect(z.parse(a, "123")).toEqual(3);
739
- expect(z.parse(a, "hello")).toEqual(5);
740
- expect(() => z.parse(a, 123)).toThrow();
741
- });
742
-
743
- test("z.readonly", () => {
744
- const a = z.readonly(z.string());
745
- type a = z.output<typeof a>;
746
- expectTypeOf<a>().toEqualTypeOf<Readonly<string>>();
747
- expect(z.parse(a, "hello")).toEqual("hello");
748
- expect(() => z.parse(a, 123)).toThrow();
749
- });
750
-
751
- test("z.templateLiteral", () => {
752
- const a = z.templateLiteral([z.string(), z.number()]);
753
- type a = z.output<typeof a>;
754
- expectTypeOf<a>().toEqualTypeOf<`${string}${number}`>();
755
- expect(z.parse(a, "hello123")).toEqual("hello123");
756
- expect(() => z.parse(a, "hello")).toThrow();
757
- expect(() => z.parse(a, 123)).toThrow();
758
-
759
- // multipart
760
- const b = z.templateLiteral([z.string(), z.number(), z.string()]);
761
- type b = z.output<typeof b>;
762
- expectTypeOf<b>().toEqualTypeOf<`${string}${number}${string}`>();
763
- expect(z.parse(b, "hello123world")).toEqual("hello123world");
764
- expect(z.parse(b, "123")).toEqual("123");
765
- expect(() => z.parse(b, "hello")).toThrow();
766
- expect(() => z.parse(b, 123)).toThrow();
767
-
768
- // include boolean
769
- const c = z.templateLiteral([z.string(), z.boolean()]);
770
- type c = z.output<typeof c>;
771
- expectTypeOf<c>().toEqualTypeOf<`${string}${boolean}`>();
772
- expect(z.parse(c, "hellotrue")).toEqual("hellotrue");
773
- expect(z.parse(c, "hellofalse")).toEqual("hellofalse");
774
- expect(() => z.parse(c, "hello")).toThrow();
775
- expect(() => z.parse(c, 123)).toThrow();
776
-
777
- // include literal prefix
778
- const d = z.templateLiteral([z.literal("hello"), z.number()]);
779
- type d = z.output<typeof d>;
780
- expectTypeOf<d>().toEqualTypeOf<`hello${number}`>();
781
- expect(z.parse(d, "hello123")).toEqual("hello123");
782
- expect(() => z.parse(d, 123)).toThrow();
783
- expect(() => z.parse(d, "world123")).toThrow();
784
-
785
- // include literal union
786
- const e = z.templateLiteral([z.literal(["aa", "bb"]), z.number()]);
787
- type e = z.output<typeof e>;
788
- expectTypeOf<e>().toEqualTypeOf<`aa${number}` | `bb${number}`>();
789
- expect(z.parse(e, "aa123")).toEqual("aa123");
790
- expect(z.parse(e, "bb123")).toEqual("bb123");
791
- expect(() => z.parse(e, "cc123")).toThrow();
792
- expect(() => z.parse(e, 123)).toThrow();
793
- });
794
-
795
- // this returns both a schema and a check
796
- test("z.custom", () => {
797
- const a = z.custom((val) => {
798
- return typeof val === "string";
799
- });
800
- expect(z.parse(a, "hello")).toEqual("hello");
801
- expect(() => z.parse(a, 123)).toThrow();
802
-
803
- const b = z.string().check(z.custom((val) => val.length > 3));
804
-
805
- expect(z.parse(b, "hello")).toEqual("hello");
806
- expect(() => z.parse(b, "hi")).toThrow();
807
- });
808
-
809
- test("z.check", () => {
810
- // this is a more flexible version of z.custom that accepts an arbitrary _parse logic the function should return core.$ZodResult
811
- const a = z.any().check(
812
- z.check<string>((ctx) => {
813
- if (typeof ctx.value === "string") return;
814
- ctx.issues.push({
815
- code: "custom",
816
- origin: "custom",
817
- message: "Expected a string",
818
- input: ctx.value,
819
- });
820
- })
821
- );
822
- expect(z.safeParse(a, "hello")).toMatchObject({
823
- success: true,
824
- data: "hello",
825
- });
826
- expect(z.safeParse(a, 123)).toMatchObject({
827
- success: false,
828
- error: { issues: [{ code: "custom", message: "Expected a string" }] },
829
- });
830
- });
831
-
832
- test("z.with (alias for z.check)", () => {
833
- // .with() should work exactly the same as .check()
834
- const a = z.any().with(
835
- z.check<string>((ctx) => {
836
- if (typeof ctx.value === "string") return;
837
- ctx.issues.push({
838
- code: "custom",
839
- origin: "custom",
840
- message: "Expected a string",
841
- input: ctx.value,
842
- });
843
- })
844
- );
845
- expect(z.safeParse(a, "hello")).toMatchObject({
846
- success: true,
847
- data: "hello",
848
- });
849
- expect(z.safeParse(a, 123)).toMatchObject({
850
- success: false,
851
- error: { issues: [{ code: "custom", message: "Expected a string" }] },
852
- });
853
-
854
- // Test with refine
855
- const b = z.string().with(z.refine((val) => val.length > 3, "Must be longer than 3"));
856
- expect(z.safeParse(b, "hello").success).toBe(true);
857
- expect(z.safeParse(b, "hi").success).toBe(false);
858
-
859
- // Test with function
860
- const c = z.string().with(({ value, issues }) => {
861
- if (value.length <= 3) {
862
- issues.push({
863
- code: "custom",
864
- input: value,
865
- message: "Must be longer than 3",
866
- });
867
- }
868
- });
869
- expect(z.safeParse(c, "hello").success).toBe(true);
870
- expect(z.safeParse(c, "hi").success).toBe(false);
871
- });
872
-
873
- test("z.instanceof", () => {
874
- class A {}
875
-
876
- const a = z.instanceof(A);
877
- expect(z.parse(a, new A())).toBeInstanceOf(A);
878
- expect(() => z.parse(a, {})).toThrow();
879
- });
880
-
881
- test("z.refine", () => {
882
- const a = z.number().check(
883
- z.refine((val) => val > 3),
884
- z.refine((val) => val < 10)
885
- );
886
- expect(z.parse(a, 5)).toEqual(5);
887
- expect(() => z.parse(a, 2)).toThrow();
888
- expect(() => z.parse(a, 11)).toThrow();
889
- expect(() => z.parse(a, "hi")).toThrow();
890
- });
891
-
892
- // test("z.superRefine", () => {
893
- // const a = z.number([
894
- // z.superRefine((val, ctx) => {
895
- // if (val < 3) {
896
- // return ctx.addIssue({
897
- // code: "custom",
898
- // origin: "custom",
899
- // message: "Too small",
900
- // input: val,
901
- // });
902
- // }
903
- // if (val > 10) {
904
- // return ctx.addIssue("Too big");
905
- // }
906
- // }),
907
- // ]);
908
-
909
- // expect(z.parse(a, 5)).toEqual(5);
910
- // expect(() => z.parse(a, 2)).toThrow();
911
- // expect(() => z.parse(a, 11)).toThrow();
912
- // expect(() => z.parse(a, "hi")).toThrow();
913
- // });
914
-
915
- test("z.transform", () => {
916
- const a = z.transform((val: number) => {
917
- return `${val}`;
918
- });
919
- type a_in = z.input<typeof a>;
920
- expectTypeOf<a_in>().toEqualTypeOf<number>();
921
- type a_out = z.output<typeof a>;
922
- expectTypeOf<a_out>().toEqualTypeOf<string>();
923
- expect(z.parse(a, 123)).toEqual("123");
924
- });
925
-
926
- test("z.$brand()", () => {
927
- const a = z.string().brand<"my-brand">();
928
- type a = z.output<typeof a>;
929
- const branded = (_: a) => {};
930
- // @ts-expect-error
931
- branded("asdf");
932
- });
933
-
934
- test("z.lazy", () => {
935
- const a = z.lazy(() => z.string());
936
- type a = z.output<typeof a>;
937
- expectTypeOf<a>().toEqualTypeOf<string>();
938
- expect(z.parse(a, "hello")).toEqual("hello");
939
- expect(() => z.parse(a, 123)).toThrow();
940
- });
941
-
942
- // schema that validates JSON-like data
943
- test("z.json", () => {
944
- const a = z.json();
945
- type a = z.output<typeof a>;
946
- a._zod.output;
947
-
948
- expectTypeOf<a>().toEqualTypeOf<util.JSONType>();
949
-
950
- expect(z.parse(a, "hello")).toEqual("hello");
951
- expect(z.parse(a, 123)).toEqual(123);
952
- expect(z.parse(a, true)).toEqual(true);
953
- expect(z.parse(a, null)).toEqual(null);
954
- expect(z.parse(a, {})).toEqual({});
955
- expect(z.parse(a, { a: "hello" })).toEqual({ a: "hello" });
956
- expect(z.parse(a, [1, 2, 3])).toEqual([1, 2, 3]);
957
- expect(z.parse(a, [{ a: "hello" }])).toEqual([{ a: "hello" }]);
958
-
959
- // fail cases
960
- expect(() => z.parse(a, new Date())).toThrow();
961
- expect(() => z.parse(a, Symbol())).toThrow();
962
- expect(() => z.parse(a, { a: new Date() })).toThrow();
963
- expect(() => z.parse(a, undefined)).toThrow();
964
- expect(() => z.parse(a, { a: undefined })).toThrow();
965
- });
966
-
967
- test("z.stringbool", () => {
968
- const a = z.stringbool();
969
-
970
- expect(z.parse(a, "true")).toEqual(true);
971
- expect(z.parse(a, "yes")).toEqual(true);
972
- expect(z.parse(a, "1")).toEqual(true);
973
- expect(z.parse(a, "on")).toEqual(true);
974
- expect(z.parse(a, "y")).toEqual(true);
975
- expect(z.parse(a, "enabled")).toEqual(true);
976
- expect(z.parse(a, "TRUE")).toEqual(true);
977
-
978
- expect(z.parse(a, "false")).toEqual(false);
979
- expect(z.parse(a, "no")).toEqual(false);
980
- expect(z.parse(a, "0")).toEqual(false);
981
- expect(z.parse(a, "off")).toEqual(false);
982
- expect(z.parse(a, "n")).toEqual(false);
983
- expect(z.parse(a, "disabled")).toEqual(false);
984
- expect(z.parse(a, "FALSE")).toEqual(false);
985
-
986
- expect(z.safeParse(a, "other")).toMatchObject({ success: false });
987
- expect(z.safeParse(a, "")).toMatchObject({ success: false });
988
- expect(z.safeParse(a, undefined)).toMatchObject({ success: false });
989
- expect(z.safeParse(a, {})).toMatchObject({ success: false });
990
- expect(z.safeParse(a, true)).toMatchObject({ success: false });
991
- expect(z.safeParse(a, false)).toMatchObject({ success: false });
992
-
993
- const b = z.stringbool({
994
- truthy: ["y"],
995
- falsy: ["n"],
996
- });
997
- expect(z.parse(b, "y")).toEqual(true);
998
- expect(z.parse(b, "n")).toEqual(false);
999
- expect(z.safeParse(b, "true")).toMatchObject({ success: false });
1000
- expect(z.safeParse(b, "false")).toMatchObject({ success: false });
1001
- expect(b._zod.bag.truthy).toEqual(["y"]);
1002
- expect(b._zod.bag.falsy).toEqual(["n"]);
1003
-
1004
- const c = z.stringbool({
1005
- case: "sensitive",
1006
- });
1007
- expect(z.parse(c, "true")).toEqual(true);
1008
- expect(z.safeParse(c, "TRUE")).toMatchObject({ success: false });
1009
- expect(c._zod.bag.case).toEqual("sensitive");
1010
- });
1011
-
1012
- // promise
1013
- test("z.promise", async () => {
1014
- const a = z.promise(z.string());
1015
- type a = z.output<typeof a>;
1016
- expectTypeOf<a>().toEqualTypeOf<Promise<string>>();
1017
-
1018
- expect(await z.safeParseAsync(a, Promise.resolve("hello"))).toMatchObject({
1019
- success: true,
1020
- data: "hello",
1021
- });
1022
- expect(await z.safeParseAsync(a, Promise.resolve(123))).toMatchObject({
1023
- success: false,
1024
- });
1025
-
1026
- const b = z.string();
1027
- expect(() => z.parse(b, Promise.resolve("hello"))).toThrow();
1028
- });
1029
-
1030
- // test("type assertions", () => {
1031
- // const schema = z.pipe(
1032
- // z.string(),
1033
- // z.transform((val) => val.length)
1034
- // );
1035
- // schema.assertInput<string>();
1036
- // // @ts-expect-error
1037
- // schema.assertInput<number>();
1038
-
1039
- // schema.assertOutput<number>();
1040
- // // @ts-expect-error
1041
- // schema.assertOutput<string>();
1042
- // });
1043
-
1044
- test("z.pipe type enforcement", () => {
1045
- z.pipe(
1046
- z.pipe(
1047
- z.string().check(z.regex(/asdf/)),
1048
- z.transform((v) => new Date(v))
1049
- ),
1050
- z.date().check(z.maximum(new Date()))
1051
- );
1052
- });
1053
-
1054
- test("def typing", () => {
1055
- z.string().def.type satisfies "string";
1056
- z.email().def.format satisfies "email";
1057
- z.number().def.type satisfies "number";
1058
- z.float64().def.format satisfies z.core.$ZodNumberFormats;
1059
- z.bigint().def.type satisfies "bigint";
1060
- z.boolean().def.type satisfies "boolean";
1061
- z.date().def.type satisfies "date";
1062
- z.symbol().def.type satisfies "symbol";
1063
- z.undefined().def.type satisfies "undefined";
1064
- z.nullable(z.string()).def.type satisfies "nullable";
1065
- z.null().def.type satisfies "null";
1066
- z.any().def.type satisfies "any";
1067
- z.unknown().def.type satisfies "unknown";
1068
- z.never().def.type satisfies "never";
1069
- z.void().def.type satisfies "void";
1070
- z.array(z.string()).def.type satisfies "array";
1071
- z.object({ key: z.string() }).def.type satisfies "object";
1072
- z.union([z.string(), z.number()]).def.type satisfies "union";
1073
- z.intersection(z.string(), z.number()).def.type satisfies "intersection";
1074
- z.tuple([z.string(), z.number()]).def.type satisfies "tuple";
1075
- z.record(z.string(), z.number()).def.type satisfies "record";
1076
- z.map(z.string(), z.number()).def.type satisfies "map";
1077
- z.set(z.string()).def.type satisfies "set";
1078
- z.literal("example").def.type satisfies "literal";
1079
- expectTypeOf(z.literal("example").def.values).toEqualTypeOf<"example"[]>();
1080
- z.enum(["a", "b", "c"]).def.type satisfies "enum";
1081
- z.promise(z.string()).def.type satisfies "promise";
1082
- z.lazy(() => z.string()).def.type satisfies "lazy";
1083
- z.optional(z.string()).def.type satisfies "optional";
1084
- z._default(z.string(), "default").def.type satisfies "default";
1085
- z.templateLiteral([z.literal("a"), z.literal("b")]).def.type satisfies "template_literal";
1086
- z.custom<string>((val) => typeof val === "string").def.type satisfies "custom";
1087
- z.transform((val) => val as string).def.type satisfies "transform";
1088
- z.nonoptional(z.string()).def.type satisfies "nonoptional";
1089
- z.readonly(z.unknown()).def.type satisfies "readonly";
1090
- z.nan().def.type satisfies "nan";
1091
- z.pipe(z.unknown(), z.number()).def.type satisfies "pipe";
1092
- z.success(z.string()).def.type satisfies "success";
1093
- z.catch(z.string(), "fallback").def.type satisfies "catch";
1094
- z.file().def.type satisfies "file";
1095
- });
1096
-
1097
- test("defaulted object schema returns shallow clone", () => {
1098
- const schema = z._default(
1099
- z.object({
1100
- a: z.string(),
1101
- }),
1102
- { a: "x" }
1103
- );
1104
- const result1 = schema.parse(undefined);
1105
- const result2 = schema.parse(undefined);
1106
- expect(result1).not.toBe(result2);
1107
- expect(result1).toEqual(result2);
1108
- });
1109
-
1110
- test("runtime type property exists and returns correct values", () => {
1111
- const stringSchema = z.string();
1112
- expect(stringSchema.type).toBe("string");
1113
- });
1114
-
1115
- test("type narrowing works with type property", () => {
1116
- type ArrayOrRecord = z.ZodMiniArray<z.ZodMiniString> | z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniAny>;
1117
- const arraySchema = z.array(z.string()) as ArrayOrRecord;
1118
-
1119
- if (arraySchema.type === "array") {
1120
- expectTypeOf(arraySchema).toEqualTypeOf<z.ZodMiniArray<z.ZodMiniString<unknown>>>();
1121
- expect(arraySchema.def.element).toBeDefined();
1122
- }
1123
- });
1124
-
1125
- test("getDiscriminatedOption", () => {
1126
- const a = z.object({ type: z.literal("a"), x: z.string() });
1127
- const b = z.object({ type: z.literal("b"), y: z.number() });
1128
- const schema = z.discriminatedUnion("type", [a, b]);
1129
-
1130
- expect(z.getDiscriminatedOption(schema, "a")).toBe(a);
1131
- expect(z.getDiscriminatedOption(schema, "b")).toBe(b);
1132
- expectTypeOf(z.getDiscriminatedOption(schema, "a")).toEqualTypeOf<typeof a>();
1133
- });
1134
-
1135
- test("z.partial on a tuple", () => {
1136
- const schema = z.partial(z.tuple([z.string(), z.number()]));
1137
- expectTypeOf<z.infer<typeof schema>>().toEqualTypeOf<[(string | undefined)?, (number | undefined)?]>();
1138
-
1139
- expect(z.safeParse(schema, []).success).toEqual(true);
1140
- expect(z.safeParse(schema, ["a"]).success).toEqual(true);
1141
- expect(z.safeParse(schema, ["a", 1]).success).toEqual(true);
1142
- expect(z.safeParse(schema, ["a", "b"]).success).toEqual(false);
1143
-
1144
- const refined = z.tuple([z.string(), z.number()]).check(z.refine(([a]) => a.length > 0));
1145
- expect(() => z.partial(refined)).toThrow("cannot be used on tuple schemas containing refinements");
1146
- });