@es-joy/jsoe 0.24.3 → 0.25.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 (524) hide show
  1. package/.claude/settings.local.json +9 -0
  2. package/.ncurc.cjs +2 -2
  3. package/CHANGES.md +51 -0
  4. package/README.md +23 -13
  5. package/badges/coverage-badge.svg +1 -1
  6. package/dist/eslint.config.d.ts +3 -0
  7. package/dist/eslint.config.d.ts.map +1 -0
  8. package/dist/formatAndTypeChoices.d.ts +28 -30
  9. package/dist/formatAndTypeChoices.d.ts.map +1 -1
  10. package/dist/formats/indexedDBKey.d.ts.map +1 -1
  11. package/dist/formats/schema.d.ts +46 -3
  12. package/dist/formats/schema.d.ts.map +1 -1
  13. package/dist/formats/structuredCloning.d.ts +3 -0
  14. package/dist/formats/structuredCloning.d.ts.map +1 -1
  15. package/dist/formats.d.ts +24 -6
  16. package/dist/formats.d.ts.map +1 -1
  17. package/dist/fundamentalTypes/BooleanObjectType.d.ts.map +1 -1
  18. package/dist/fundamentalTypes/NumberObjectType.d.ts.map +1 -1
  19. package/dist/fundamentalTypes/StringObjectType.d.ts.map +1 -1
  20. package/dist/fundamentalTypes/arrayReferenceType.d.ts.map +1 -1
  21. package/dist/fundamentalTypes/arrayType.d.ts +7 -0
  22. package/dist/fundamentalTypes/arrayType.d.ts.map +1 -1
  23. package/dist/fundamentalTypes/bigintObjectType.d.ts.map +1 -1
  24. package/dist/fundamentalTypes/bigintType.d.ts +10 -0
  25. package/dist/fundamentalTypes/bigintType.d.ts.map +1 -1
  26. package/dist/fundamentalTypes/blobType.d.ts.map +1 -1
  27. package/dist/fundamentalTypes/booleanType.d.ts.map +1 -1
  28. package/dist/fundamentalTypes/catchType.d.ts +2 -2
  29. package/dist/fundamentalTypes/catchType.d.ts.map +1 -1
  30. package/dist/fundamentalTypes/dateType.d.ts.map +1 -1
  31. package/dist/fundamentalTypes/domexceptionType.d.ts.map +1 -1
  32. package/dist/fundamentalTypes/enumType.d.ts +2 -2
  33. package/dist/fundamentalTypes/enumType.d.ts.map +1 -1
  34. package/dist/fundamentalTypes/errorType.d.ts.map +1 -1
  35. package/dist/fundamentalTypes/fileType.d.ts +6 -0
  36. package/dist/fundamentalTypes/fileType.d.ts.map +1 -1
  37. package/dist/fundamentalTypes/functionType.d.ts.map +1 -1
  38. package/dist/fundamentalTypes/literalType.d.ts +3 -2
  39. package/dist/fundamentalTypes/literalType.d.ts.map +1 -1
  40. package/dist/fundamentalTypes/looseRecordType.d.ts +6 -0
  41. package/dist/fundamentalTypes/looseRecordType.d.ts.map +1 -0
  42. package/dist/fundamentalTypes/nanType.d.ts.map +1 -1
  43. package/dist/fundamentalTypes/neverType.d.ts +2 -2
  44. package/dist/fundamentalTypes/neverType.d.ts.map +1 -1
  45. package/dist/fundamentalTypes/noneditableType.d.ts.map +1 -1
  46. package/dist/fundamentalTypes/nullType.d.ts.map +1 -1
  47. package/dist/fundamentalTypes/numberType.d.ts.map +1 -1
  48. package/dist/fundamentalTypes/promiseType.d.ts.map +1 -1
  49. package/dist/fundamentalTypes/regexpType.d.ts.map +1 -1
  50. package/dist/fundamentalTypes/stringType.d.ts.map +1 -1
  51. package/dist/fundamentalTypes/symbolType.d.ts.map +1 -1
  52. package/dist/fundamentalTypes/undefinedType.d.ts.map +1 -1
  53. package/dist/fundamentalTypes/voidType.d.ts +2 -2
  54. package/dist/fundamentalTypes/voidType.d.ts.map +1 -1
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +6 -1
  57. package/dist/index.js.map +1 -1
  58. package/dist/rollup.config.d.ts +30 -0
  59. package/dist/rollup.config.d.ts.map +1 -0
  60. package/dist/server.d.ts +2 -0
  61. package/dist/server.d.ts.map +1 -0
  62. package/dist/src/formatAndTypeChoices.d.ts +108 -0
  63. package/dist/src/formatAndTypeChoices.d.ts.map +1 -0
  64. package/dist/src/formats/arbitraryJS.d.ts +4 -0
  65. package/dist/src/formats/arbitraryJS.d.ts.map +1 -0
  66. package/dist/src/formats/indexedDBKey.d.ts +4 -0
  67. package/dist/src/formats/indexedDBKey.d.ts.map +1 -0
  68. package/dist/src/formats/json.d.ts +4 -0
  69. package/dist/src/formats/json.d.ts.map +1 -0
  70. package/dist/src/formats/schema.d.ts +17 -0
  71. package/dist/src/formats/schema.d.ts.map +1 -0
  72. package/dist/src/formats/structuredCloning.d.ts +19 -0
  73. package/dist/src/formats/structuredCloning.d.ts.map +1 -0
  74. package/dist/src/formats.d.ts +135 -0
  75. package/dist/src/formats.d.ts.map +1 -0
  76. package/dist/src/fundamentalTypes/BooleanObjectType.d.ts +8 -0
  77. package/dist/src/fundamentalTypes/BooleanObjectType.d.ts.map +1 -0
  78. package/dist/src/fundamentalTypes/NumberObjectType.d.ts +6 -0
  79. package/dist/src/fundamentalTypes/NumberObjectType.d.ts.map +1 -0
  80. package/dist/src/fundamentalTypes/StringObjectType.d.ts +6 -0
  81. package/dist/src/fundamentalTypes/StringObjectType.d.ts.map +1 -0
  82. package/dist/src/fundamentalTypes/arrayReferenceType.d.ts +8 -0
  83. package/dist/src/fundamentalTypes/arrayReferenceType.d.ts.map +1 -0
  84. package/dist/src/fundamentalTypes/arrayType.d.ts +29 -0
  85. package/dist/src/fundamentalTypes/arrayType.d.ts.map +1 -0
  86. package/dist/src/fundamentalTypes/bigintObjectType.d.ts +6 -0
  87. package/dist/src/fundamentalTypes/bigintObjectType.d.ts.map +1 -0
  88. package/dist/src/fundamentalTypes/bigintType.d.ts +6 -0
  89. package/dist/src/fundamentalTypes/bigintType.d.ts.map +1 -0
  90. package/dist/src/fundamentalTypes/blobType.d.ts +11 -0
  91. package/dist/src/fundamentalTypes/blobType.d.ts.map +1 -0
  92. package/dist/src/fundamentalTypes/booleanType.d.ts +8 -0
  93. package/dist/src/fundamentalTypes/booleanType.d.ts.map +1 -0
  94. package/dist/src/fundamentalTypes/catchType.d.ts +6 -0
  95. package/dist/src/fundamentalTypes/catchType.d.ts.map +1 -0
  96. package/dist/src/fundamentalTypes/dateType.d.ts +26 -0
  97. package/dist/src/fundamentalTypes/dateType.d.ts.map +1 -0
  98. package/dist/src/fundamentalTypes/domexceptionType.d.ts +6 -0
  99. package/dist/src/fundamentalTypes/domexceptionType.d.ts.map +1 -0
  100. package/dist/src/fundamentalTypes/enumType.d.ts +6 -0
  101. package/dist/src/fundamentalTypes/enumType.d.ts.map +1 -0
  102. package/dist/src/fundamentalTypes/errorType.d.ts +6 -0
  103. package/dist/src/fundamentalTypes/errorType.d.ts.map +1 -0
  104. package/dist/src/fundamentalTypes/fileType.d.ts +13 -0
  105. package/dist/src/fundamentalTypes/fileType.d.ts.map +1 -0
  106. package/dist/src/fundamentalTypes/filelistType.d.ts +6 -0
  107. package/dist/src/fundamentalTypes/filelistType.d.ts.map +1 -0
  108. package/dist/src/fundamentalTypes/functionType.d.ts +7 -0
  109. package/dist/src/fundamentalTypes/functionType.d.ts.map +1 -0
  110. package/dist/src/fundamentalTypes/literalType.d.ts +6 -0
  111. package/dist/src/fundamentalTypes/literalType.d.ts.map +1 -0
  112. package/dist/src/fundamentalTypes/mapType.d.ts +6 -0
  113. package/dist/src/fundamentalTypes/mapType.d.ts.map +1 -0
  114. package/dist/src/fundamentalTypes/nanType.d.ts +6 -0
  115. package/dist/src/fundamentalTypes/nanType.d.ts.map +1 -0
  116. package/dist/src/fundamentalTypes/neverType.d.ts +6 -0
  117. package/dist/src/fundamentalTypes/neverType.d.ts.map +1 -0
  118. package/dist/src/fundamentalTypes/noneditableType.d.ts +6 -0
  119. package/dist/src/fundamentalTypes/noneditableType.d.ts.map +1 -0
  120. package/dist/src/fundamentalTypes/nullType.d.ts +6 -0
  121. package/dist/src/fundamentalTypes/nullType.d.ts.map +1 -0
  122. package/dist/src/fundamentalTypes/numberType.d.ts +6 -0
  123. package/dist/src/fundamentalTypes/numberType.d.ts.map +1 -0
  124. package/dist/src/fundamentalTypes/objectReferenceType.d.ts +8 -0
  125. package/dist/src/fundamentalTypes/objectReferenceType.d.ts.map +1 -0
  126. package/dist/src/fundamentalTypes/objectType.d.ts +6 -0
  127. package/dist/src/fundamentalTypes/objectType.d.ts.map +1 -0
  128. package/dist/src/fundamentalTypes/promiseType.d.ts +6 -0
  129. package/dist/src/fundamentalTypes/promiseType.d.ts.map +1 -0
  130. package/dist/src/fundamentalTypes/recordType.d.ts +6 -0
  131. package/dist/src/fundamentalTypes/recordType.d.ts.map +1 -0
  132. package/dist/src/fundamentalTypes/regexpType.d.ts +8 -0
  133. package/dist/src/fundamentalTypes/regexpType.d.ts.map +1 -0
  134. package/dist/src/fundamentalTypes/setType.d.ts +6 -0
  135. package/dist/src/fundamentalTypes/setType.d.ts.map +1 -0
  136. package/dist/src/fundamentalTypes/sparseUndefinedType.d.ts +6 -0
  137. package/dist/src/fundamentalTypes/sparseUndefinedType.d.ts.map +1 -0
  138. package/dist/src/fundamentalTypes/stringType.d.ts +6 -0
  139. package/dist/src/fundamentalTypes/stringType.d.ts.map +1 -0
  140. package/dist/src/fundamentalTypes/symbolType.d.ts +8 -0
  141. package/dist/src/fundamentalTypes/symbolType.d.ts.map +1 -0
  142. package/dist/src/fundamentalTypes/tupleType.d.ts +6 -0
  143. package/dist/src/fundamentalTypes/tupleType.d.ts.map +1 -0
  144. package/dist/src/fundamentalTypes/undefinedType.d.ts +6 -0
  145. package/dist/src/fundamentalTypes/undefinedType.d.ts.map +1 -0
  146. package/dist/src/fundamentalTypes/voidType.d.ts +6 -0
  147. package/dist/src/fundamentalTypes/voidType.d.ts.map +1 -0
  148. package/dist/src/index.d.ts +12 -0
  149. package/dist/src/index.d.ts.map +1 -0
  150. package/dist/src/subTypes/blobHTMLType.d.ts +20 -0
  151. package/dist/src/subTypes/blobHTMLType.d.ts.map +1 -0
  152. package/dist/src/subTypes/falseType.d.ts +8 -0
  153. package/dist/src/subTypes/falseType.d.ts.map +1 -0
  154. package/dist/src/subTypes/trueType.d.ts +8 -0
  155. package/dist/src/subTypes/trueType.d.ts.map +1 -0
  156. package/dist/src/superTypes/SpecialNumberType.d.ts +6 -0
  157. package/dist/src/superTypes/SpecialNumberType.d.ts.map +1 -0
  158. package/dist/src/superTypes/SpecialRealNumberType.d.ts +6 -0
  159. package/dist/src/superTypes/SpecialRealNumberType.d.ts.map +1 -0
  160. package/dist/src/superTypes/buffersourceType.d.ts +8 -0
  161. package/dist/src/superTypes/buffersourceType.d.ts.map +1 -0
  162. package/dist/src/superTypes/dommatrixType.d.ts +6 -0
  163. package/dist/src/superTypes/dommatrixType.d.ts.map +1 -0
  164. package/dist/src/superTypes/dompointType.d.ts +6 -0
  165. package/dist/src/superTypes/dompointType.d.ts.map +1 -0
  166. package/dist/src/superTypes/domrectType.d.ts +6 -0
  167. package/dist/src/superTypes/domrectType.d.ts.map +1 -0
  168. package/dist/src/superTypes/errorsSpecialType.d.ts +8 -0
  169. package/dist/src/superTypes/errorsSpecialType.d.ts.map +1 -0
  170. package/dist/src/typeChoices.d.ts +140 -0
  171. package/dist/src/typeChoices.d.ts.map +1 -0
  172. package/dist/src/types.d.ts +758 -0
  173. package/dist/src/types.d.ts.map +1 -0
  174. package/dist/src/utils/FileList.d.ts +26 -0
  175. package/dist/src/utils/FileList.d.ts.map +1 -0
  176. package/dist/src/utils/dialogs.d.ts +111 -0
  177. package/dist/src/utils/dialogs.d.ts.map +1 -0
  178. package/dist/src/utils/jsonPointer.d.ts +46 -0
  179. package/dist/src/utils/jsonPointer.d.ts.map +1 -0
  180. package/dist/src/utils/media.d.ts +18 -0
  181. package/dist/src/utils/media.d.ts.map +1 -0
  182. package/dist/src/utils/objects.d.ts +16 -0
  183. package/dist/src/utils/objects.d.ts.map +1 -0
  184. package/dist/src/utils/templateUtils.d.ts +59 -0
  185. package/dist/src/utils/templateUtils.d.ts.map +1 -0
  186. package/dist/src/utils/types.d.ts +2 -0
  187. package/dist/src/utils/types.d.ts.map +1 -0
  188. package/dist/src/vendor-imports.d.ts +4 -0
  189. package/dist/src/vendor-imports.d.ts.map +1 -0
  190. package/dist/subTypes/blobHTMLType.d.ts.map +1 -1
  191. package/dist/superTypes/SpecialRealNumberType.d.ts.map +1 -1
  192. package/dist/superTypes/buffersourceType.d.ts.map +1 -1
  193. package/dist/superTypes/dommatrixType.d.ts.map +1 -1
  194. package/dist/superTypes/dompointType.d.ts.map +1 -1
  195. package/dist/superTypes/domrectType.d.ts.map +1 -1
  196. package/dist/superTypes/errorsSpecialType.d.ts.map +1 -1
  197. package/dist/typeChoices.d.ts +21 -87
  198. package/dist/typeChoices.d.ts.map +1 -1
  199. package/dist/types.d.ts +90 -64
  200. package/dist/types.d.ts.map +1 -1
  201. package/dist/utils/FileList.d.ts +4 -3
  202. package/dist/utils/FileList.d.ts.map +1 -1
  203. package/dist/utils/dialogs.d.ts +4 -4
  204. package/dist/utils/dialogs.d.ts.map +1 -1
  205. package/dist/utils/media.d.ts.map +1 -1
  206. package/dist/utils/schemaMeta.d.ts +92 -0
  207. package/dist/utils/schemaMeta.d.ts.map +1 -0
  208. package/dist/utils/templateUtils.d.ts +3 -3
  209. package/dist/utils/templateUtils.d.ts.map +1 -1
  210. package/dist/utils/timing.d.ts +2 -0
  211. package/dist/utils/timing.d.ts.map +1 -0
  212. package/dist/utils/types.d.ts +1 -0
  213. package/dist/utils/types.d.ts.map +1 -1
  214. package/dist/vendor-imports.d.ts +3 -1
  215. package/docs/proposals/schema-meta.md +233 -0
  216. package/eslint.config.js +51 -4
  217. package/licenseInfo.json +1 -1
  218. package/package.json +52 -42
  219. package/pnpm-workspace.yaml +57 -0
  220. package/rollup.config.js +20 -18
  221. package/server.js +3 -3
  222. package/src/deepEqual.js.map +1 -1
  223. package/src/formatAndTypeChoices.js +62 -58
  224. package/src/formats/indexedDBKey.js +3 -4
  225. package/src/formats/schema.js +824 -475
  226. package/src/formats/structuredCloning.js +189 -79
  227. package/src/formats.js +17 -5
  228. package/src/fundamentalTypes/BooleanObjectType.js +4 -5
  229. package/src/fundamentalTypes/NumberObjectType.js +4 -4
  230. package/src/fundamentalTypes/StringObjectType.js +3 -4
  231. package/src/fundamentalTypes/arrayReferenceType.js +0 -2
  232. package/src/fundamentalTypes/arrayType.js +624 -389
  233. package/src/fundamentalTypes/bigintObjectType.js +3 -2
  234. package/src/fundamentalTypes/bigintType.js +79 -17
  235. package/src/fundamentalTypes/blobType.js +35 -35
  236. package/src/fundamentalTypes/booleanType.js +16 -8
  237. package/src/fundamentalTypes/dateType.js +6 -8
  238. package/src/fundamentalTypes/domexceptionType.js +5 -4
  239. package/src/fundamentalTypes/errorType.js +39 -32
  240. package/src/fundamentalTypes/fileType.js +238 -52
  241. package/src/fundamentalTypes/functionType.js +61 -41
  242. package/src/fundamentalTypes/nanType.js +5 -4
  243. package/src/fundamentalTypes/noneditableType.js +4 -3
  244. package/src/fundamentalTypes/nullType.js +3 -2
  245. package/src/fundamentalTypes/numberType.js +72 -20
  246. package/src/fundamentalTypes/promiseType.js +16 -40
  247. package/src/fundamentalTypes/regexpType.js +7 -13
  248. package/src/fundamentalTypes/stringType.js +176 -110
  249. package/src/fundamentalTypes/symbolType.js +3 -2
  250. package/src/fundamentalTypes/undefinedType.js +3 -2
  251. package/src/index.js +6 -5
  252. package/src/jsoe.css +107 -8
  253. package/src/subTypes/blobHTMLType.js +23 -10
  254. package/src/superTypes/SpecialNumberType.js +6 -6
  255. package/src/superTypes/SpecialRealNumberType.js +10 -9
  256. package/src/superTypes/buffersourceType.js +86 -75
  257. package/src/superTypes/dommatrixType.js +6 -5
  258. package/src/superTypes/dompointType.js +6 -5
  259. package/src/superTypes/domrectType.js +6 -5
  260. package/src/superTypes/errorsSpecialType.js +54 -35
  261. package/src/typeChoices.js +399 -54
  262. package/src/types.js +157 -97
  263. package/src/utils/FileList.js +3 -3
  264. package/src/utils/dialogs.js +5 -7
  265. package/src/utils/jsonPointer.js +1 -1
  266. package/src/utils/media.js +1 -0
  267. package/src/utils/schemaMeta.js +257 -0
  268. package/src/utils/templateUtils.js +3 -3
  269. package/src/utils/timing.js +12 -0
  270. package/src/utils/types.js +19 -0
  271. package/src/vendor-imports.js +10 -2
  272. package/tsconfig.json +2 -0
  273. package/vendor/acorn/dist/acorn.d.mts +46 -5
  274. package/vendor/acorn/dist/acorn.d.ts +46 -5
  275. package/vendor/acorn/dist/acorn.js +394 -117
  276. package/vendor/acorn/dist/acorn.mjs +394 -117
  277. package/vendor/acorn/dist/bin.js +1 -1
  278. package/vendor/jamilih/dist/{jml-es.js → jml.mjs} +590 -312
  279. package/vendor/jamilih/package.json +1 -1
  280. package/vendor/mime/dist/types/other.js +719 -0
  281. package/vendor/mime/dist/types/standard.js +366 -0
  282. package/vendor/typeson-registry/dist/index.js +519 -99
  283. package/vendor/zod/classic/checks.d.ts +1 -0
  284. package/vendor/zod/classic/checks.js +1 -0
  285. package/vendor/zod/classic/coerce.d.ts +17 -0
  286. package/vendor/zod/classic/coerce.js +17 -0
  287. package/vendor/zod/classic/compat.d.ts +48 -0
  288. package/vendor/zod/classic/compat.js +31 -0
  289. package/vendor/zod/classic/deep-partial.d.ts +14 -0
  290. package/vendor/zod/classic/deep-partial.js +13 -0
  291. package/vendor/zod/classic/errors.d.ts +29 -0
  292. package/vendor/zod/classic/errors.js +57 -0
  293. package/vendor/zod/classic/external.d.ts +19 -0
  294. package/vendor/zod/classic/external.js +17 -0
  295. package/vendor/zod/classic/from-json-schema.d.ts +12 -0
  296. package/vendor/zod/classic/from-json-schema.js +660 -0
  297. package/vendor/zod/classic/in-out.d.ts +8 -0
  298. package/vendor/zod/classic/in-out.js +36 -0
  299. package/vendor/zod/classic/index.d.ts +3 -0
  300. package/vendor/zod/classic/index.js +4 -0
  301. package/vendor/zod/classic/iso.d.ts +7 -0
  302. package/vendor/zod/classic/iso.js +15 -0
  303. package/vendor/zod/classic/package.json +7 -0
  304. package/vendor/zod/classic/parse.d.ts +44 -0
  305. package/vendor/zod/classic/parse.js +16 -0
  306. package/vendor/zod/classic/schemas.d.ts +802 -0
  307. package/vendor/zod/classic/schemas.js +1491 -0
  308. package/vendor/zod/core/api.d.ts +329 -0
  309. package/vendor/zod/core/api.js +1104 -0
  310. package/vendor/zod/core/checks.d.ts +278 -0
  311. package/vendor/zod/core/checks.js +581 -0
  312. package/vendor/zod/core/compile.d.ts +51 -0
  313. package/vendor/zod/core/compile.js +1783 -0
  314. package/vendor/zod/core/core.d.ts +82 -0
  315. package/vendor/zod/core/core.js +141 -0
  316. package/vendor/zod/core/doc.d.ts +16 -0
  317. package/vendor/zod/core/doc.js +33 -0
  318. package/vendor/zod/core/errors.d.ts +225 -0
  319. package/vendor/zod/core/errors.js +270 -0
  320. package/vendor/zod/core/index.d.ts +19 -0
  321. package/vendor/zod/core/index.js +19 -0
  322. package/vendor/zod/core/json-schema-generator.d.ts +65 -0
  323. package/vendor/zod/core/json-schema-generator.js +99 -0
  324. package/vendor/zod/core/json-schema-processors.d.ts +49 -0
  325. package/vendor/zod/core/json-schema-processors.js +747 -0
  326. package/vendor/zod/core/json-schema.d.ts +89 -0
  327. package/vendor/zod/core/memoizer.d.ts +15 -0
  328. package/vendor/zod/core/memoizer.js +265 -0
  329. package/vendor/zod/core/package.json +7 -0
  330. package/vendor/zod/core/parse.d.ts +52 -0
  331. package/vendor/zod/core/parse.js +154 -0
  332. package/vendor/zod/core/regexes.d.ts +87 -0
  333. package/vendor/zod/core/regexes.js +150 -0
  334. package/vendor/zod/core/registries.d.ts +35 -0
  335. package/vendor/zod/core/registries.js +51 -0
  336. package/vendor/zod/core/schemas.d.ts +1253 -0
  337. package/vendor/zod/core/schemas.js +2440 -0
  338. package/vendor/zod/core/standard-schema.d.ts +126 -0
  339. package/vendor/zod/core/to-json-schema.d.ts +153 -0
  340. package/vendor/zod/core/to-json-schema.js +650 -0
  341. package/vendor/zod/core/util.d.ts +257 -0
  342. package/vendor/zod/core/util.js +846 -0
  343. package/vendor/zod/core/versions.d.ts +5 -0
  344. package/vendor/zod/core/versions.js +5 -0
  345. package/vendor/zod/core/visit.d.ts +30 -0
  346. package/vendor/zod/core/visit.js +169 -0
  347. package/vendor/zod/index.d.ts +3 -0
  348. package/vendor/zod/index.js +4 -0
  349. package/vendor/zod/locales/ar.d.ts +4 -0
  350. package/vendor/zod/locales/ar.js +109 -0
  351. package/vendor/zod/locales/az.d.ts +4 -0
  352. package/vendor/zod/locales/az.js +108 -0
  353. package/vendor/zod/locales/be.d.ts +4 -0
  354. package/vendor/zod/locales/be.js +166 -0
  355. package/vendor/zod/locales/bg.d.ts +4 -0
  356. package/vendor/zod/locales/bg.js +123 -0
  357. package/vendor/zod/locales/bn.d.ts +4 -0
  358. package/vendor/zod/locales/bn.js +111 -0
  359. package/vendor/zod/locales/ca.d.ts +4 -0
  360. package/vendor/zod/locales/ca.js +110 -0
  361. package/vendor/zod/locales/ckb.d.ts +4 -0
  362. package/vendor/zod/locales/ckb.js +131 -0
  363. package/vendor/zod/locales/cs.d.ts +4 -0
  364. package/vendor/zod/locales/cs.js +114 -0
  365. package/vendor/zod/locales/da.d.ts +4 -0
  366. package/vendor/zod/locales/da.js +118 -0
  367. package/vendor/zod/locales/de.d.ts +4 -0
  368. package/vendor/zod/locales/de.js +111 -0
  369. package/vendor/zod/locales/el.d.ts +4 -0
  370. package/vendor/zod/locales/el.js +110 -0
  371. package/vendor/zod/locales/en.d.ts +4 -0
  372. package/vendor/zod/locales/en.js +123 -0
  373. package/vendor/zod/locales/eo.d.ts +4 -0
  374. package/vendor/zod/locales/eo.js +112 -0
  375. package/vendor/zod/locales/es.d.ts +4 -0
  376. package/vendor/zod/locales/es.js +134 -0
  377. package/vendor/zod/locales/fa.d.ts +4 -0
  378. package/vendor/zod/locales/fa.js +117 -0
  379. package/vendor/zod/locales/fi.d.ts +4 -0
  380. package/vendor/zod/locales/fi.js +115 -0
  381. package/vendor/zod/locales/fr-CA.d.ts +4 -0
  382. package/vendor/zod/locales/fr-CA.js +110 -0
  383. package/vendor/zod/locales/fr.d.ts +4 -0
  384. package/vendor/zod/locales/fr.js +127 -0
  385. package/vendor/zod/locales/gu.d.ts +4 -0
  386. package/vendor/zod/locales/gu.js +111 -0
  387. package/vendor/zod/locales/he.d.ts +4 -0
  388. package/vendor/zod/locales/he.js +219 -0
  389. package/vendor/zod/locales/hi.d.ts +4 -0
  390. package/vendor/zod/locales/hi.js +109 -0
  391. package/vendor/zod/locales/hr.d.ts +4 -0
  392. package/vendor/zod/locales/hr.js +124 -0
  393. package/vendor/zod/locales/hu.d.ts +4 -0
  394. package/vendor/zod/locales/hu.js +111 -0
  395. package/vendor/zod/locales/hy.d.ts +4 -0
  396. package/vendor/zod/locales/hy.js +156 -0
  397. package/vendor/zod/locales/id.d.ts +4 -0
  398. package/vendor/zod/locales/id.js +109 -0
  399. package/vendor/zod/locales/index.d.ts +62 -0
  400. package/vendor/zod/locales/index.js +62 -0
  401. package/vendor/zod/locales/is.d.ts +4 -0
  402. package/vendor/zod/locales/is.js +112 -0
  403. package/vendor/zod/locales/it.d.ts +4 -0
  404. package/vendor/zod/locales/it.js +111 -0
  405. package/vendor/zod/locales/ja.d.ts +4 -0
  406. package/vendor/zod/locales/ja.js +110 -0
  407. package/vendor/zod/locales/ka.d.ts +4 -0
  408. package/vendor/zod/locales/ka.js +115 -0
  409. package/vendor/zod/locales/kh.d.ts +5 -0
  410. package/vendor/zod/locales/kh.js +5 -0
  411. package/vendor/zod/locales/km.d.ts +4 -0
  412. package/vendor/zod/locales/km.js +113 -0
  413. package/vendor/zod/locales/kn.d.ts +4 -0
  414. package/vendor/zod/locales/kn.js +114 -0
  415. package/vendor/zod/locales/ko.d.ts +4 -0
  416. package/vendor/zod/locales/ko.js +114 -0
  417. package/vendor/zod/locales/lt.d.ts +4 -0
  418. package/vendor/zod/locales/lt.js +205 -0
  419. package/vendor/zod/locales/mk.d.ts +4 -0
  420. package/vendor/zod/locales/mk.js +112 -0
  421. package/vendor/zod/locales/ms.d.ts +4 -0
  422. package/vendor/zod/locales/ms.js +110 -0
  423. package/vendor/zod/locales/ne.d.ts +4 -0
  424. package/vendor/zod/locales/ne.js +109 -0
  425. package/vendor/zod/locales/nl.d.ts +4 -0
  426. package/vendor/zod/locales/nl.js +113 -0
  427. package/vendor/zod/locales/nn.d.ts +4 -0
  428. package/vendor/zod/locales/nn.js +111 -0
  429. package/vendor/zod/locales/no.d.ts +4 -0
  430. package/vendor/zod/locales/no.js +111 -0
  431. package/vendor/zod/locales/ota.d.ts +4 -0
  432. package/vendor/zod/locales/ota.js +112 -0
  433. package/vendor/zod/locales/package.json +7 -0
  434. package/vendor/zod/locales/pl.d.ts +4 -0
  435. package/vendor/zod/locales/pl.js +112 -0
  436. package/vendor/zod/locales/ps.d.ts +4 -0
  437. package/vendor/zod/locales/ps.js +117 -0
  438. package/vendor/zod/locales/pt-BR.d.ts +4 -0
  439. package/vendor/zod/locales/pt-BR.js +141 -0
  440. package/vendor/zod/locales/pt.d.ts +4 -0
  441. package/vendor/zod/locales/pt.js +140 -0
  442. package/vendor/zod/locales/ro.d.ts +4 -0
  443. package/vendor/zod/locales/ro.js +120 -0
  444. package/vendor/zod/locales/ru.d.ts +4 -0
  445. package/vendor/zod/locales/ru.js +166 -0
  446. package/vendor/zod/locales/sk.d.ts +4 -0
  447. package/vendor/zod/locales/sk.js +114 -0
  448. package/vendor/zod/locales/sl.d.ts +4 -0
  449. package/vendor/zod/locales/sl.js +112 -0
  450. package/vendor/zod/locales/sv.d.ts +4 -0
  451. package/vendor/zod/locales/sv.js +113 -0
  452. package/vendor/zod/locales/ta.d.ts +4 -0
  453. package/vendor/zod/locales/ta.js +113 -0
  454. package/vendor/zod/locales/th.d.ts +4 -0
  455. package/vendor/zod/locales/th.js +113 -0
  456. package/vendor/zod/locales/tk.d.ts +4 -0
  457. package/vendor/zod/locales/tk.js +105 -0
  458. package/vendor/zod/locales/tr.d.ts +4 -0
  459. package/vendor/zod/locales/tr.js +108 -0
  460. package/vendor/zod/locales/ua.d.ts +5 -0
  461. package/vendor/zod/locales/ua.js +5 -0
  462. package/vendor/zod/locales/uk.d.ts +4 -0
  463. package/vendor/zod/locales/uk.js +111 -0
  464. package/vendor/zod/locales/ur.d.ts +4 -0
  465. package/vendor/zod/locales/ur.js +113 -0
  466. package/vendor/zod/locales/uz.d.ts +4 -0
  467. package/vendor/zod/locales/uz.js +111 -0
  468. package/vendor/zod/locales/vi.d.ts +4 -0
  469. package/vendor/zod/locales/vi.js +111 -0
  470. package/vendor/zod/locales/yo.d.ts +4 -0
  471. package/vendor/zod/locales/yo.js +110 -0
  472. package/vendor/zod/locales/zh-CN.d.ts +4 -0
  473. package/vendor/zod/locales/zh-CN.js +112 -0
  474. package/vendor/zod/locales/zh-TW.d.ts +4 -0
  475. package/vendor/zod/locales/zh-TW.js +110 -0
  476. package/vendor/zod/mini/checks.d.ts +1 -0
  477. package/vendor/zod/mini/checks.js +1 -0
  478. package/vendor/zod/mini/coerce.d.ts +7 -0
  479. package/vendor/zod/mini/coerce.js +22 -0
  480. package/vendor/zod/mini/deep-partial.d.ts +14 -0
  481. package/vendor/zod/mini/deep-partial.js +13 -0
  482. package/vendor/zod/mini/external.d.ts +16 -0
  483. package/vendor/zod/mini/external.js +16 -0
  484. package/vendor/zod/mini/in-out.d.ts +8 -0
  485. package/vendor/zod/mini/in-out.js +36 -0
  486. package/vendor/zod/mini/index.d.ts +3 -0
  487. package/vendor/zod/mini/index.js +3 -0
  488. package/vendor/zod/mini/iso.d.ts +22 -0
  489. package/vendor/zod/mini/iso.js +34 -0
  490. package/vendor/zod/mini/package.json +7 -0
  491. package/vendor/zod/mini/parse.d.ts +1 -0
  492. package/vendor/zod/mini/parse.js +1 -0
  493. package/vendor/zod/mini/schemas.d.ts +475 -0
  494. package/vendor/zod/mini/schemas.js +987 -0
  495. package/vendor/zod/package.json +7 -0
  496. package/vendor/zodexy/dist/esm/index.js +1274 -0
  497. package/vendor/zodexy/dist/index.js +1088 -0
  498. package/vendor/zodexy/dist/schema.zodexy.json +1036 -0
  499. package/dist/fundamentalTypes/nativeEnumType.d.ts +0 -6
  500. package/dist/fundamentalTypes/nativeEnumType.d.ts.map +0 -1
  501. package/src/fundamentalTypes/catchType.js +0 -140
  502. package/src/fundamentalTypes/enumType.js +0 -52
  503. package/src/fundamentalTypes/literalType.js +0 -81
  504. package/src/fundamentalTypes/nativeEnumType.js +0 -157
  505. package/src/fundamentalTypes/neverType.js +0 -49
  506. package/src/fundamentalTypes/recordType.js +0 -42
  507. package/src/fundamentalTypes/tupleType.js +0 -39
  508. package/src/fundamentalTypes/voidType.js +0 -48
  509. package/vendor/zod/lib/index.mjs +0 -4236
  510. package/vendor/zodex/dist/esm/dezerialize.d.ts +0 -26
  511. package/vendor/zodex/dist/esm/dezerialize.js +0 -393
  512. package/vendor/zodex/dist/esm/index.d.ts +0 -9
  513. package/vendor/zodex/dist/esm/index.js +0 -4
  514. package/vendor/zodex/dist/esm/infer.d.ts +0 -29
  515. package/vendor/zodex/dist/esm/package.json +0 -1
  516. package/vendor/zodex/dist/esm/types.d.ts +0 -201
  517. package/vendor/zodex/dist/esm/types.js +0 -13
  518. package/vendor/zodex/dist/esm/ui.d.ts +0 -23
  519. package/vendor/zodex/dist/esm/ui.js +0 -10
  520. package/vendor/zodex/dist/esm/zerialize.d.ts +0 -50
  521. package/vendor/zodex/dist/esm/zerialize.js +0 -417
  522. package/vendor/zodex/dist/esm/zod-types.d.ts +0 -11
  523. /package/vendor/{zodex/dist/esm/infer.js → zod/core/json-schema.js} +0 -0
  524. /package/vendor/{zodex/dist/esm/zod-types.js → zod/core/standard-schema.js} +0 -0
