zod-compiler 0.1.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (451) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +381 -28
  3. package/dist/cli/commands/check.d.ts +9 -0
  4. package/dist/cli/commands/check.d.ts.map +1 -0
  5. package/dist/cli/commands/check.js +150 -0
  6. package/dist/cli/commands/check.js.map +1 -0
  7. package/dist/cli/commands/generate.d.ts +34 -0
  8. package/dist/cli/commands/generate.d.ts.map +1 -0
  9. package/dist/cli/commands/generate.js +135 -0
  10. package/dist/cli/commands/generate.js.map +1 -0
  11. package/dist/cli/commands/watch.d.ts +33 -0
  12. package/dist/cli/commands/watch.d.ts.map +1 -0
  13. package/dist/cli/commands/watch.js +163 -0
  14. package/dist/cli/commands/watch.js.map +1 -0
  15. package/dist/cli/emitter.d.ts +21 -0
  16. package/dist/cli/emitter.d.ts.map +1 -0
  17. package/dist/cli/emitter.js +64 -0
  18. package/dist/cli/emitter.js.map +1 -0
  19. package/dist/cli/errors.d.ts +2 -0
  20. package/dist/cli/errors.d.ts.map +1 -0
  21. package/dist/cli/errors.js +4 -0
  22. package/dist/cli/errors.js.map +1 -0
  23. package/dist/cli/index.d.ts +3 -0
  24. package/dist/cli/index.d.ts.map +1 -0
  25. package/dist/cli/index.js +181 -0
  26. package/dist/cli/index.js.map +1 -0
  27. package/dist/cli/logger.d.ts +18 -0
  28. package/dist/cli/logger.d.ts.map +1 -0
  29. package/dist/cli/logger.js +46 -0
  30. package/dist/cli/logger.js.map +1 -0
  31. package/dist/core/codegen/context.d.ts +138 -0
  32. package/dist/core/codegen/context.d.ts.map +1 -0
  33. package/dist/core/codegen/context.js +213 -0
  34. package/dist/core/codegen/context.js.map +1 -0
  35. package/dist/core/codegen/emit-issue.d.ts +74 -0
  36. package/dist/core/codegen/emit-issue.d.ts.map +1 -0
  37. package/dist/core/codegen/emit-issue.js +116 -0
  38. package/dist/core/codegen/emit-issue.js.map +1 -0
  39. package/dist/core/codegen/emit.d.ts +8 -0
  40. package/dist/core/codegen/emit.d.ts.map +1 -0
  41. package/dist/core/codegen/emit.js +16 -0
  42. package/dist/core/codegen/emit.js.map +1 -0
  43. package/dist/core/codegen/fast-path.d.ts +17 -0
  44. package/dist/core/codegen/fast-path.d.ts.map +1 -0
  45. package/dist/core/codegen/fast-path.js +114 -0
  46. package/dist/core/codegen/fast-path.js.map +1 -0
  47. package/dist/core/codegen/index.d.ts +19 -0
  48. package/dist/core/codegen/index.d.ts.map +1 -0
  49. package/dist/core/codegen/index.js +54 -0
  50. package/dist/core/codegen/index.js.map +1 -0
  51. package/dist/core/codegen/issue-decls.d.ts +37 -0
  52. package/dist/core/codegen/issue-decls.d.ts.map +1 -0
  53. package/dist/core/codegen/issue-decls.js +47 -0
  54. package/dist/core/codegen/issue-decls.js.map +1 -0
  55. package/dist/core/codegen/schemas/any.d.ts +5 -0
  56. package/dist/core/codegen/schemas/any.d.ts.map +1 -0
  57. package/dist/core/codegen/schemas/any.js +7 -0
  58. package/dist/core/codegen/schemas/any.js.map +1 -0
  59. package/dist/core/codegen/schemas/array.d.ts +7 -0
  60. package/dist/core/codegen/schemas/array.d.ts.map +1 -0
  61. package/dist/core/codegen/schemas/array.js +86 -0
  62. package/dist/core/codegen/schemas/array.js.map +1 -0
  63. package/dist/core/codegen/schemas/bigint.d.ts +5 -0
  64. package/dist/core/codegen/schemas/bigint.d.ts.map +1 -0
  65. package/dist/core/codegen/schemas/bigint.js +80 -0
  66. package/dist/core/codegen/schemas/bigint.js.map +1 -0
  67. package/dist/core/codegen/schemas/boolean.d.ts +5 -0
  68. package/dist/core/codegen/schemas/boolean.d.ts.map +1 -0
  69. package/dist/core/codegen/schemas/boolean.js +20 -0
  70. package/dist/core/codegen/schemas/boolean.js.map +1 -0
  71. package/dist/core/codegen/schemas/catch.d.ts +7 -0
  72. package/dist/core/codegen/schemas/catch.d.ts.map +1 -0
  73. package/dist/core/codegen/schemas/catch.js +26 -0
  74. package/dist/core/codegen/schemas/catch.js.map +1 -0
  75. package/dist/core/codegen/schemas/date.d.ts +5 -0
  76. package/dist/core/codegen/schemas/date.d.ts.map +1 -0
  77. package/dist/core/codegen/schemas/date.js +79 -0
  78. package/dist/core/codegen/schemas/date.js.map +1 -0
  79. package/dist/core/codegen/schemas/default.d.ts +5 -0
  80. package/dist/core/codegen/schemas/default.d.ts.map +1 -0
  81. package/dist/core/codegen/schemas/default.js +17 -0
  82. package/dist/core/codegen/schemas/default.js.map +1 -0
  83. package/dist/core/codegen/schemas/discriminated-union.d.ts +7 -0
  84. package/dist/core/codegen/schemas/discriminated-union.d.ts.map +1 -0
  85. package/dist/core/codegen/schemas/discriminated-union.js +45 -0
  86. package/dist/core/codegen/schemas/discriminated-union.js.map +1 -0
  87. package/dist/core/codegen/schemas/effect.d.ts +17 -0
  88. package/dist/core/codegen/schemas/effect.d.ts.map +1 -0
  89. package/dist/core/codegen/schemas/effect.js +35 -0
  90. package/dist/core/codegen/schemas/effect.js.map +1 -0
  91. package/dist/core/codegen/schemas/enum.d.ts +5 -0
  92. package/dist/core/codegen/schemas/enum.d.ts.map +1 -0
  93. package/dist/core/codegen/schemas/enum.js +33 -0
  94. package/dist/core/codegen/schemas/enum.js.map +1 -0
  95. package/dist/core/codegen/schemas/fallback.d.ts +4 -0
  96. package/dist/core/codegen/schemas/fallback.d.ts.map +1 -0
  97. package/dist/core/codegen/schemas/fallback.js +23 -0
  98. package/dist/core/codegen/schemas/fallback.js.map +1 -0
  99. package/dist/core/codegen/schemas/file.d.ts +5 -0
  100. package/dist/core/codegen/schemas/file.d.ts.map +1 -0
  101. package/dist/core/codegen/schemas/file.js +78 -0
  102. package/dist/core/codegen/schemas/file.js.map +1 -0
  103. package/dist/core/codegen/schemas/intersection.d.ts +7 -0
  104. package/dist/core/codegen/schemas/intersection.d.ts.map +1 -0
  105. package/dist/core/codegen/schemas/intersection.js +13 -0
  106. package/dist/core/codegen/schemas/intersection.js.map +1 -0
  107. package/dist/core/codegen/schemas/literal.d.ts +5 -0
  108. package/dist/core/codegen/schemas/literal.d.ts.map +1 -0
  109. package/dist/core/codegen/schemas/literal.js +31 -0
  110. package/dist/core/codegen/schemas/literal.js.map +1 -0
  111. package/dist/core/codegen/schemas/map.d.ts +7 -0
  112. package/dist/core/codegen/schemas/map.d.ts.map +1 -0
  113. package/dist/core/codegen/schemas/map.js +46 -0
  114. package/dist/core/codegen/schemas/map.js.map +1 -0
  115. package/dist/core/codegen/schemas/nan.d.ts +5 -0
  116. package/dist/core/codegen/schemas/nan.d.ts.map +1 -0
  117. package/dist/core/codegen/schemas/nan.js +13 -0
  118. package/dist/core/codegen/schemas/nan.js.map +1 -0
  119. package/dist/core/codegen/schemas/never.d.ts +5 -0
  120. package/dist/core/codegen/schemas/never.d.ts.map +1 -0
  121. package/dist/core/codegen/schemas/never.js +11 -0
  122. package/dist/core/codegen/schemas/never.js.map +1 -0
  123. package/dist/core/codegen/schemas/null.d.ts +5 -0
  124. package/dist/core/codegen/schemas/null.d.ts.map +1 -0
  125. package/dist/core/codegen/schemas/null.js +13 -0
  126. package/dist/core/codegen/schemas/null.js.map +1 -0
  127. package/dist/core/codegen/schemas/nullable.d.ts +7 -0
  128. package/dist/core/codegen/schemas/nullable.d.ts.map +1 -0
  129. package/dist/core/codegen/schemas/nullable.js +15 -0
  130. package/dist/core/codegen/schemas/nullable.js.map +1 -0
  131. package/dist/core/codegen/schemas/number.d.ts +5 -0
  132. package/dist/core/codegen/schemas/number.d.ts.map +1 -0
  133. package/dist/core/codegen/schemas/number.js +186 -0
  134. package/dist/core/codegen/schemas/number.js.map +1 -0
  135. package/dist/core/codegen/schemas/object.d.ts +7 -0
  136. package/dist/core/codegen/schemas/object.d.ts.map +1 -0
  137. package/dist/core/codegen/schemas/object.js +65 -0
  138. package/dist/core/codegen/schemas/object.js.map +1 -0
  139. package/dist/core/codegen/schemas/optional.d.ts +7 -0
  140. package/dist/core/codegen/schemas/optional.d.ts.map +1 -0
  141. package/dist/core/codegen/schemas/optional.js +15 -0
  142. package/dist/core/codegen/schemas/optional.js.map +1 -0
  143. package/dist/core/codegen/schemas/pipe.d.ts +7 -0
  144. package/dist/core/codegen/schemas/pipe.d.ts.map +1 -0
  145. package/dist/core/codegen/schemas/pipe.js +18 -0
  146. package/dist/core/codegen/schemas/pipe.js.map +1 -0
  147. package/dist/core/codegen/schemas/readonly.d.ts +7 -0
  148. package/dist/core/codegen/schemas/readonly.d.ts.map +1 -0
  149. package/dist/core/codegen/schemas/readonly.js +7 -0
  150. package/dist/core/codegen/schemas/readonly.js.map +1 -0
  151. package/dist/core/codegen/schemas/record.d.ts +7 -0
  152. package/dist/core/codegen/schemas/record.d.ts.map +1 -0
  153. package/dist/core/codegen/schemas/record.js +53 -0
  154. package/dist/core/codegen/schemas/record.js.map +1 -0
  155. package/dist/core/codegen/schemas/recursive-ref.d.ts +5 -0
  156. package/dist/core/codegen/schemas/recursive-ref.d.ts.map +1 -0
  157. package/dist/core/codegen/schemas/recursive-ref.js +24 -0
  158. package/dist/core/codegen/schemas/recursive-ref.js.map +1 -0
  159. package/dist/core/codegen/schemas/set.d.ts +7 -0
  160. package/dist/core/codegen/schemas/set.d.ts.map +1 -0
  161. package/dist/core/codegen/schemas/set.js +88 -0
  162. package/dist/core/codegen/schemas/set.js.map +1 -0
  163. package/dist/core/codegen/schemas/string-bool.d.ts +4 -0
  164. package/dist/core/codegen/schemas/string-bool.d.ts.map +1 -0
  165. package/dist/core/codegen/schemas/string-bool.js +39 -0
  166. package/dist/core/codegen/schemas/string-bool.js.map +1 -0
  167. package/dist/core/codegen/schemas/string.d.ts +5 -0
  168. package/dist/core/codegen/schemas/string.d.ts.map +1 -0
  169. package/dist/core/codegen/schemas/string.js +226 -0
  170. package/dist/core/codegen/schemas/string.js.map +1 -0
  171. package/dist/core/codegen/schemas/symbol.d.ts +5 -0
  172. package/dist/core/codegen/schemas/symbol.d.ts.map +1 -0
  173. package/dist/core/codegen/schemas/symbol.js +13 -0
  174. package/dist/core/codegen/schemas/symbol.js.map +1 -0
  175. package/dist/core/codegen/schemas/template-literal.d.ts +5 -0
  176. package/dist/core/codegen/schemas/template-literal.d.ts.map +1 -0
  177. package/dist/core/codegen/schemas/template-literal.js +16 -0
  178. package/dist/core/codegen/schemas/template-literal.js.map +1 -0
  179. package/dist/core/codegen/schemas/tuple.d.ts +15 -0
  180. package/dist/core/codegen/schemas/tuple.d.ts.map +1 -0
  181. package/dist/core/codegen/schemas/tuple.js +111 -0
  182. package/dist/core/codegen/schemas/tuple.js.map +1 -0
  183. package/dist/core/codegen/schemas/undefined.d.ts +5 -0
  184. package/dist/core/codegen/schemas/undefined.d.ts.map +1 -0
  185. package/dist/core/codegen/schemas/undefined.js +13 -0
  186. package/dist/core/codegen/schemas/undefined.js.map +1 -0
  187. package/dist/core/codegen/schemas/union.d.ts +7 -0
  188. package/dist/core/codegen/schemas/union.d.ts.map +1 -0
  189. package/dist/core/codegen/schemas/union.js +95 -0
  190. package/dist/core/codegen/schemas/union.js.map +1 -0
  191. package/dist/core/codegen/schemas/unknown.d.ts +5 -0
  192. package/dist/core/codegen/schemas/unknown.d.ts.map +1 -0
  193. package/dist/core/codegen/schemas/unknown.js +7 -0
  194. package/dist/core/codegen/schemas/unknown.js.map +1 -0
  195. package/dist/core/codegen/schemas/void.d.ts +5 -0
  196. package/dist/core/codegen/schemas/void.d.ts.map +1 -0
  197. package/dist/core/codegen/schemas/void.js +13 -0
  198. package/dist/core/codegen/schemas/void.js.map +1 -0
  199. package/dist/core/codegen/slow-path.d.ts +5 -0
  200. package/dist/core/codegen/slow-path.d.ts.map +1 -0
  201. package/dist/core/codegen/slow-path.js +113 -0
  202. package/dist/core/codegen/slow-path.js.map +1 -0
  203. package/dist/core/codegen/well-known-regex.d.ts +27 -0
  204. package/dist/core/codegen/well-known-regex.d.ts.map +1 -0
  205. package/dist/core/codegen/well-known-regex.js +51 -0
  206. package/dist/core/codegen/well-known-regex.js.map +1 -0
  207. package/dist/core/compile.d.ts +19 -0
  208. package/dist/core/compile.d.ts.map +1 -0
  209. package/dist/core/compile.js +37 -0
  210. package/dist/core/compile.js.map +1 -0
  211. package/dist/core/diagnostic.d.ts +46 -0
  212. package/dist/core/diagnostic.d.ts.map +1 -0
  213. package/dist/core/diagnostic.js +174 -0
  214. package/dist/core/diagnostic.js.map +1 -0
  215. package/dist/core/extract/checks.d.ts +35 -0
  216. package/dist/core/extract/checks.d.ts.map +1 -0
  217. package/dist/core/extract/checks.js +249 -0
  218. package/dist/core/extract/checks.js.map +1 -0
  219. package/dist/core/extract/effects.d.ts +12 -0
  220. package/dist/core/extract/effects.d.ts.map +1 -0
  221. package/dist/core/extract/effects.js +204 -0
  222. package/dist/core/extract/effects.js.map +1 -0
  223. package/dist/core/extract/extractors/any.d.ts +3 -0
  224. package/dist/core/extract/extractors/any.d.ts.map +1 -0
  225. package/dist/core/extract/extractors/any.js +2 -0
  226. package/dist/core/extract/extractors/any.js.map +1 -0
  227. package/dist/core/extract/extractors/array.d.ts +4 -0
  228. package/dist/core/extract/extractors/array.d.ts.map +1 -0
  229. package/dist/core/extract/extractors/array.js +19 -0
  230. package/dist/core/extract/extractors/array.js.map +1 -0
  231. package/dist/core/extract/extractors/bigint.d.ts +4 -0
  232. package/dist/core/extract/extractors/bigint.d.ts.map +1 -0
  233. package/dist/core/extract/extractors/bigint.js +70 -0
  234. package/dist/core/extract/extractors/bigint.js.map +1 -0
  235. package/dist/core/extract/extractors/boolean.d.ts +3 -0
  236. package/dist/core/extract/extractors/boolean.d.ts.map +1 -0
  237. package/dist/core/extract/extractors/boolean.js +5 -0
  238. package/dist/core/extract/extractors/boolean.js.map +1 -0
  239. package/dist/core/extract/extractors/catch.d.ts +11 -0
  240. package/dist/core/extract/extractors/catch.d.ts.map +1 -0
  241. package/dist/core/extract/extractors/catch.js +20 -0
  242. package/dist/core/extract/extractors/catch.js.map +1 -0
  243. package/dist/core/extract/extractors/date.d.ts +4 -0
  244. package/dist/core/extract/extractors/date.d.ts.map +1 -0
  245. package/dist/core/extract/extractors/date.js +49 -0
  246. package/dist/core/extract/extractors/date.js.map +1 -0
  247. package/dist/core/extract/extractors/default.d.ts +4 -0
  248. package/dist/core/extract/extractors/default.d.ts.map +1 -0
  249. package/dist/core/extract/extractors/default.js +11 -0
  250. package/dist/core/extract/extractors/default.js.map +1 -0
  251. package/dist/core/extract/extractors/enum.d.ts +3 -0
  252. package/dist/core/extract/extractors/enum.d.ts.map +1 -0
  253. package/dist/core/extract/extractors/enum.js +15 -0
  254. package/dist/core/extract/extractors/enum.js.map +1 -0
  255. package/dist/core/extract/extractors/file.d.ts +4 -0
  256. package/dist/core/extract/extractors/file.d.ts.map +1 -0
  257. package/dist/core/extract/extractors/file.js +24 -0
  258. package/dist/core/extract/extractors/file.js.map +1 -0
  259. package/dist/core/extract/extractors/index.d.ts +32 -0
  260. package/dist/core/extract/extractors/index.d.ts.map +1 -0
  261. package/dist/core/extract/extractors/index.js +32 -0
  262. package/dist/core/extract/extractors/index.js.map +1 -0
  263. package/dist/core/extract/extractors/intersection.d.ts +3 -0
  264. package/dist/core/extract/extractors/intersection.d.ts.map +1 -0
  265. package/dist/core/extract/extractors/intersection.js +14 -0
  266. package/dist/core/extract/extractors/intersection.js.map +1 -0
  267. package/dist/core/extract/extractors/lazy.d.ts +4 -0
  268. package/dist/core/extract/extractors/lazy.d.ts.map +1 -0
  269. package/dist/core/extract/extractors/lazy.js +23 -0
  270. package/dist/core/extract/extractors/lazy.js.map +1 -0
  271. package/dist/core/extract/extractors/literal.d.ts +3 -0
  272. package/dist/core/extract/extractors/literal.d.ts.map +1 -0
  273. package/dist/core/extract/extractors/literal.js +2 -0
  274. package/dist/core/extract/extractors/literal.js.map +1 -0
  275. package/dist/core/extract/extractors/map.d.ts +4 -0
  276. package/dist/core/extract/extractors/map.d.ts.map +1 -0
  277. package/dist/core/extract/extractors/map.js +6 -0
  278. package/dist/core/extract/extractors/map.js.map +1 -0
  279. package/dist/core/extract/extractors/nan.d.ts +3 -0
  280. package/dist/core/extract/extractors/nan.d.ts.map +1 -0
  281. package/dist/core/extract/extractors/nan.js +2 -0
  282. package/dist/core/extract/extractors/nan.js.map +1 -0
  283. package/dist/core/extract/extractors/never.d.ts +3 -0
  284. package/dist/core/extract/extractors/never.d.ts.map +1 -0
  285. package/dist/core/extract/extractors/never.js +2 -0
  286. package/dist/core/extract/extractors/never.js.map +1 -0
  287. package/dist/core/extract/extractors/null.d.ts +3 -0
  288. package/dist/core/extract/extractors/null.d.ts.map +1 -0
  289. package/dist/core/extract/extractors/null.js +2 -0
  290. package/dist/core/extract/extractors/null.js.map +1 -0
  291. package/dist/core/extract/extractors/nullable.d.ts +3 -0
  292. package/dist/core/extract/extractors/nullable.d.ts.map +1 -0
  293. package/dist/core/extract/extractors/nullable.js +5 -0
  294. package/dist/core/extract/extractors/nullable.js.map +1 -0
  295. package/dist/core/extract/extractors/number.d.ts +4 -0
  296. package/dist/core/extract/extractors/number.d.ts.map +1 -0
  297. package/dist/core/extract/extractors/number.js +38 -0
  298. package/dist/core/extract/extractors/number.js.map +1 -0
  299. package/dist/core/extract/extractors/object.d.ts +4 -0
  300. package/dist/core/extract/extractors/object.d.ts.map +1 -0
  301. package/dist/core/extract/extractors/object.js +43 -0
  302. package/dist/core/extract/extractors/object.js.map +1 -0
  303. package/dist/core/extract/extractors/optional.d.ts +3 -0
  304. package/dist/core/extract/extractors/optional.d.ts.map +1 -0
  305. package/dist/core/extract/extractors/optional.js +14 -0
  306. package/dist/core/extract/extractors/optional.js.map +1 -0
  307. package/dist/core/extract/extractors/pipe.d.ts +4 -0
  308. package/dist/core/extract/extractors/pipe.d.ts.map +1 -0
  309. package/dist/core/extract/extractors/pipe.js +31 -0
  310. package/dist/core/extract/extractors/pipe.js.map +1 -0
  311. package/dist/core/extract/extractors/readonly.d.ts +9 -0
  312. package/dist/core/extract/extractors/readonly.d.ts.map +1 -0
  313. package/dist/core/extract/extractors/readonly.js +8 -0
  314. package/dist/core/extract/extractors/readonly.js.map +1 -0
  315. package/dist/core/extract/extractors/record.d.ts +4 -0
  316. package/dist/core/extract/extractors/record.d.ts.map +1 -0
  317. package/dist/core/extract/extractors/record.js +39 -0
  318. package/dist/core/extract/extractors/record.js.map +1 -0
  319. package/dist/core/extract/extractors/set.d.ts +4 -0
  320. package/dist/core/extract/extractors/set.d.ts.map +1 -0
  321. package/dist/core/extract/extractors/set.js +33 -0
  322. package/dist/core/extract/extractors/set.js.map +1 -0
  323. package/dist/core/extract/extractors/string-bool.d.ts +10 -0
  324. package/dist/core/extract/extractors/string-bool.d.ts.map +1 -0
  325. package/dist/core/extract/extractors/string-bool.js +92 -0
  326. package/dist/core/extract/extractors/string-bool.js.map +1 -0
  327. package/dist/core/extract/extractors/string.d.ts +4 -0
  328. package/dist/core/extract/extractors/string.d.ts.map +1 -0
  329. package/dist/core/extract/extractors/string.js +41 -0
  330. package/dist/core/extract/extractors/string.js.map +1 -0
  331. package/dist/core/extract/extractors/symbol.d.ts +3 -0
  332. package/dist/core/extract/extractors/symbol.d.ts.map +1 -0
  333. package/dist/core/extract/extractors/symbol.js +2 -0
  334. package/dist/core/extract/extractors/symbol.js.map +1 -0
  335. package/dist/core/extract/extractors/template-literal.d.ts +4 -0
  336. package/dist/core/extract/extractors/template-literal.d.ts.map +1 -0
  337. package/dist/core/extract/extractors/template-literal.js +8 -0
  338. package/dist/core/extract/extractors/template-literal.js.map +1 -0
  339. package/dist/core/extract/extractors/tuple.d.ts +4 -0
  340. package/dist/core/extract/extractors/tuple.d.ts.map +1 -0
  341. package/dist/core/extract/extractors/tuple.js +6 -0
  342. package/dist/core/extract/extractors/tuple.js.map +1 -0
  343. package/dist/core/extract/extractors/undefined.d.ts +3 -0
  344. package/dist/core/extract/extractors/undefined.d.ts.map +1 -0
  345. package/dist/core/extract/extractors/undefined.js +2 -0
  346. package/dist/core/extract/extractors/undefined.js.map +1 -0
  347. package/dist/core/extract/extractors/union.d.ts +4 -0
  348. package/dist/core/extract/extractors/union.d.ts.map +1 -0
  349. package/dist/core/extract/extractors/union.js +44 -0
  350. package/dist/core/extract/extractors/union.js.map +1 -0
  351. package/dist/core/extract/extractors/unknown.d.ts +3 -0
  352. package/dist/core/extract/extractors/unknown.d.ts.map +1 -0
  353. package/dist/core/extract/extractors/unknown.js +2 -0
  354. package/dist/core/extract/extractors/unknown.js.map +1 -0
  355. package/dist/core/extract/extractors/void.d.ts +3 -0
  356. package/dist/core/extract/extractors/void.d.ts.map +1 -0
  357. package/dist/core/extract/extractors/void.js +2 -0
  358. package/dist/core/extract/extractors/void.js.map +1 -0
  359. package/dist/core/extract/fallback.d.ts +4 -0
  360. package/dist/core/extract/fallback.d.ts.map +1 -0
  361. package/dist/core/extract/fallback.js +9 -0
  362. package/dist/core/extract/fallback.js.map +1 -0
  363. package/dist/core/extract/index.d.ts +11 -0
  364. package/dist/core/extract/index.d.ts.map +1 -0
  365. package/dist/core/extract/index.js +11 -0
  366. package/dist/core/extract/index.js.map +1 -0
  367. package/dist/core/extract/registry.d.ts +59 -0
  368. package/dist/core/extract/registry.d.ts.map +1 -0
  369. package/dist/core/extract/registry.js +152 -0
  370. package/dist/core/extract/registry.js.map +1 -0
  371. package/dist/core/extract/types.d.ts +114 -0
  372. package/dist/core/extract/types.d.ts.map +1 -0
  373. package/dist/core/extract/types.js +2 -0
  374. package/dist/core/extract/types.js.map +1 -0
  375. package/dist/core/iife.d.ts +38 -0
  376. package/dist/core/iife.d.ts.map +1 -0
  377. package/dist/core/iife.js +59 -0
  378. package/dist/core/iife.js.map +1 -0
  379. package/dist/core/pipeline.d.ts +26 -0
  380. package/dist/core/pipeline.d.ts.map +1 -0
  381. package/dist/core/pipeline.js +42 -0
  382. package/dist/core/pipeline.js.map +1 -0
  383. package/dist/core/types.d.ts +352 -0
  384. package/dist/core/types.d.ts.map +1 -0
  385. package/dist/core/types.js +6 -0
  386. package/dist/core/types.js.map +1 -0
  387. package/dist/discovery.d.ts +15 -0
  388. package/dist/discovery.d.ts.map +1 -0
  389. package/dist/discovery.js +40 -0
  390. package/dist/discovery.js.map +1 -0
  391. package/dist/index.d.ts +4 -670
  392. package/dist/index.d.ts.map +1 -0
  393. package/dist/index.js +2 -2550
  394. package/dist/index.js.map +1 -0
  395. package/dist/loader.d.ts +12 -0
  396. package/dist/loader.d.ts.map +1 -0
  397. package/dist/loader.js +76 -0
  398. package/dist/loader.js.map +1 -0
  399. package/dist/unplugin/bun.d.ts +3 -0
  400. package/dist/unplugin/bun.d.ts.map +1 -0
  401. package/dist/unplugin/bun.js +3 -0
  402. package/dist/unplugin/bun.js.map +1 -0
  403. package/dist/unplugin/esbuild.d.ts +3 -0
  404. package/dist/unplugin/esbuild.d.ts.map +1 -0
  405. package/dist/unplugin/esbuild.js +3 -0
  406. package/dist/unplugin/esbuild.js.map +1 -0
  407. package/dist/unplugin/farm.d.ts +3 -0
  408. package/dist/unplugin/farm.d.ts.map +1 -0
  409. package/dist/unplugin/farm.js +3 -0
  410. package/dist/unplugin/farm.js.map +1 -0
  411. package/dist/unplugin/index.d.ts +4 -0
  412. package/dist/unplugin/index.d.ts.map +1 -0
  413. package/dist/unplugin/index.js +75 -0
  414. package/dist/unplugin/index.js.map +1 -0
  415. package/dist/unplugin/rolldown.d.ts +3 -0
  416. package/dist/unplugin/rolldown.d.ts.map +1 -0
  417. package/dist/unplugin/rolldown.js +3 -0
  418. package/dist/unplugin/rolldown.js.map +1 -0
  419. package/dist/unplugin/rollup.d.ts +3 -0
  420. package/dist/unplugin/rollup.d.ts.map +1 -0
  421. package/dist/unplugin/rollup.js +3 -0
  422. package/dist/unplugin/rollup.js.map +1 -0
  423. package/dist/unplugin/rspack.d.ts +3 -0
  424. package/dist/unplugin/rspack.d.ts.map +1 -0
  425. package/dist/unplugin/rspack.js +3 -0
  426. package/dist/unplugin/rspack.js.map +1 -0
  427. package/dist/unplugin/transform.d.ts +36 -0
  428. package/dist/unplugin/transform.d.ts.map +1 -0
  429. package/dist/unplugin/transform.js +285 -0
  430. package/dist/unplugin/transform.js.map +1 -0
  431. package/dist/unplugin/types.d.ts +54 -0
  432. package/dist/unplugin/types.d.ts.map +1 -0
  433. package/dist/unplugin/types.js +19 -0
  434. package/dist/unplugin/types.js.map +1 -0
  435. package/dist/unplugin/virtual.d.ts +24 -0
  436. package/dist/unplugin/virtual.d.ts.map +1 -0
  437. package/dist/unplugin/virtual.js +62 -0
  438. package/dist/unplugin/virtual.js.map +1 -0
  439. package/dist/unplugin/vite.d.ts +3 -0
  440. package/dist/unplugin/vite.d.ts.map +1 -0
  441. package/dist/unplugin/vite.js +3 -0
  442. package/dist/unplugin/vite.js.map +1 -0
  443. package/dist/unplugin/webpack.d.ts +3 -0
  444. package/dist/unplugin/webpack.d.ts.map +1 -0
  445. package/dist/unplugin/webpack.js +3 -0
  446. package/dist/unplugin/webpack.js.map +1 -0
  447. package/package.json +110 -51
  448. package/dist/index.mjs +0 -2536
  449. package/dist/standalone.d.ts +0 -294
  450. package/dist/standalone.js +0 -523
  451. package/dist/standalone.mjs +0 -514