@@ -0,0 +1,270 @@
1
+ import { $constructor } from "./core.js";
2
+ import * as util from "./util.js";
3
+ /* Computing the message eagerly is expensive (pretty-printed JSON of all
4
+ * issues), so defer it until first read. The accessor functions and
5
+ * descriptors are shared across instances to keep error construction
6
+ * cheap; the computed message is cached on the internals object. The
7
+ * setter preserves plain assignment semantics for consumers that
8
+ * overwrite `message`. */
9
+ function _getMessage() {
10
+ const internals = this._zod;
11
+ internals.message ?? (internals.message = JSON.stringify(internals.def, util.jsonStringifyReplacer, 2));
12
+ return internals.message;
13
+ }
14
+ function _setMessage(value) {
15
+ this._zod.message = value;
16
+ }
17
+ const _messageDesc = {
18
+ get: _getMessage,
19
+ set: _setMessage,
20
+ enumerable: true,
21
+ configurable: true,
22
+ };
23
+ const _zodDesc = { value: undefined, enumerable: false };
24
+ const _issuesDesc = { value: undefined, enumerable: false };
25
+ /* Prototypes that already carry the lazy `toString`. Seeded with the
26
+ * intrinsics so that `init` on a foreign object — it accepts any object —
27
+ * can never install an accessor onto a prototype we do not own. */
28
+ const _installedToString = /* @__PURE__ */ new WeakSet([Object.prototype, Error.prototype]);
29
+ const initializer = (inst, def) => {
30
+ inst.name = "$ZodError";
31
+ _zodDesc.value = inst._zod;
32
+ Object.defineProperty(inst, "_zod", _zodDesc);
33
+ _issuesDesc.value = def;
34
+ Object.defineProperty(inst, "issues", _issuesDesc);
35
+ // Clear the shared slots; a retained `value` pins the last error's issues.
36
+ _zodDesc.value = undefined;
37
+ _issuesDesc.value = undefined;
38
+ Object.defineProperty(inst, "message", _messageDesc);
39
+ /* `toString` lives as a non-enumerable lazy getter on the shared
40
+ * prototype; on first access it caches a per-instance closure so
41
+ * detached usage still works. */
42
+ const proto = Object.getPrototypeOf(inst);
43
+ if (!_installedToString.has(proto)) {
44
+ _installedToString.add(proto);
45
+ Object.defineProperty(proto, "toString", {
46
+ configurable: true,
47
+ enumerable: false,
48
+ get() {
49
+ const value = () => this.message;
50
+ Object.defineProperty(this, "toString", { value, configurable: true, writable: true });
51
+ return value;
52
+ },
53
+ set(value) {
54
+ Object.defineProperty(this, "toString", { value, configurable: true, writable: true });
55
+ },
56
+ });
57
+ }
58
+ };
59
+ export const $ZodError = $constructor("$ZodError", initializer);
60
+ export const $ZodRealError = $constructor("$ZodError", initializer, undefined, {
61
+ Parent: Error,
62
+ });
63
+ /** Get-or-create `obj[key]` as an own data property. A path segment naming an inherited member
64
+ * ("toString", "constructor") would otherwise read through to the prototype, and assigning
65
+ * "__proto__" would hit the setter instead of creating a key. */
66
+ function node(obj, key, make) {
67
+ if (!Object.prototype.hasOwnProperty.call(obj, key)) {
68
+ if (key === "__proto__") {
69
+ Object.defineProperty(obj, key, { value: make(), writable: true, enumerable: true, configurable: true });
70
+ }
71
+ else {
72
+ obj[key] = make();
73
+ }
74
+ }
75
+ return obj[key];
76
+ }
77
+ export function flattenError(error, mapper = (issue) => issue.message) {
78
+ const fieldErrors = {};
79
+ const formErrors = [];
80
+ for (const sub of error.issues) {
81
+ if (sub.path.length > 0) {
82
+ node(fieldErrors, sub.path[0], () => []).push(mapper(sub));
83
+ }
84
+ else {
85
+ formErrors.push(mapper(sub));
86
+ }
87
+ }
88
+ return { formErrors, fieldErrors };
89
+ }
90
+ export function formatError(error, mapper = (issue) => issue.message) {
91
+ const fieldErrors = { _errors: [] };
92
+ const processError = (error, path = []) => {
93
+ for (const issue of error.issues) {
94
+ if (issue.code === "invalid_union" && issue.errors.length) {
95
+ issue.errors.map((issues) => processError({ issues }, [...path, ...issue.path]));
96
+ }
97
+ else if (issue.code === "invalid_key") {
98
+ processError({ issues: issue.issues }, [...path, ...issue.path]);
99
+ }
100
+ else if (issue.code === "invalid_element") {
101
+ processError({ issues: issue.issues }, [...path, ...issue.path]);
102
+ }
103
+ else {
104
+ const fullpath = [...path, ...issue.path];
105
+ if (fullpath.length === 0) {
106
+ fieldErrors._errors.push(mapper(issue));
107
+ }
108
+ else {
109
+ let curr = fieldErrors;
110
+ let i = 0;
111
+ while (i < fullpath.length) {
112
+ const el = fullpath[i];
113
+ const terminal = i === fullpath.length - 1;
114
+ // `_errors` is reserved by this legacy format, so merge a matching path segment into the current node instead of treating its array as a child.
115
+ if (el === "_errors") {
116
+ if (terminal)
117
+ curr._errors.push(mapper(issue));
118
+ i++;
119
+ continue;
120
+ }
121
+ // A path element may collide with an inherited property name such as
122
+ // "__proto__" or "constructor". Truthiness checks read the prototype
123
+ // (so no node is created, then ._errors.push throws), and bracket
124
+ // assignment of "__proto__" hits the setter instead of creating an
125
+ // own key. Guard the read with hasOwnProperty and create the node
126
+ // with defineProperty so any path element becomes a real own key.
127
+ if (!Object.prototype.hasOwnProperty.call(curr, el)) {
128
+ Object.defineProperty(curr, el, {
129
+ value: { _errors: [] },
130
+ enumerable: true,
131
+ writable: true,
132
+ configurable: true,
133
+ });
134
+ }
135
+ const node = curr[el];
136
+ if (terminal) {
137
+ node._errors.push(mapper(issue));
138
+ }
139
+ curr = node;
140
+ i++;
141
+ }
142
+ }
143
+ }
144
+ }
145
+ };
146
+ processError(error);
147
+ return fieldErrors;
148
+ }
149
+ export function treeifyError(error, mapper = (issue) => issue.message) {
150
+ const result = { errors: [] };
151
+ const processError = (error, path = []) => {
152
+ var _a;
153
+ for (const issue of error.issues) {
154
+ if (issue.code === "invalid_union" && issue.errors.length) {
155
+ // regular union error
156
+ issue.errors.map((issues) => processError({ issues }, [...path, ...issue.path]));
157
+ }
158
+ else if (issue.code === "invalid_key") {
159
+ processError({ issues: issue.issues }, [...path, ...issue.path]);
160
+ }
161
+ else if (issue.code === "invalid_element") {
162
+ processError({ issues: issue.issues }, [...path, ...issue.path]);
163
+ }
164
+ else {
165
+ const fullpath = [...path, ...issue.path];
166
+ if (fullpath.length === 0) {
167
+ result.errors.push(mapper(issue));
168
+ continue;
169
+ }
170
+ let curr = result;
171
+ let i = 0;
172
+ while (i < fullpath.length) {
173
+ const el = fullpath[i];
174
+ const terminal = i === fullpath.length - 1;
175
+ if (typeof el === "string") {
176
+ curr.properties ?? (curr.properties = {});
177
+ // el may collide with an inherited property name ("__proto__",
178
+ // "constructor", ...); ??= reads the prototype so the node is never
179
+ // created and curr.errors.push throws. Guard with hasOwnProperty and
180
+ // create the node with defineProperty so "__proto__" becomes a real
181
+ // own key rather than invoking the prototype setter.
182
+ if (!Object.prototype.hasOwnProperty.call(curr.properties, el)) {
183
+ Object.defineProperty(curr.properties, el, {
184
+ value: { errors: [] },
185
+ enumerable: true,
186
+ writable: true,
187
+ configurable: true,
188
+ });
189
+ }
190
+ curr = curr.properties[el];
191
+ }
192
+ else {
193
+ curr.items ?? (curr.items = []);
194
+ (_a = curr.items)[el] ?? (_a[el] = { errors: [] });
195
+ curr = curr.items[el];
196
+ }
197
+ if (terminal) {
198
+ curr.errors.push(mapper(issue));
199
+ }
200
+ i++;
201
+ }
202
+ }
203
+ }
204
+ };
205
+ processError(error);
206
+ return result;
207
+ }
208
+ /** Format a ZodError as a human-readable string in the following form.
209
+ *
210
+ * From
211
+ *
212
+ * ```ts
213
+ * ZodError {
214
+ * issues: [
215
+ * {
216
+ * expected: 'string',
217
+ * code: 'invalid_type',
218
+ * path: [ 'username' ],
219
+ * message: 'Invalid input: expected string'
220
+ * },
221
+ * {
222
+ * expected: 'number',
223
+ * code: 'invalid_type',
224
+ * path: [ 'favoriteNumbers', 1 ],
225
+ * message: 'Invalid input: expected number'
226
+ * }
227
+ * ];
228
+ * }
229
+ * ```
230
+ *
231
+ * to
232
+ *
233
+ * ```
234
+ * username
235
+ * ✖ Expected number, received string at "username
236
+ * favoriteNumbers[0]
237
+ * ✖ Invalid input: expected number
238
+ * ```
239
+ */
240
+ export function toDotPath(_path) {
241
+ const segs = [];
242
+ const path = _path.map((seg) => (typeof seg === "object" ? seg.key : seg));
243
+ for (const seg of path) {
244
+ if (typeof seg === "number")
245
+ segs.push(`[${seg}]`);
246
+ else if (typeof seg === "symbol")
247
+ segs.push(`[${JSON.stringify(String(seg))}]`);
248
+ else if (/[^\w$]/.test(seg))
249
+ segs.push(`[${JSON.stringify(seg)}]`);
250
+ else {
251
+ if (segs.length)
252
+ segs.push(".");
253
+ segs.push(seg);
254
+ }
255
+ }
256
+ return segs.join("");
257
+ }
258
+ export function prettifyError(error) {
259
+ const lines = [];
260
+ // sort by path length
261
+ const issues = [...error.issues].sort((a, b) => (a.path ?? []).length - (b.path ?? []).length);
262
+ // Process each issue
263
+ for (const issue of issues) {
264
+ lines.push(`✖ ${issue.message}`);
265
+ if (issue.path?.length)
266
+ lines.push(` → at ${toDotPath(issue.path)}`);
267
+ }
268
+ // Convert Map to formatted string
269
+ return lines.join("\n");
270
+ }
@@ -0,0 +1,19 @@
1
+ export * from "./core.js";
2
+ export * from "./parse.js";
3
+ export * from "./errors.js";
4
+ export * from "./schemas.js";
5
+ export * from "./memoizer.js";
6
+ export * from "./checks.js";
7
+ export * from "./versions.js";
8
+ export * as util from "./util.js";
9
+ export { toZod } from "./util.js";
10
+ export * as regexes from "./regexes.js";
11
+ export * as locales from "../locales/index.js";
12
+ export * from "./registries.js";
13
+ export * from "./doc.js";
14
+ export * from "./compile.js";
15
+ export * from "./api.js";
16
+ export * from "./to-json-schema.js";
17
+ export { toJSONSchema } from "./json-schema-processors.js";
18
+ export { JSONSchemaGenerator } from "./json-schema-generator.js";
19
+ export * as JSONSchema from "./json-schema.js";
@@ -0,0 +1,19 @@
1
+ export * from "./core.js";
2
+ export * from "./parse.js";
3
+ export * from "./errors.js";
4
+ export * from "./schemas.js";
5
+ export * from "./memoizer.js";
6
+ export * from "./checks.js";
7
+ export * from "./versions.js";
8
+ export * as util from "./util.js";
9
+ export { toZod } from "./util.js";
10
+ export * as regexes from "./regexes.js";
11
+ export * as locales from "../locales/index.js";
12
+ export * from "./registries.js";
13
+ export * from "./doc.js";
14
+ export * from "./compile.js";
15
+ export * from "./api.js";
16
+ export * from "./to-json-schema.js";
17
+ export { toJSONSchema } from "./json-schema-processors.js";
18
+ export { JSONSchemaGenerator } from "./json-schema-generator.js";
19
+ export * as JSONSchema from "./json-schema.js";
@@ -0,0 +1,65 @@
1
+ import type * as JSONSchema from "./json-schema.js";
2
+ import type { $ZodRegistry } from "./registries.js";
3
+ import type * as schemas from "./schemas.js";
4
+ import { type JSONSchemaGeneratorParams, type ProcessParams, type Seen, type ToJSONSchemaContext } from "./to-json-schema.js";
5
+ /**
6
+ * Parameters for the emit method of JSONSchemaGenerator.
7
+ * @deprecated Use toJSONSchema function instead
8
+ */
9
+ export type EmitParams = Pick<JSONSchemaGeneratorParams, "cycles" | "reused" | "external">;
10
+ /**
11
+ * Parameters for JSONSchemaGenerator constructor.
12
+ * @deprecated Use toJSONSchema function instead
13
+ */
14
+ type JSONSchemaGeneratorConstructorParams = Pick<JSONSchemaGeneratorParams, "metadata" | "target" | "unrepresentable" | "override" | "io">;
15
+ /**
16
+ * Legacy class-based interface for JSON Schema generation.
17
+ * This class wraps the new functional implementation to provide backward compatibility.
18
+ *
19
+ * @deprecated Use the `toJSONSchema` function instead for new code.
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * // Legacy usage (still supported)
24
+ * const gen = new JSONSchemaGenerator({ target: "draft-07" });
25
+ * gen.process(schema);
26
+ * const result = gen.emit(schema);
27
+ *
28
+ * // Preferred modern usage
29
+ * const result = toJSONSchema(schema, { target: "draft-07" });
30
+ * ```
31
+ */
32
+ export declare class JSONSchemaGenerator {
33
+ private ctx;
34
+ /** @deprecated Access via ctx instead */
35
+ get metadataRegistry(): $ZodRegistry<Record<string, any>>;
36
+ /** @deprecated Access via ctx instead */
37
+ get target(): ({} & string) | "draft-2020-12" | "draft-07" | "openapi-3.0" | "draft-04";
38
+ /** @deprecated Access via ctx instead */
39
+ get unrepresentable(): ToJSONSchemaContext["unrepresentable"];
40
+ /** @deprecated Access via ctx instead */
41
+ get override(): (ctx: {
42
+ zodSchema: schemas.$ZodType;
43
+ jsonSchema: JSONSchema.BaseSchema;
44
+ path: (string | number)[];
45
+ }) => void;
46
+ /** @deprecated Access via ctx instead */
47
+ get io(): "input" | "output";
48
+ /** @deprecated Access via ctx instead */
49
+ get counter(): number;
50
+ set counter(value: number);
51
+ /** @deprecated Access via ctx instead */
52
+ get seen(): Map<schemas.$ZodType, Seen>;
53
+ constructor(params?: JSONSchemaGeneratorConstructorParams);
54
+ /**
55
+ * Process a schema to prepare it for JSON Schema generation.
56
+ * This must be called before emit().
57
+ */
58
+ process(schema: schemas.$ZodType, _params?: ProcessParams): JSONSchema.BaseSchema;
59
+ /**
60
+ * Emit the final JSON Schema after processing.
61
+ * Must call process() first.
62
+ */
63
+ emit(schema: schemas.$ZodType, _params?: EmitParams): JSONSchema.BaseSchema;
64
+ }
65
+ export {};
@@ -0,0 +1,99 @@
1
+ import { allProcessors } from "./json-schema-processors.js";
2
+ import { extractDefs, finalize, initializeContext, process, } from "./to-json-schema.js";
3
+ /**
4
+ * Legacy class-based interface for JSON Schema generation.
5
+ * This class wraps the new functional implementation to provide backward compatibility.
6
+ *
7
+ * @deprecated Use the `toJSONSchema` function instead for new code.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * // Legacy usage (still supported)
12
+ * const gen = new JSONSchemaGenerator({ target: "draft-07" });
13
+ * gen.process(schema);
14
+ * const result = gen.emit(schema);
15
+ *
16
+ * // Preferred modern usage
17
+ * const result = toJSONSchema(schema, { target: "draft-07" });
18
+ * ```
19
+ */
20
+ export class JSONSchemaGenerator {
21
+ /** @deprecated Access via ctx instead */
22
+ get metadataRegistry() {
23
+ return this.ctx.metadataRegistry;
24
+ }
25
+ /** @deprecated Access via ctx instead */
26
+ get target() {
27
+ return this.ctx.target;
28
+ }
29
+ // annotated so the .d.cts emits an indexed access rather than an inline `import()` of an ESM path
30
+ /** @deprecated Access via ctx instead */
31
+ get unrepresentable() {
32
+ return this.ctx.unrepresentable;
33
+ }
34
+ /** @deprecated Access via ctx instead */
35
+ get override() {
36
+ return this.ctx.override;
37
+ }
38
+ /** @deprecated Access via ctx instead */
39
+ get io() {
40
+ return this.ctx.io;
41
+ }
42
+ /** @deprecated Access via ctx instead */
43
+ get counter() {
44
+ return this.ctx.counter;
45
+ }
46
+ set counter(value) {
47
+ this.ctx.counter = value;
48
+ }
49
+ /** @deprecated Access via ctx instead */
50
+ get seen() {
51
+ return this.ctx.seen;
52
+ }
53
+ constructor(params) {
54
+ // Normalize target for internal context
55
+ let normalizedTarget = params?.target ?? "draft-2020-12";
56
+ if (normalizedTarget === "draft-4")
57
+ normalizedTarget = "draft-04";
58
+ if (normalizedTarget === "draft-7")
59
+ normalizedTarget = "draft-07";
60
+ this.ctx = initializeContext({
61
+ processors: allProcessors,
62
+ target: normalizedTarget,
63
+ ...(params?.metadata && { metadata: params.metadata }),
64
+ ...(params?.unrepresentable && { unrepresentable: params.unrepresentable }),
65
+ ...(params?.override && { override: params.override }),
66
+ ...(params?.io && { io: params.io }),
67
+ });
68
+ }
69
+ /**
70
+ * Process a schema to prepare it for JSON Schema generation.
71
+ * This must be called before emit().
72
+ */
73
+ process(schema, _params = { path: [], schemaPath: [] }) {
74
+ return process(schema, this.ctx, _params);
75
+ }
76
+ /**
77
+ * Emit the final JSON Schema after processing.
78
+ * Must call process() first.
79
+ */
80
+ emit(schema, _params) {
81
+ // Apply emit params to the context
82
+ if (_params) {
83
+ if (_params.cycles)
84
+ this.ctx.cycles = _params.cycles;
85
+ if (_params.reused)
86
+ this.ctx.reused = _params.reused;
87
+ if (_params.external)
88
+ this.ctx.external = _params.external;
89
+ }
90
+ // extractDefs/finalize skip their whole-map passes when they have already run for this `external`, but they also branch on `cycles`, `reused`, `seen.count` and the metadata registry — any of which can change between emits, including with no params at all. Drop the guards so the passes re-run. The registry conversion calls extractDefs/finalize directly and never routes through here, so it keeps skipping them.
91
+ this.ctx.sharedDefsExtractedFor = undefined;
92
+ this.ctx.sharedEmitDoneFor = undefined;
93
+ extractDefs(this.ctx, schema);
94
+ const result = finalize(this.ctx, schema);
95
+ // Strip ~standard property to match old implementation's return type
96
+ const { "~standard": _, ...plainResult } = result;
97
+ return plainResult;
98
+ }
99
+ }
@@ -0,0 +1,49 @@
1
+ import type { $ZodRegistry } from "./registries.js";
2
+ import type * as schemas from "./schemas.js";
3
+ import { type Processor, type RegistryToJSONSchemaParams, type ToJSONSchemaParams, type ZodStandardJSONSchemaPayload } from "./to-json-schema.js";
4
+ export declare const stringProcessor: Processor<schemas.$ZodString>;
5
+ export declare const numberProcessor: Processor<schemas.$ZodNumber>;
6
+ export declare const booleanProcessor: Processor<schemas.$ZodBoolean>;
7
+ export declare const bigintProcessor: Processor<schemas.$ZodBigInt>;
8
+ export declare const symbolProcessor: Processor<schemas.$ZodSymbol>;
9
+ export declare const nullProcessor: Processor<schemas.$ZodNull>;
10
+ export declare const undefinedProcessor: Processor<schemas.$ZodUndefined>;
11
+ export declare const voidProcessor: Processor<schemas.$ZodVoid>;
12
+ export declare const neverProcessor: Processor<schemas.$ZodNever>;
13
+ export declare const anyProcessor: Processor<schemas.$ZodAny>;
14
+ export declare const unknownProcessor: Processor<schemas.$ZodUnknown>;
15
+ export declare const dateProcessor: Processor<schemas.$ZodDate>;
16
+ export declare const enumProcessor: Processor<schemas.$ZodEnum>;
17
+ export declare const literalProcessor: Processor<schemas.$ZodLiteral>;
18
+ export declare const nanProcessor: Processor<schemas.$ZodNaN>;
19
+ export declare const templateLiteralProcessor: Processor<schemas.$ZodTemplateLiteral>;
20
+ export declare const fileProcessor: Processor<schemas.$ZodFile>;
21
+ export declare const successProcessor: Processor<schemas.$ZodSuccess>;
22
+ export declare const customProcessor: Processor<schemas.$ZodCustom>;
23
+ export declare const functionProcessor: Processor<schemas.$ZodFunction>;
24
+ export declare const transformProcessor: Processor<schemas.$ZodTransform>;
25
+ export declare const mapProcessor: Processor<schemas.$ZodMap>;
26
+ export declare const setProcessor: Processor<schemas.$ZodSet>;
27
+ export declare const arrayProcessor: Processor<schemas.$ZodArray>;
28
+ export declare const objectProcessor: Processor<schemas.$ZodObject>;
29
+ export declare const unionProcessor: Processor<schemas.$ZodUnion>;
30
+ export declare const intersectionProcessor: Processor<schemas.$ZodIntersection>;
31
+ export declare const tupleProcessor: Processor<schemas.$ZodTuple>;
32
+ export declare const recordProcessor: Processor<schemas.$ZodRecord>;
33
+ export declare const nullableProcessor: Processor<schemas.$ZodNullable>;
34
+ export declare const nonoptionalProcessor: Processor<schemas.$ZodNonOptional>;
35
+ export declare const defaultProcessor: Processor<schemas.$ZodDefault>;
36
+ export declare const prefaultProcessor: Processor<schemas.$ZodPrefault>;
37
+ export declare const catchProcessor: Processor<schemas.$ZodCatch>;
38
+ export declare const pipeProcessor: Processor<schemas.$ZodPipe>;
39
+ export declare const readonlyProcessor: Processor<schemas.$ZodReadonly>;
40
+ export declare const promiseProcessor: Processor<schemas.$ZodPromise>;
41
+ export declare const optionalProcessor: Processor<schemas.$ZodOptional>;
42
+ export declare const lazyProcessor: Processor<schemas.$ZodLazy>;
43
+ export declare const allProcessors: Record<string, Processor<any>>;
44
+ export declare function toJSONSchema<T extends schemas.$ZodType>(schema: T, params?: ToJSONSchemaParams): ZodStandardJSONSchemaPayload<T>;
45
+ export declare function toJSONSchema(registry: $ZodRegistry<{
46
+ id?: string | undefined;
47
+ }>, params?: RegistryToJSONSchemaParams): {
48
+ schemas: Record<string, ZodStandardJSONSchemaPayload<schemas.$ZodType>>;
49
+ };