@@ -0,0 +1,114 @@
1
+ export interface ZodCheckDef {
2
+ check: string;
3
+ type: string;
4
+ format: string;
5
+ pattern: RegExp | string;
6
+ minimum: number;
7
+ maximum: number;
8
+ length: number;
9
+ size: number;
10
+ value: number;
11
+ inclusive: boolean;
12
+ includes: string;
13
+ position: number;
14
+ prefix: string;
15
+ suffix: string;
16
+ fn: unknown;
17
+ /** $ZodCheckOverwrite transform function (.trim(), .toLowerCase(), ...). */
18
+ tx?: unknown;
19
+ /** Runtime predicate gating check execution — forces fallback when present. */
20
+ when?: unknown;
21
+ /** abort:true stops later checks and marks union options aborted — forces fallback. */
22
+ abort?: boolean;
23
+ mime: string[];
24
+ /** url-only constraints (z.httpUrl()). */
25
+ hostname?: RegExp;
26
+ protocol?: RegExp;
27
+ normalize?: boolean;
28
+ error?: unknown;
29
+ }
30
+ export interface ZodCheckSchema {
31
+ _zod?: {
32
+ def: ZodCheckDef;
33
+ };
34
+ }
35
+ export interface ZodDef {
36
+ type: string;
37
+ checks: ZodCheckSchema[];
38
+ check: string;
39
+ format: string;
40
+ pattern: RegExp | string;
41
+ /** Schema-level custom error (z.string({ error: "..." })). */
42
+ error?: unknown;
43
+ /** Unknown-key policy schema (z.strictObject → never, z.looseObject → unknown). */
44
+ catchall?: ZodSchema;
45
+ shape: Record<string, ZodSchema>;
46
+ element: ZodSchema;
47
+ options: ZodSchema[];
48
+ innerType: ZodSchema;
49
+ values: (string | number | boolean | null | bigint | undefined)[];
50
+ entries: Record<string, string>;
51
+ in: ZodSchema;
52
+ out: ZodSchema;
53
+ items: ZodSchema[];
54
+ rest: ZodSchema | null;
55
+ keyType: ZodSchema;
56
+ valueType: ZodSchema;
57
+ left: ZodSchema;
58
+ right: ZodSchema;
59
+ discriminator: string;
60
+ /** false on z.xor() unions (exactly-one-match semantics). */
61
+ inclusive?: boolean;
62
+ defaultValue: unknown;
63
+ coerce?: boolean;
64
+ catchValue?: (ctx: unknown) => unknown;
65
+ /** Transform function reference (present when type is "transform", and on Codec pipes). */
66
+ transform?: unknown;
67
+ /** Reverse transform (present on Codec schemas like stringbool). */
68
+ reverseTransform?: unknown;
69
+ }
70
+ export interface ZodSchema {
71
+ _zod: {
72
+ def: ZodDef;
73
+ bag?: Record<string, unknown>;
74
+ /** Resolved inner type for lazy schemas. */
75
+ innerType?: ZodSchema;
76
+ /** Pre-compiled pattern for templateLiteral schemas. */
77
+ pattern?: RegExp;
78
+ /** Finite value set (enum/literal keys) — drives exhaustive-key records. */
79
+ values?: Set<unknown>;
80
+ /** Class trait names from zod's $constructor (e.g. "$ZodExactOptional"). */
81
+ traits?: Set<string>;
82
+ /** "optional" when the key may be absent in object output (zod optout). */
83
+ optout?: string;
84
+ /** Discriminator dispatch values per property key (discriminated unions). */
85
+ propValues?: Record<string, Set<unknown> | undefined>;
86
+ };
87
+ }
88
+ /** Entry collected during extraction for each fallback sub-schema. */
89
+ export interface RefEntry {
90
+ /** Runtime reference to the Zod sub-schema. */
91
+ schema: unknown;
92
+ /** Navigation path from root schema, e.g. '.shape["slug"]' */
93
+ accessPath: string;
94
+ }
95
+ /** All Zod v4 def.type values that zod-compiler supports. */
96
+ export type SupportedZodDefType = "boolean" | "null" | "undefined" | "any" | "unknown" | "symbol" | "void" | "nan" | "never" | "literal" | "enum" | "optional" | "nullable" | "readonly" | "intersection" | "string" | "number" | "bigint" | "date" | "object" | "array" | "tuple" | "record" | "set" | "map" | "union" | "default" | "pipe" | "lazy" | "catch" | "template_literal" | "file";
97
+ /** Context object for extractor functions. Unifies the varied parameter patterns. */
98
+ export interface ExtractorContext {
99
+ /** Raw Zod schema reference (for fallback entries and schema._zod access). */
100
+ readonly schema: unknown;
101
+ /** Navigation path from root, e.g. '._zod.def.innerType' */
102
+ readonly path: string;
103
+ /** Fallback entries collector (undefined if partial fallback disabled). */
104
+ readonly refs: RefEntry[] | undefined;
105
+ /** Cycle detection set for lazy resolution. */
106
+ readonly visiting: Set<unknown>;
107
+ /** Recursively extract a child schema. Manages visiting set automatically. */
108
+ visit(childSchema: unknown, pathSuffix?: string): import("../types.js").SchemaIR;
109
+ /** Create a fallback entry for non-compilable sub-schemas. */
110
+ fallback(reason: import("../types.js").FallbackIR["reason"]): import("../types.js").FallbackIR;
111
+ }
112
+ /** Extractor function signature — registered in extractRegistry. */
113
+ export type Extractor = (def: ZodDef, ctx: ExtractorContext) => import("../types.js").SchemaIR;
114
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/extract/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/extract/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Shared CompiledSchema<T> IIFE generation.
3
+ * Used by both CLI emitter and unplugin transform.
4
+ */
5
+ import type { CompiledSchemaInfo } from "./pipeline.js";
6
+ /** Import statement required by generateIIFE output (references __zodCompilerConfig). */
7
+ export declare const ZOD_CONFIG_IMPORT = "import { config as __zodCompilerConfig, ZodRealError as __ZodError } from \"zod\";";
8
+ /** File-level __msg declaration (must appear once after ZOD_CONFIG_IMPORT). */
9
+ export declare const ZOD_MSG_DECLARATION = "var __msg=__zodCompilerConfig().localeError;";
10
+ /**
11
+ * File-level finalization helper (must appear once per compiled file).
12
+ * Processes issues (adds messages, strips input) and returns SafeParseResult.
13
+ * Each generated safeParse function calls __fin(_e, _d) instead of inlining this logic.
14
+ *
15
+ * The locale default (__msg) is applied ONLY when an issue carries no message,
16
+ * mirroring Zod's precedence: check/schema-level custom messages baked into
17
+ * generated issues — and messages on issues copied from fallback sub-schemas —
18
+ * must never be overwritten by the locale map.
19
+ */
20
+ export declare const FIN_DECL = "function __fin(e,d){for(var i=0;i<e.length;i++){if(e[i].message===undefined&&typeof __msg===\"function\")e[i].message=__msg(e[i]);e[i].input=undefined;}return e.length?{success:false,error:new __ZodError(e)}:{success:true,data:d};}";
21
+ /**
22
+ * File-level validator factory (must appear once per compiled file).
23
+ * Wraps a safeParse function into the CompiledSchema interface.
24
+ * schema=null produces a plain object; schema=ZodSchema uses Object.create.
25
+ */
26
+ export declare const MK_VALIDATOR_DECL = "function __mkv(fn,schema){var w=schema?Object.create(schema):{};w.parse=function(input){var r=fn(input);if(r.success)return r.data;throw r.error;};w.safeParse=fn;w.safeParseAsync=function(input){return Promise.resolve(fn(input));};w.parseAsync=function(input){var r=fn(input);if(r.success)return Promise.resolve(r.data);return Promise.reject(r.error);};return w;}";
27
+ /**
28
+ * Generate a `/* @__PURE__ * /` IIFE wrapping a compiled validator.
29
+ *
30
+ * @param schemaExpr - Expression resolving to the original Zod schema
31
+ * (e.g. `"UserSchema"` in unplugin, `"(__src_X as any).schema"` in CLI)
32
+ * @param schema
33
+ * @param options
34
+ */
35
+ export declare function generateIIFE(schemaExpr: string, schema: CompiledSchemaInfo, options?: {
36
+ zodCompat?: boolean | undefined;
37
+ }): string;
38
+ //# sourceMappingURL=iife.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iife.d.ts","sourceRoot":"","sources":["../../src/core/iife.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,yFAAyF;AACzF,eAAO,MAAM,iBAAiB,uFACsD,CAAC;AAErF,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,iDAAiD,CAAC;AAElF;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,4OACoN,CAAC;AAE1O;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,gXACiV,CAAC;AAUhX;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,kBAAkB,EAC1B,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAAE,GAC5C,MAAM,CAkBR"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Shared CompiledSchema<T> IIFE generation.
3
+ * Used by both CLI emitter and unplugin transform.
4
+ */
5
+ /** Import statement required by generateIIFE output (references __zodCompilerConfig). */
6
+ export const ZOD_CONFIG_IMPORT = 'import { config as __zodCompilerConfig, ZodRealError as __ZodError } from "zod";';
7
+ /** File-level __msg declaration (must appear once after ZOD_CONFIG_IMPORT). */
8
+ export const ZOD_MSG_DECLARATION = "var __msg=__zodCompilerConfig().localeError;";
9
+ /**
10
+ * File-level finalization helper (must appear once per compiled file).
11
+ * Processes issues (adds messages, strips input) and returns SafeParseResult.
12
+ * Each generated safeParse function calls __fin(_e, _d) instead of inlining this logic.
13
+ *
14
+ * The locale default (__msg) is applied ONLY when an issue carries no message,
15
+ * mirroring Zod's precedence: check/schema-level custom messages baked into
16
+ * generated issues — and messages on issues copied from fallback sub-schemas —
17
+ * must never be overwritten by the locale map.
18
+ */
19
+ export const FIN_DECL = 'function __fin(e,d){for(var i=0;i<e.length;i++){if(e[i].message===undefined&&typeof __msg==="function")e[i].message=__msg(e[i]);e[i].input=undefined;}return e.length?{success:false,error:new __ZodError(e)}:{success:true,data:d};}';
20
+ /**
21
+ * File-level validator factory (must appear once per compiled file).
22
+ * Wraps a safeParse function into the CompiledSchema interface.
23
+ * schema=null produces a plain object; schema=ZodSchema uses Object.create.
24
+ */
25
+ export const MK_VALIDATOR_DECL = "function __mkv(fn,schema){var w=schema?Object.create(schema):{};w.parse=function(input){var r=fn(input);if(r.success)return r.data;throw r.error;};w.safeParse=fn;w.safeParseAsync=function(input){return Promise.resolve(fn(input));};w.parseAsync=function(input){var r=fn(input);if(r.success)return Promise.resolve(r.data);return Promise.reject(r.error);};return w;}";
26
+ function extractFunctionName(functionDef) {
27
+ const match = /^function\s+(\w+)\s*\(/.exec(functionDef);
28
+ if (!match?.[1]) {
29
+ throw new Error("Cannot extract function name from generated code");
30
+ }
31
+ return match[1];
32
+ }
33
+ /**
34
+ * Generate a `/* @__PURE__ * /` IIFE wrapping a compiled validator.
35
+ *
36
+ * @param schemaExpr - Expression resolving to the original Zod schema
37
+ * (e.g. `"UserSchema"` in unplugin, `"(__src_X as any).schema"` in CLI)
38
+ * @param schema
39
+ * @param options
40
+ */
41
+ export function generateIIFE(schemaExpr, schema, options) {
42
+ const { codegenResult, refEntries } = schema;
43
+ const fnName = extractFunctionName(codegenResult.functionDef);
44
+ const zodCompat = options?.zodCompat !== false;
45
+ const schemaArg = zodCompat ? schemaExpr : "null";
46
+ return [
47
+ "/* @__PURE__ */ (() => {",
48
+ ...(refEntries.length > 0
49
+ ? [`var __rf=[${refEntries.map((fb) => `${schemaExpr}${fb.accessPath}`).join(",")}];`]
50
+ : []),
51
+ ...codegenResult.code
52
+ .split("\n")
53
+ .filter((l) => l.trim() !== "" && l.trim() !== "/* zod-compiler */"),
54
+ codegenResult.functionDef,
55
+ `return __mkv(${fnName},${schemaArg});`,
56
+ "})()",
57
+ ].join("\n");
58
+ }
59
+ //# sourceMappingURL=iife.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iife.js","sourceRoot":"","sources":["../../src/core/iife.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,yFAAyF;AACzF,MAAM,CAAC,MAAM,iBAAiB,GAC5B,kFAAkF,CAAC;AAErF,+EAA+E;AAC/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,8CAA8C,CAAC;AAElF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,QAAQ,GACnB,uOAAuO,CAAC;AAE1O;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAC5B,6WAA6W,CAAC;AAEhX,SAAS,mBAAmB,CAAC,WAAmB;IAC9C,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzD,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC1B,UAAkB,EAClB,MAA0B,EAC1B,OAA6C;IAE7C,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAC7C,MAAM,MAAM,GAAG,mBAAmB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,KAAK,KAAK,CAAC;IAC/C,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;IAElD,OAAO;QACL,0BAA0B;QAC1B,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;YACvB,CAAC,CAAC,CAAC,aAAa,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,UAAU,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YACtF,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,aAAa,CAAC,IAAI;aAClB,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,oBAAoB,CAAC;QACtE,aAAa,CAAC,WAAW;QACzB,gBAAgB,MAAM,IAAI,SAAS,IAAI;QACvC,MAAM;KACP,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
@@ -0,0 +1,26 @@
1
+ import type { CodeGenResult, CodegenMode } from "./codegen/context.js";
2
+ import type { RefEntry } from "./extract/index.js";
3
+ import type { DiscoveredSchema } from "./types.js";
4
+ /** Result of compiling a single discovered schema through extract → generate pipeline. */
5
+ export interface CompiledSchemaInfo {
6
+ exportName: string;
7
+ codegenResult: CodeGenResult;
8
+ refEntries: RefEntry[];
9
+ }
10
+ export interface CompileSchemasOptions {
11
+ /** "inline" for CLI .compiled.ts; "lean" for unplugin (imports from virtual:zod-compiler/runtime). */
12
+ mode: CodegenMode;
13
+ /** When provided, per-schema failures call this and continue. Otherwise the first error throws. */
14
+ onError?: (exportName: string, error: Error) => void;
15
+ }
16
+ /**
17
+ * Run the extract → generate pipeline for each discovered schema.
18
+ * Shared by CLI generate and unplugin transform.
19
+ */
20
+ export declare function compileSchemas(schemas: DiscoveredSchema[], options: CompileSchemasOptions): CompiledSchemaInfo[];
21
+ /**
22
+ * Aggregate `usedHelpers` across multiple compiled schemas (typically all schemas in one file).
23
+ * Used by the unplugin transform to construct a single import statement per file.
24
+ */
25
+ export declare function aggregateUsedHelpers(schemas: CompiledSchemaInfo[]): Set<string>;
26
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/core/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,0FAA0F;AAC1F,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,sGAAsG;IACtG,IAAI,EAAE,WAAW,CAAC;IAClB,mGAAmG;IACnG,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACtD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,gBAAgB,EAAE,EAC3B,OAAO,EAAE,qBAAqB,GAC7B,kBAAkB,EAAE,CAsBtB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAM/E"}
@@ -0,0 +1,42 @@
1
+ import { generateValidator } from "./codegen/index.js";
2
+ import { extractSchema } from "./extract/index.js";
3
+ /**
4
+ * Run the extract → generate pipeline for each discovered schema.
5
+ * Shared by CLI generate and unplugin transform.
6
+ */
7
+ export function compileSchemas(schemas, options) {
8
+ const results = [];
9
+ for (const s of schemas) {
10
+ try {
11
+ const refEntries = [];
12
+ const ir = extractSchema(s.schema, refEntries);
13
+ const codegenResult = generateValidator(ir, s.exportName, {
14
+ refCount: refEntries.length,
15
+ mode: options.mode,
16
+ });
17
+ results.push({ exportName: s.exportName, codegenResult, refEntries });
18
+ }
19
+ catch (err) {
20
+ if (options.onError) {
21
+ options.onError(s.exportName, err instanceof Error ? err : new Error(String(err)));
22
+ }
23
+ else {
24
+ throw err;
25
+ }
26
+ }
27
+ }
28
+ return results;
29
+ }
30
+ /**
31
+ * Aggregate `usedHelpers` across multiple compiled schemas (typically all schemas in one file).
32
+ * Used by the unplugin transform to construct a single import statement per file.
33
+ */
34
+ export function aggregateUsedHelpers(schemas) {
35
+ const all = new Set();
36
+ for (const s of schemas) {
37
+ for (const h of s.codegenResult.usedHelpers)
38
+ all.add(h);
39
+ }
40
+ return all;
41
+ }
42
+ //# sourceMappingURL=pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/core/pipeline.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAiBnD;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,OAA2B,EAC3B,OAA8B;IAE9B,MAAM,OAAO,GAAyB,EAAE,CAAC;IAEzC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,UAAU,GAAe,EAAE,CAAC;YAClC,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC/C,MAAM,aAAa,GAAG,iBAAiB,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE;gBACxD,QAAQ,EAAE,UAAU,CAAC,MAAM;gBAC3B,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACrF,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA6B;IAChE,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,WAAW;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,352 @@
1
+ /**
2
+ * SchemaIR — Intermediate representation for Zod schemas.
3
+ * Extracted from Zod's `_zod.def` and `_zod.bag` at build time.
4
+ */
5
+ /** Shared base: static custom error message extracted from the check's `error` param. */
6
+ export interface CheckBase {
7
+ /** Static message from e.g. `.min(3, "too short")`. Dynamic error maps force fallback. */
8
+ message?: string;
9
+ }
10
+ export interface CheckMinLength extends CheckBase {
11
+ kind: "min_length";
12
+ minimum: number;
13
+ }
14
+ export interface CheckMaxLength extends CheckBase {
15
+ kind: "max_length";
16
+ maximum: number;
17
+ }
18
+ export interface CheckLengthEquals extends CheckBase {
19
+ kind: "length_equals";
20
+ length: number;
21
+ }
22
+ export interface CheckGreaterThan extends CheckBase {
23
+ kind: "greater_than";
24
+ value: number;
25
+ inclusive: boolean;
26
+ }
27
+ export interface CheckLessThan extends CheckBase {
28
+ kind: "less_than";
29
+ value: number;
30
+ inclusive: boolean;
31
+ }
32
+ export interface CheckMultipleOf extends CheckBase {
33
+ kind: "multiple_of";
34
+ value: number;
35
+ }
36
+ export interface CheckNumberFormat extends CheckBase {
37
+ kind: "number_format";
38
+ format: "safeint" | "int32" | "uint32" | "float32" | "float64";
39
+ }
40
+ export interface CheckStringFormat extends CheckBase {
41
+ kind: "string_format";
42
+ format: string;
43
+ pattern?: string;
44
+ /** RegExp flags of the source pattern (e.g. "u" for z.emoji()). */
45
+ patternFlags?: string;
46
+ /** url-only: hostname constraint regex source (z.httpUrl()). */
47
+ hostname?: string;
48
+ hostnameFlags?: string;
49
+ /** url-only: protocol constraint regex source (z.httpUrl()). */
50
+ protocol?: string;
51
+ protocolFlags?: string;
52
+ /** url-only: output url.href instead of the trimmed input. */
53
+ normalize?: boolean;
54
+ }
55
+ export interface CheckIncludes extends CheckBase {
56
+ kind: "includes";
57
+ includes: string;
58
+ position?: number;
59
+ }
60
+ export interface CheckStartsWith extends CheckBase {
61
+ kind: "starts_with";
62
+ prefix: string;
63
+ }
64
+ export interface CheckEndsWith extends CheckBase {
65
+ kind: "ends_with";
66
+ suffix: string;
67
+ }
68
+ export type CheckIR = CheckMinLength | CheckMaxLength | CheckLengthEquals | CheckGreaterThan | CheckLessThan | CheckMultipleOf | CheckNumberFormat | CheckStringFormat | CheckIncludes | CheckStartsWith | CheckEndsWith;
69
+ export interface RefineEffectCheckIR {
70
+ kind: "refine_effect";
71
+ /** fn.toString() result, e.g. "v => v.includes('@')" */
72
+ source: string;
73
+ /** Custom error message from .refine(fn, "message") or .refine(fn, { message }) */
74
+ message?: string;
75
+ }
76
+ /**
77
+ * Value-rewriting check compiled from a $ZodCheckOverwrite (.trim(), .toLowerCase(), ...).
78
+ * Applied at its original position: `value = (source)(value)`. Never produces issues.
79
+ */
80
+ export interface OverwriteEffectCheckIR {
81
+ kind: "overwrite_effect";
82
+ /** fn.toString() of the overwrite transform, e.g. "(input) => input.trim()" */
83
+ source: string;
84
+ }
85
+ /** A check entry that may be a compiled check or an inline effect. */
86
+ export type CheckOrEffectIR = CheckIR | RefineEffectCheckIR | OverwriteEffectCheckIR;
87
+ export interface CheckDateGreaterThan extends CheckBase {
88
+ kind: "date_greater_than";
89
+ value: string;
90
+ timestamp: number;
91
+ inclusive: boolean;
92
+ }
93
+ export interface CheckDateLessThan extends CheckBase {
94
+ kind: "date_less_than";
95
+ value: string;
96
+ timestamp: number;
97
+ inclusive: boolean;
98
+ }
99
+ export type DateCheckIR = CheckDateGreaterThan | CheckDateLessThan;
100
+ export interface CheckBigIntGreaterThan extends CheckBase {
101
+ kind: "bigint_greater_than";
102
+ /** String representation of the BigInt value (e.g. "10") */
103
+ value: string;
104
+ inclusive: boolean;
105
+ }
106
+ export interface CheckBigIntLessThan extends CheckBase {
107
+ kind: "bigint_less_than";
108
+ /** String representation of the BigInt value (e.g. "100") */
109
+ value: string;
110
+ inclusive: boolean;
111
+ }
112
+ export interface CheckBigIntMultipleOf extends CheckBase {
113
+ kind: "bigint_multiple_of";
114
+ /** String representation of the BigInt value (e.g. "3") */
115
+ value: string;
116
+ }
117
+ export type BigIntCheckIR = CheckBigIntGreaterThan | CheckBigIntLessThan | CheckBigIntMultipleOf;
118
+ export interface CheckMinSize extends CheckBase {
119
+ kind: "min_size";
120
+ minimum: number;
121
+ }
122
+ export interface CheckMaxSize extends CheckBase {
123
+ kind: "max_size";
124
+ maximum: number;
125
+ }
126
+ export interface CheckSizeEquals extends CheckBase {
127
+ kind: "size_equals";
128
+ size: number;
129
+ }
130
+ export type SetCheckIR = CheckMinSize | CheckMaxSize | CheckSizeEquals;
131
+ export interface CheckMimeType extends CheckBase {
132
+ kind: "mime_type";
133
+ mime: string[];
134
+ }
135
+ export type FileCheckIR = CheckMinSize | CheckMaxSize | CheckMimeType;
136
+ export interface StringIR {
137
+ type: "string";
138
+ checks: CheckOrEffectIR[];
139
+ coerce?: boolean;
140
+ }
141
+ export interface NumberIR {
142
+ type: "number";
143
+ checks: CheckOrEffectIR[];
144
+ coerce?: boolean;
145
+ }
146
+ export interface BooleanIR {
147
+ type: "boolean";
148
+ coerce?: boolean;
149
+ }
150
+ export interface BigIntIR {
151
+ type: "bigint";
152
+ checks: BigIntCheckIR[];
153
+ coerce?: boolean;
154
+ }
155
+ export interface DateIR {
156
+ type: "date";
157
+ checks: DateCheckIR[];
158
+ coerce?: boolean;
159
+ }
160
+ export interface SymbolIR {
161
+ type: "symbol";
162
+ }
163
+ export interface NullIR {
164
+ type: "null";
165
+ }
166
+ export interface UndefinedIR {
167
+ type: "undefined";
168
+ }
169
+ export interface VoidIR {
170
+ type: "void";
171
+ }
172
+ export interface NanIR {
173
+ type: "nan";
174
+ }
175
+ export interface NeverIR {
176
+ type: "never";
177
+ }
178
+ export interface AnyIR {
179
+ type: "any";
180
+ }
181
+ export interface UnknownIR {
182
+ type: "unknown";
183
+ }
184
+ export interface LiteralIR {
185
+ type: "literal";
186
+ values: (string | number | boolean | null | bigint | undefined)[];
187
+ }
188
+ export interface EnumIR {
189
+ type: "enum";
190
+ /** Accepted values — z.nativeEnum() can contribute numbers. */
191
+ values: (string | number)[];
192
+ }
193
+ export interface ObjectIR {
194
+ type: "object";
195
+ properties: Record<string, SchemaIR>;
196
+ /** Object-level refine effects from z.object({...}).refine(fn) */
197
+ checks?: RefineEffectCheckIR[];
198
+ /**
199
+ * Fallback-typed property keys whose zod schema is optional-out: when the
200
+ * key is ABSENT from the input, their issues are suppressed (mirrors zod's
201
+ * handlePropertyResult). Lets z.exactOptional() and friends fall back at
202
+ * the property level without rejecting missing keys.
203
+ */
204
+ suppressAbsentKeys?: string[];
205
+ }
206
+ export interface ArrayIR {
207
+ type: "array";
208
+ element: SchemaIR;
209
+ checks: CheckOrEffectIR[];
210
+ }
211
+ export interface TupleIR {
212
+ type: "tuple";
213
+ items: SchemaIR[];
214
+ rest: SchemaIR | null;
215
+ }
216
+ export interface RecordIR {
217
+ type: "record";
218
+ keyType: SchemaIR;
219
+ valueType: SchemaIR;
220
+ }
221
+ export interface SetIR {
222
+ type: "set";
223
+ valueType: SchemaIR;
224
+ checks?: SetCheckIR[];
225
+ }
226
+ export interface MapIR {
227
+ type: "map";
228
+ keyType: SchemaIR;
229
+ valueType: SchemaIR;
230
+ }
231
+ export interface FileIR {
232
+ type: "file";
233
+ checks?: FileCheckIR[];
234
+ }
235
+ export interface UnionIR {
236
+ type: "union";
237
+ options: SchemaIR[];
238
+ }
239
+ export interface DiscriminatedUnionIR {
240
+ type: "discriminatedUnion";
241
+ discriminator: string;
242
+ options: SchemaIR[];
243
+ /**
244
+ * Typed discriminator-value dispatch table, sourced from zod's
245
+ * `_zod.propValues` (covers literal AND enum discriminators, preserving
246
+ * value types so numeric/boolean discriminators switch correctly).
247
+ */
248
+ cases: {
249
+ value: string | number | boolean | null | bigint | undefined;
250
+ option: number;
251
+ }[];
252
+ }
253
+ export interface IntersectionIR {
254
+ type: "intersection";
255
+ left: SchemaIR;
256
+ right: SchemaIR;
257
+ }
258
+ export interface OptionalIR {
259
+ type: "optional";
260
+ inner: SchemaIR;
261
+ }
262
+ export interface NullableIR {
263
+ type: "nullable";
264
+ inner: SchemaIR;
265
+ }
266
+ export interface ReadonlyIR {
267
+ type: "readonly";
268
+ inner: SchemaIR;
269
+ }
270
+ export interface DefaultIR {
271
+ type: "default";
272
+ inner: SchemaIR;
273
+ refIndex: number;
274
+ }
275
+ export interface PipeIR {
276
+ type: "pipe";
277
+ in: SchemaIR;
278
+ out: SchemaIR;
279
+ }
280
+ export interface TransformEffectIR {
281
+ type: "effect";
282
+ effectKind: "transform";
283
+ /** fn.toString() result, e.g. "v => v.toLowerCase()" */
284
+ source: string;
285
+ /** The input schema to validate before applying the transform */
286
+ inner: SchemaIR;
287
+ }
288
+ export interface FallbackIR {
289
+ type: "fallback";
290
+ reason: "transform" | "refine" | "superRefine" | "custom" | "lazy" | "unsupported";
291
+ /** Index into the __rf[] fallback schemas array. Present when partial fallback is used. */
292
+ refIndex?: number;
293
+ }
294
+ export interface TemplateLiteralIR {
295
+ type: "templateLiteral";
296
+ pattern: string;
297
+ }
298
+ export interface CatchIR {
299
+ type: "catch";
300
+ inner: SchemaIR;
301
+ /** Index into __rf[] — the original z.catch() schema whose catchValue runs per parse. */
302
+ refIndex: number;
303
+ }
304
+ export interface RecursiveRefIR {
305
+ type: "recursiveRef";
306
+ }
307
+ export interface StringBoolIR {
308
+ type: "stringBool";
309
+ truthy: string[];
310
+ falsy: string[];
311
+ caseSensitive: boolean;
312
+ }
313
+ /**
314
+ * Optional schema-level static error message (z.string({ error: "..." })).
315
+ * Attached centrally by extract dispatch; consumed by issue emission as the
316
+ * default message for issues created by this node (zod precedence: check
317
+ * error > schema error > locale default). Dynamic schema-level error maps
318
+ * force fallback instead.
319
+ */
320
+ export interface TypeMessageCarrier {
321
+ typeMessage?: string;
322
+ }
323
+ export type SchemaIR = TypeMessageCarrier & (StringIR | NumberIR | BooleanIR | BigIntIR | DateIR | SymbolIR | NullIR | UndefinedIR | VoidIR | NanIR | NeverIR | AnyIR | UnknownIR | LiteralIR | EnumIR | ObjectIR | ArrayIR | TupleIR | RecordIR | SetIR | MapIR | FileIR | UnionIR | DiscriminatedUnionIR | IntersectionIR | OptionalIR | NullableIR | ReadonlyIR | DefaultIR | PipeIR | TransformEffectIR | TemplateLiteralIR | CatchIR | FallbackIR | RecursiveRefIR | StringBoolIR);
324
+ export interface SafeParseSuccess<T> {
325
+ success: true;
326
+ data: T;
327
+ }
328
+ export interface SafeParseError {
329
+ success: false;
330
+ error: ZodErrorLike;
331
+ }
332
+ export type SafeParseResult<T> = SafeParseSuccess<T> | SafeParseError;
333
+ export interface ZodIssueLike {
334
+ code: string;
335
+ path: (string | number)[];
336
+ message: string;
337
+ [key: string]: unknown;
338
+ }
339
+ export interface ZodErrorLike {
340
+ issues: ZodIssueLike[];
341
+ }
342
+ export interface DiscoveredSchema {
343
+ exportName: string;
344
+ schema: unknown;
345
+ }
346
+ export interface CompiledSchema<T> {
347
+ parse(input: unknown): T;
348
+ parseAsync(input: unknown): Promise<T>;
349
+ safeParse(input: unknown): SafeParseResult<T>;
350
+ safeParseAsync(input: unknown): Promise<SafeParseResult<T>>;
351
+ }
352
+ //# sourceMappingURL=types.d.ts.map