zod-compiler 1.23.0 → 1.23.2

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 (494) hide show
  1. package/README.md +9 -6
  2. package/dist/cli/commands/check.d.ts +10 -7
  3. package/dist/cli/commands/check.d.ts.map +1 -1
  4. package/dist/cli/commands/check.js +125 -148
  5. package/dist/cli/commands/check.js.map +1 -1
  6. package/dist/cli/commands/generate.d.ts +22 -19
  7. package/dist/cli/commands/generate.d.ts.map +1 -1
  8. package/dist/cli/commands/generate.js +102 -133
  9. package/dist/cli/commands/generate.js.map +1 -1
  10. package/dist/cli/commands/watch.d.ts +17 -15
  11. package/dist/cli/commands/watch.d.ts.map +1 -1
  12. package/dist/cli/commands/watch.js +126 -154
  13. package/dist/cli/commands/watch.js.map +1 -1
  14. package/dist/cli/emitter.d.ts +19 -16
  15. package/dist/cli/emitter.d.ts.map +1 -1
  16. package/dist/cli/emitter.js +55 -71
  17. package/dist/cli/emitter.js.map +1 -1
  18. package/dist/cli/errors.d.ts +4 -1
  19. package/dist/cli/errors.d.ts.map +1 -1
  20. package/dist/cli/errors.js +6 -2
  21. package/dist/cli/errors.js.map +1 -1
  22. package/dist/cli/index.d.ts +1 -3
  23. package/dist/cli/index.js +147 -160
  24. package/dist/cli/index.js.map +1 -1
  25. package/dist/cli/logger.d.ts +18 -15
  26. package/dist/cli/logger.d.ts.map +1 -1
  27. package/dist/cli/logger.js +38 -37
  28. package/dist/cli/logger.js.map +1 -1
  29. package/dist/core/codegen/build-path.d.ts +7 -41
  30. package/dist/core/codegen/build-path.d.ts.map +1 -1
  31. package/dist/core/codegen/build-path.js +481 -570
  32. package/dist/core/codegen/build-path.js.map +1 -1
  33. package/dist/core/codegen/context.d.ts +256 -253
  34. package/dist/core/codegen/context.d.ts.map +1 -1
  35. package/dist/core/codegen/context.js +363 -437
  36. package/dist/core/codegen/context.js.map +1 -1
  37. package/dist/core/codegen/dedupe.d.ts +22 -56
  38. package/dist/core/codegen/dedupe.d.ts.map +1 -1
  39. package/dist/core/codegen/dedupe.js +150 -242
  40. package/dist/core/codegen/dedupe.js.map +1 -1
  41. package/dist/core/codegen/emit-issue.d.ts +44 -68
  42. package/dist/core/codegen/emit-issue.d.ts.map +1 -1
  43. package/dist/core/codegen/emit-issue.js +76 -108
  44. package/dist/core/codegen/emit-issue.js.map +1 -1
  45. package/dist/core/codegen/emit.d.ts +4 -1
  46. package/dist/core/codegen/emit.d.ts.map +1 -1
  47. package/dist/core/codegen/emit.js +16 -13
  48. package/dist/core/codegen/emit.js.map +1 -1
  49. package/dist/core/codegen/fast-path.d.ts +7 -12
  50. package/dist/core/codegen/fast-path.d.ts.map +1 -1
  51. package/dist/core/codegen/fast-path.js +116 -145
  52. package/dist/core/codegen/fast-path.js.map +1 -1
  53. package/dist/core/codegen/fast-size.d.ts +12 -26
  54. package/dist/core/codegen/fast-size.d.ts.map +1 -1
  55. package/dist/core/codegen/fast-size.js +169 -244
  56. package/dist/core/codegen/fast-size.js.map +1 -1
  57. package/dist/core/codegen/index.d.ts +25 -23
  58. package/dist/core/codegen/index.d.ts.map +1 -1
  59. package/dist/core/codegen/index.js +239 -405
  60. package/dist/core/codegen/index.js.map +1 -1
  61. package/dist/core/codegen/issue-decls.d.ts +15 -12
  62. package/dist/core/codegen/issue-decls.d.ts.map +1 -1
  63. package/dist/core/codegen/issue-decls.js +131 -162
  64. package/dist/core/codegen/issue-decls.js.map +1 -1
  65. package/dist/core/codegen/regex-unroll.d.ts +4 -1
  66. package/dist/core/codegen/regex-unroll.d.ts.map +1 -1
  67. package/dist/core/codegen/regex-unroll.js +173 -197
  68. package/dist/core/codegen/regex-unroll.js.map +1 -1
  69. package/dist/core/codegen/schemas/any.d.ts +7 -4
  70. package/dist/core/codegen/schemas/any.d.ts.map +1 -1
  71. package/dist/core/codegen/schemas/any.js +8 -4
  72. package/dist/core/codegen/schemas/any.js.map +1 -1
  73. package/dist/core/codegen/schemas/array.d.ts +8 -5
  74. package/dist/core/codegen/schemas/array.d.ts.map +1 -1
  75. package/dist/core/codegen/schemas/array.js +77 -95
  76. package/dist/core/codegen/schemas/array.js.map +1 -1
  77. package/dist/core/codegen/schemas/bigint.d.ts +7 -4
  78. package/dist/core/codegen/schemas/bigint.d.ts.map +1 -1
  79. package/dist/core/codegen/schemas/bigint.js +44 -56
  80. package/dist/core/codegen/schemas/bigint.js.map +1 -1
  81. package/dist/core/codegen/schemas/boolean.d.ts +7 -4
  82. package/dist/core/codegen/schemas/boolean.d.ts.map +1 -1
  83. package/dist/core/codegen/schemas/boolean.js +12 -11
  84. package/dist/core/codegen/schemas/boolean.js.map +1 -1
  85. package/dist/core/codegen/schemas/catch.d.ts +8 -5
  86. package/dist/core/codegen/schemas/catch.d.ts.map +1 -1
  87. package/dist/core/codegen/schemas/catch.js +23 -23
  88. package/dist/core/codegen/schemas/catch.js.map +1 -1
  89. package/dist/core/codegen/schemas/date.d.ts +7 -4
  90. package/dist/core/codegen/schemas/date.d.ts.map +1 -1
  91. package/dist/core/codegen/schemas/date.js +49 -68
  92. package/dist/core/codegen/schemas/date.js.map +1 -1
  93. package/dist/core/codegen/schemas/default.d.ts +9 -6
  94. package/dist/core/codegen/schemas/default.d.ts.map +1 -1
  95. package/dist/core/codegen/schemas/default.js +29 -27
  96. package/dist/core/codegen/schemas/default.js.map +1 -1
  97. package/dist/core/codegen/schemas/discriminated-union.d.ts +12 -10
  98. package/dist/core/codegen/schemas/discriminated-union.d.ts.map +1 -1
  99. package/dist/core/codegen/schemas/discriminated-union.js +153 -178
  100. package/dist/core/codegen/schemas/discriminated-union.js.map +1 -1
  101. package/dist/core/codegen/schemas/effect.d.ts +9 -6
  102. package/dist/core/codegen/schemas/effect.d.ts.map +1 -1
  103. package/dist/core/codegen/schemas/effect.js +54 -67
  104. package/dist/core/codegen/schemas/effect.js.map +1 -1
  105. package/dist/core/codegen/schemas/enum.d.ts +7 -4
  106. package/dist/core/codegen/schemas/enum.d.ts.map +1 -1
  107. package/dist/core/codegen/schemas/enum.js +15 -21
  108. package/dist/core/codegen/schemas/enum.js.map +1 -1
  109. package/dist/core/codegen/schemas/fallback.d.ts +6 -3
  110. package/dist/core/codegen/schemas/fallback.d.ts.map +1 -1
  111. package/dist/core/codegen/schemas/fallback.js +14 -13
  112. package/dist/core/codegen/schemas/fallback.js.map +1 -1
  113. package/dist/core/codegen/schemas/file.d.ts +7 -4
  114. package/dist/core/codegen/schemas/file.d.ts.map +1 -1
  115. package/dist/core/codegen/schemas/file.js +51 -57
  116. package/dist/core/codegen/schemas/file.js.map +1 -1
  117. package/dist/core/codegen/schemas/intersection.d.ts +8 -5
  118. package/dist/core/codegen/schemas/intersection.d.ts.map +1 -1
  119. package/dist/core/codegen/schemas/intersection.js +16 -13
  120. package/dist/core/codegen/schemas/intersection.js.map +1 -1
  121. package/dist/core/codegen/schemas/literal.d.ts +7 -4
  122. package/dist/core/codegen/schemas/literal.d.ts.map +1 -1
  123. package/dist/core/codegen/schemas/literal.js +20 -23
  124. package/dist/core/codegen/schemas/literal.js.map +1 -1
  125. package/dist/core/codegen/schemas/map.d.ts +8 -5
  126. package/dist/core/codegen/schemas/map.d.ts.map +1 -1
  127. package/dist/core/codegen/schemas/map.js +61 -67
  128. package/dist/core/codegen/schemas/map.js.map +1 -1
  129. package/dist/core/codegen/schemas/nan.d.ts +7 -4
  130. package/dist/core/codegen/schemas/nan.d.ts.map +1 -1
  131. package/dist/core/codegen/schemas/nan.js +8 -4
  132. package/dist/core/codegen/schemas/nan.js.map +1 -1
  133. package/dist/core/codegen/schemas/never.d.ts +7 -4
  134. package/dist/core/codegen/schemas/never.d.ts.map +1 -1
  135. package/dist/core/codegen/schemas/never.js +8 -4
  136. package/dist/core/codegen/schemas/never.js.map +1 -1
  137. package/dist/core/codegen/schemas/null.d.ts +7 -4
  138. package/dist/core/codegen/schemas/null.d.ts.map +1 -1
  139. package/dist/core/codegen/schemas/null.js +8 -4
  140. package/dist/core/codegen/schemas/null.js.map +1 -1
  141. package/dist/core/codegen/schemas/nullable.d.ts +8 -5
  142. package/dist/core/codegen/schemas/nullable.d.ts.map +1 -1
  143. package/dist/core/codegen/schemas/nullable.js +8 -5
  144. package/dist/core/codegen/schemas/nullable.js.map +1 -1
  145. package/dist/core/codegen/schemas/number.d.ts +7 -4
  146. package/dist/core/codegen/schemas/number.d.ts.map +1 -1
  147. package/dist/core/codegen/schemas/number.js +120 -176
  148. package/dist/core/codegen/schemas/number.js.map +1 -1
  149. package/dist/core/codegen/schemas/object.d.ts +8 -5
  150. package/dist/core/codegen/schemas/object.d.ts.map +1 -1
  151. package/dist/core/codegen/schemas/object.js +144 -231
  152. package/dist/core/codegen/schemas/object.js.map +1 -1
  153. package/dist/core/codegen/schemas/optional.d.ts +9 -6
  154. package/dist/core/codegen/schemas/optional.d.ts.map +1 -1
  155. package/dist/core/codegen/schemas/optional.js +23 -31
  156. package/dist/core/codegen/schemas/optional.js.map +1 -1
  157. package/dist/core/codegen/schemas/pipe.d.ts +8 -5
  158. package/dist/core/codegen/schemas/pipe.d.ts.map +1 -1
  159. package/dist/core/codegen/schemas/pipe.js +20 -27
  160. package/dist/core/codegen/schemas/pipe.js.map +1 -1
  161. package/dist/core/codegen/schemas/readonly.d.ts +8 -5
  162. package/dist/core/codegen/schemas/readonly.d.ts.map +1 -1
  163. package/dist/core/codegen/schemas/readonly.js +8 -5
  164. package/dist/core/codegen/schemas/readonly.js.map +1 -1
  165. package/dist/core/codegen/schemas/record.d.ts +8 -5
  166. package/dist/core/codegen/schemas/record.d.ts.map +1 -1
  167. package/dist/core/codegen/schemas/record.js +52 -65
  168. package/dist/core/codegen/schemas/record.js.map +1 -1
  169. package/dist/core/codegen/schemas/recursive-ref.d.ts +9 -6
  170. package/dist/core/codegen/schemas/recursive-ref.d.ts.map +1 -1
  171. package/dist/core/codegen/schemas/recursive-ref.js +44 -44
  172. package/dist/core/codegen/schemas/recursive-ref.js.map +1 -1
  173. package/dist/core/codegen/schemas/set.d.ts +8 -5
  174. package/dist/core/codegen/schemas/set.d.ts.map +1 -1
  175. package/dist/core/codegen/schemas/set.js +61 -73
  176. package/dist/core/codegen/schemas/set.js.map +1 -1
  177. package/dist/core/codegen/schemas/string-bool.d.ts +6 -3
  178. package/dist/core/codegen/schemas/string-bool.d.ts.map +1 -1
  179. package/dist/core/codegen/schemas/string-bool.js +22 -23
  180. package/dist/core/codegen/schemas/string-bool.js.map +1 -1
  181. package/dist/core/codegen/schemas/string.d.ts +8 -5
  182. package/dist/core/codegen/schemas/string.d.ts.map +1 -1
  183. package/dist/core/codegen/schemas/string.js +168 -207
  184. package/dist/core/codegen/schemas/string.js.map +1 -1
  185. package/dist/core/codegen/schemas/symbol.d.ts +7 -4
  186. package/dist/core/codegen/schemas/symbol.d.ts.map +1 -1
  187. package/dist/core/codegen/schemas/symbol.js +8 -4
  188. package/dist/core/codegen/schemas/symbol.js.map +1 -1
  189. package/dist/core/codegen/schemas/template-literal.d.ts +7 -4
  190. package/dist/core/codegen/schemas/template-literal.d.ts.map +1 -1
  191. package/dist/core/codegen/schemas/template-literal.js +12 -13
  192. package/dist/core/codegen/schemas/template-literal.js.map +1 -1
  193. package/dist/core/codegen/schemas/tuple.d.ts +8 -5
  194. package/dist/core/codegen/schemas/tuple.d.ts.map +1 -1
  195. package/dist/core/codegen/schemas/tuple.js +84 -94
  196. package/dist/core/codegen/schemas/tuple.js.map +1 -1
  197. package/dist/core/codegen/schemas/undefined.d.ts +7 -4
  198. package/dist/core/codegen/schemas/undefined.d.ts.map +1 -1
  199. package/dist/core/codegen/schemas/undefined.js +8 -4
  200. package/dist/core/codegen/schemas/undefined.js.map +1 -1
  201. package/dist/core/codegen/schemas/union.d.ts +8 -5
  202. package/dist/core/codegen/schemas/union.d.ts.map +1 -1
  203. package/dist/core/codegen/schemas/union.js +49 -69
  204. package/dist/core/codegen/schemas/union.js.map +1 -1
  205. package/dist/core/codegen/schemas/unknown.d.ts +7 -4
  206. package/dist/core/codegen/schemas/unknown.d.ts.map +1 -1
  207. package/dist/core/codegen/schemas/unknown.js +8 -4
  208. package/dist/core/codegen/schemas/unknown.js.map +1 -1
  209. package/dist/core/codegen/schemas/void.d.ts +7 -4
  210. package/dist/core/codegen/schemas/void.d.ts.map +1 -1
  211. package/dist/core/codegen/schemas/void.js +8 -4
  212. package/dist/core/codegen/schemas/void.js.map +1 -1
  213. package/dist/core/codegen/slow-path.d.ts +7 -4
  214. package/dist/core/codegen/slow-path.d.ts.map +1 -1
  215. package/dist/core/codegen/slow-path.js +71 -96
  216. package/dist/core/codegen/slow-path.js.map +1 -1
  217. package/dist/core/codegen/well-known-regex.d.ts +22 -19
  218. package/dist/core/codegen/well-known-regex.d.ts.map +1 -1
  219. package/dist/core/codegen/well-known-regex.js +127 -96
  220. package/dist/core/codegen/well-known-regex.js.map +1 -1
  221. package/dist/core/compile.d.ts +7 -4
  222. package/dist/core/compile.d.ts.map +1 -1
  223. package/dist/core/compile.js +48 -48
  224. package/dist/core/compile.js.map +1 -1
  225. package/dist/core/diagnostic.d.ts +38 -39
  226. package/dist/core/diagnostic.d.ts.map +1 -1
  227. package/dist/core/diagnostic.js +140 -164
  228. package/dist/core/diagnostic.js.map +1 -1
  229. package/dist/core/extract/checks.d.ts +18 -15
  230. package/dist/core/extract/checks.d.ts.map +1 -1
  231. package/dist/core/extract/checks.js +318 -311
  232. package/dist/core/extract/checks.js.map +1 -1
  233. package/dist/core/extract/effects.d.ts +13 -10
  234. package/dist/core/extract/effects.d.ts.map +1 -1
  235. package/dist/core/extract/effects.js +153 -222
  236. package/dist/core/extract/effects.js.map +1 -1
  237. package/dist/core/extract/extractors/any.d.ts +5 -2
  238. package/dist/core/extract/extractors/any.d.ts.map +1 -1
  239. package/dist/core/extract/extractors/any.js +5 -1
  240. package/dist/core/extract/extractors/any.js.map +1 -1
  241. package/dist/core/extract/extractors/array.d.ts +6 -3
  242. package/dist/core/extract/extractors/array.d.ts.map +1 -1
  243. package/dist/core/extract/extractors/array.js +25 -20
  244. package/dist/core/extract/extractors/array.js.map +1 -1
  245. package/dist/core/extract/extractors/bigint.d.ts +6 -3
  246. package/dist/core/extract/extractors/bigint.d.ts.map +1 -1
  247. package/dist/core/extract/extractors/bigint.js +66 -64
  248. package/dist/core/extract/extractors/bigint.js.map +1 -1
  249. package/dist/core/extract/extractors/boolean.d.ts +5 -2
  250. package/dist/core/extract/extractors/boolean.d.ts.map +1 -1
  251. package/dist/core/extract/extractors/boolean.js +7 -3
  252. package/dist/core/extract/extractors/boolean.js.map +1 -1
  253. package/dist/core/extract/extractors/catch.d.ts +6 -3
  254. package/dist/core/extract/extractors/catch.d.ts.map +1 -1
  255. package/dist/core/extract/extractors/catch.js +26 -17
  256. package/dist/core/extract/extractors/catch.js.map +1 -1
  257. package/dist/core/extract/extractors/date.d.ts +6 -3
  258. package/dist/core/extract/extractors/date.d.ts.map +1 -1
  259. package/dist/core/extract/extractors/date.js +42 -46
  260. package/dist/core/extract/extractors/date.js.map +1 -1
  261. package/dist/core/extract/extractors/default.d.ts +6 -3
  262. package/dist/core/extract/extractors/default.d.ts.map +1 -1
  263. package/dist/core/extract/extractors/default.js +20 -14
  264. package/dist/core/extract/extractors/default.js.map +1 -1
  265. package/dist/core/extract/extractors/enum.d.ts +5 -2
  266. package/dist/core/extract/extractors/enum.d.ts.map +1 -1
  267. package/dist/core/extract/extractors/enum.js +12 -13
  268. package/dist/core/extract/extractors/enum.js.map +1 -1
  269. package/dist/core/extract/extractors/file.d.ts +6 -3
  270. package/dist/core/extract/extractors/file.d.ts.map +1 -1
  271. package/dist/core/extract/extractors/file.js +34 -28
  272. package/dist/core/extract/extractors/file.js.map +1 -1
  273. package/dist/core/extract/extractors/intersection.d.ts +5 -2
  274. package/dist/core/extract/extractors/intersection.d.ts.map +1 -1
  275. package/dist/core/extract/extractors/intersection.js +13 -11
  276. package/dist/core/extract/extractors/intersection.js.map +1 -1
  277. package/dist/core/extract/extractors/lazy.d.ts +6 -3
  278. package/dist/core/extract/extractors/lazy.d.ts.map +1 -1
  279. package/dist/core/extract/extractors/lazy.js +21 -30
  280. package/dist/core/extract/extractors/lazy.js.map +1 -1
  281. package/dist/core/extract/extractors/literal.d.ts +5 -2
  282. package/dist/core/extract/extractors/literal.d.ts.map +1 -1
  283. package/dist/core/extract/extractors/literal.js +8 -1
  284. package/dist/core/extract/extractors/literal.js.map +1 -1
  285. package/dist/core/extract/extractors/map.d.ts +6 -3
  286. package/dist/core/extract/extractors/map.d.ts.map +1 -1
  287. package/dist/core/extract/extractors/map.js +10 -4
  288. package/dist/core/extract/extractors/map.js.map +1 -1
  289. package/dist/core/extract/extractors/nan.d.ts +5 -2
  290. package/dist/core/extract/extractors/nan.d.ts.map +1 -1
  291. package/dist/core/extract/extractors/nan.js +5 -1
  292. package/dist/core/extract/extractors/nan.js.map +1 -1
  293. package/dist/core/extract/extractors/never.d.ts +5 -2
  294. package/dist/core/extract/extractors/never.d.ts.map +1 -1
  295. package/dist/core/extract/extractors/never.js +5 -1
  296. package/dist/core/extract/extractors/never.js.map +1 -1
  297. package/dist/core/extract/extractors/null.d.ts +5 -2
  298. package/dist/core/extract/extractors/null.d.ts.map +1 -1
  299. package/dist/core/extract/extractors/null.js +5 -1
  300. package/dist/core/extract/extractors/null.js.map +1 -1
  301. package/dist/core/extract/extractors/nullable.d.ts +5 -2
  302. package/dist/core/extract/extractors/nullable.d.ts.map +1 -1
  303. package/dist/core/extract/extractors/nullable.js +7 -3
  304. package/dist/core/extract/extractors/nullable.js.map +1 -1
  305. package/dist/core/extract/extractors/number.d.ts +6 -3
  306. package/dist/core/extract/extractors/number.d.ts.map +1 -1
  307. package/dist/core/extract/extractors/number.js +35 -35
  308. package/dist/core/extract/extractors/number.js.map +1 -1
  309. package/dist/core/extract/extractors/object.d.ts +6 -3
  310. package/dist/core/extract/extractors/object.d.ts.map +1 -1
  311. package/dist/core/extract/extractors/object.js +49 -76
  312. package/dist/core/extract/extractors/object.js.map +1 -1
  313. package/dist/core/extract/extractors/optional.d.ts +5 -2
  314. package/dist/core/extract/extractors/optional.d.ts.map +1 -1
  315. package/dist/core/extract/extractors/optional.js +10 -12
  316. package/dist/core/extract/extractors/optional.js.map +1 -1
  317. package/dist/core/extract/extractors/pipe.d.ts +6 -3
  318. package/dist/core/extract/extractors/pipe.d.ts.map +1 -1
  319. package/dist/core/extract/extractors/pipe.js +40 -41
  320. package/dist/core/extract/extractors/pipe.js.map +1 -1
  321. package/dist/core/extract/extractors/readonly.d.ts +5 -2
  322. package/dist/core/extract/extractors/readonly.d.ts.map +1 -1
  323. package/dist/core/extract/extractors/readonly.js +10 -6
  324. package/dist/core/extract/extractors/readonly.js.map +1 -1
  325. package/dist/core/extract/extractors/record.d.ts +6 -3
  326. package/dist/core/extract/extractors/record.d.ts.map +1 -1
  327. package/dist/core/extract/extractors/record.js +24 -35
  328. package/dist/core/extract/extractors/record.js.map +1 -1
  329. package/dist/core/extract/extractors/set.d.ts +6 -3
  330. package/dist/core/extract/extractors/set.d.ts.map +1 -1
  331. package/dist/core/extract/extractors/set.js +36 -30
  332. package/dist/core/extract/extractors/set.js.map +1 -1
  333. package/dist/core/extract/extractors/string-bool.d.ts +7 -4
  334. package/dist/core/extract/extractors/string-bool.d.ts.map +1 -1
  335. package/dist/core/extract/extractors/string-bool.js +66 -84
  336. package/dist/core/extract/extractors/string-bool.js.map +1 -1
  337. package/dist/core/extract/extractors/string.d.ts +6 -3
  338. package/dist/core/extract/extractors/string.d.ts.map +1 -1
  339. package/dist/core/extract/extractors/string.js +34 -37
  340. package/dist/core/extract/extractors/string.js.map +1 -1
  341. package/dist/core/extract/extractors/symbol.d.ts +5 -2
  342. package/dist/core/extract/extractors/symbol.d.ts.map +1 -1
  343. package/dist/core/extract/extractors/symbol.js +5 -1
  344. package/dist/core/extract/extractors/symbol.js.map +1 -1
  345. package/dist/core/extract/extractors/template-literal.d.ts +6 -3
  346. package/dist/core/extract/extractors/template-literal.d.ts.map +1 -1
  347. package/dist/core/extract/extractors/template-literal.js +11 -6
  348. package/dist/core/extract/extractors/template-literal.js.map +1 -1
  349. package/dist/core/extract/extractors/tuple.d.ts +6 -3
  350. package/dist/core/extract/extractors/tuple.d.ts.map +1 -1
  351. package/dist/core/extract/extractors/tuple.js +10 -4
  352. package/dist/core/extract/extractors/tuple.js.map +1 -1
  353. package/dist/core/extract/extractors/undefined.d.ts +5 -2
  354. package/dist/core/extract/extractors/undefined.d.ts.map +1 -1
  355. package/dist/core/extract/extractors/undefined.js +5 -1
  356. package/dist/core/extract/extractors/undefined.js.map +1 -1
  357. package/dist/core/extract/extractors/union.d.ts +6 -3
  358. package/dist/core/extract/extractors/union.d.ts.map +1 -1
  359. package/dist/core/extract/extractors/union.js +38 -64
  360. package/dist/core/extract/extractors/union.js.map +1 -1
  361. package/dist/core/extract/extractors/unknown.d.ts +5 -2
  362. package/dist/core/extract/extractors/unknown.d.ts.map +1 -1
  363. package/dist/core/extract/extractors/unknown.js +5 -1
  364. package/dist/core/extract/extractors/unknown.js.map +1 -1
  365. package/dist/core/extract/extractors/void.d.ts +5 -2
  366. package/dist/core/extract/extractors/void.d.ts.map +1 -1
  367. package/dist/core/extract/extractors/void.js +5 -1
  368. package/dist/core/extract/extractors/void.js.map +1 -1
  369. package/dist/core/extract/fallback.d.ts +6 -3
  370. package/dist/core/extract/fallback.d.ts.map +1 -1
  371. package/dist/core/extract/fallback.js +21 -7
  372. package/dist/core/extract/fallback.js.map +1 -1
  373. package/dist/core/extract/index.d.ts +6 -4
  374. package/dist/core/extract/index.d.ts.map +1 -1
  375. package/dist/core/extract/index.js +15 -15
  376. package/dist/core/extract/index.js.map +1 -1
  377. package/dist/core/extract/registry.d.ts +39 -36
  378. package/dist/core/extract/registry.d.ts.map +1 -1
  379. package/dist/core/extract/registry.js +96 -123
  380. package/dist/core/extract/registry.js.map +1 -1
  381. package/dist/core/extract/types.d.ts +124 -120
  382. package/dist/core/extract/types.d.ts.map +1 -1
  383. package/dist/core/extract/types.js +0 -1
  384. package/dist/core/iife.d.ts +14 -15
  385. package/dist/core/iife.d.ts.map +1 -1
  386. package/dist/core/iife.js +182 -206
  387. package/dist/core/iife.js.map +1 -1
  388. package/dist/core/pipeline.d.ts +33 -30
  389. package/dist/core/pipeline.d.ts.map +1 -1
  390. package/dist/core/pipeline.js +67 -74
  391. package/dist/core/pipeline.js.map +1 -1
  392. package/dist/core/types.d.ts +430 -427
  393. package/dist/core/types.d.ts.map +1 -1
  394. package/dist/core/types.js +0 -5
  395. package/dist/discovery.d.ts +8 -5
  396. package/dist/discovery.d.ts.map +1 -1
  397. package/dist/discovery.js +31 -32
  398. package/dist/discovery.js.map +1 -1
  399. package/dist/index.d.ts +4 -4
  400. package/dist/index.js +2 -2
  401. package/dist/jit.d.ts +15 -42
  402. package/dist/jit.d.ts.map +1 -1
  403. package/dist/jit.js +187 -216
  404. package/dist/jit.js.map +1 -1
  405. package/dist/loader.d.ts +14 -11
  406. package/dist/loader.d.ts.map +1 -1
  407. package/dist/loader.js +226 -258
  408. package/dist/loader.js.map +1 -1
  409. package/dist/static-filter.d.ts +4 -1
  410. package/dist/static-filter.d.ts.map +1 -1
  411. package/dist/static-filter.js +240 -367
  412. package/dist/static-filter.js.map +1 -1
  413. package/dist/swc.d.ts +38 -35
  414. package/dist/swc.d.ts.map +1 -1
  415. package/dist/swc.js +83 -76
  416. package/dist/swc.js.map +1 -1
  417. package/dist/unplugin/bun.d.ts +5 -2
  418. package/dist/unplugin/bun.d.ts.map +1 -1
  419. package/dist/unplugin/bun.js +5 -1
  420. package/dist/unplugin/bun.js.map +1 -1
  421. package/dist/unplugin/dep-graph.d.ts +10 -7
  422. package/dist/unplugin/dep-graph.d.ts.map +1 -1
  423. package/dist/unplugin/dep-graph.js +216 -252
  424. package/dist/unplugin/dep-graph.js.map +1 -1
  425. package/dist/unplugin/disk-cache.d.ts +121 -92
  426. package/dist/unplugin/disk-cache.d.ts.map +1 -1
  427. package/dist/unplugin/disk-cache.js +425 -444
  428. package/dist/unplugin/disk-cache.js.map +1 -1
  429. package/dist/unplugin/edits.d.ts +15 -12
  430. package/dist/unplugin/edits.d.ts.map +1 -1
  431. package/dist/unplugin/edits.js +24 -37
  432. package/dist/unplugin/edits.js.map +1 -1
  433. package/dist/unplugin/esbuild.d.ts +5 -2
  434. package/dist/unplugin/esbuild.d.ts.map +1 -1
  435. package/dist/unplugin/esbuild.js +5 -1
  436. package/dist/unplugin/esbuild.js.map +1 -1
  437. package/dist/unplugin/farm.d.ts +5 -2
  438. package/dist/unplugin/farm.d.ts.map +1 -1
  439. package/dist/unplugin/farm.js +5 -1
  440. package/dist/unplugin/farm.js.map +1 -1
  441. package/dist/unplugin/hoist-compile.d.ts +14 -42
  442. package/dist/unplugin/hoist-compile.d.ts.map +1 -1
  443. package/dist/unplugin/hoist-compile.js +67 -112
  444. package/dist/unplugin/hoist-compile.js.map +1 -1
  445. package/dist/unplugin/hoist.d.ts +56 -54
  446. package/dist/unplugin/hoist.d.ts.map +1 -1
  447. package/dist/unplugin/hoist.js +945 -1170
  448. package/dist/unplugin/hoist.js.map +1 -1
  449. package/dist/unplugin/index.d.ts +5 -3
  450. package/dist/unplugin/index.d.ts.map +1 -1
  451. package/dist/unplugin/index.js +175 -250
  452. package/dist/unplugin/index.js.map +1 -1
  453. package/dist/unplugin/rolldown.d.ts +5 -2
  454. package/dist/unplugin/rolldown.d.ts.map +1 -1
  455. package/dist/unplugin/rolldown.js +5 -1
  456. package/dist/unplugin/rolldown.js.map +1 -1
  457. package/dist/unplugin/rollup.d.ts +5 -2
  458. package/dist/unplugin/rollup.d.ts.map +1 -1
  459. package/dist/unplugin/rollup.js +5 -1
  460. package/dist/unplugin/rollup.js.map +1 -1
  461. package/dist/unplugin/rsbuild.d.ts +6 -3
  462. package/dist/unplugin/rsbuild.d.ts.map +1 -1
  463. package/dist/unplugin/rsbuild.js +15 -11
  464. package/dist/unplugin/rsbuild.js.map +1 -1
  465. package/dist/unplugin/rspack.d.ts +5 -2
  466. package/dist/unplugin/rspack.d.ts.map +1 -1
  467. package/dist/unplugin/rspack.js +5 -1
  468. package/dist/unplugin/rspack.js.map +1 -1
  469. package/dist/unplugin/transform.d.ts +30 -27
  470. package/dist/unplugin/transform.d.ts.map +1 -1
  471. package/dist/unplugin/transform.js +433 -620
  472. package/dist/unplugin/transform.js.map +1 -1
  473. package/dist/unplugin/types.d.ts +189 -184
  474. package/dist/unplugin/types.d.ts.map +1 -1
  475. package/dist/unplugin/types.js +22 -18
  476. package/dist/unplugin/types.js.map +1 -1
  477. package/dist/unplugin/virtual.d.ts +11 -8
  478. package/dist/unplugin/virtual.d.ts.map +1 -1
  479. package/dist/unplugin/virtual.js +65 -83
  480. package/dist/unplugin/virtual.js.map +1 -1
  481. package/dist/unplugin/vite.d.ts +5 -2
  482. package/dist/unplugin/vite.d.ts.map +1 -1
  483. package/dist/unplugin/vite.js +5 -1
  484. package/dist/unplugin/vite.js.map +1 -1
  485. package/dist/unplugin/webpack.d.ts +5 -2
  486. package/dist/unplugin/webpack.d.ts.map +1 -1
  487. package/dist/unplugin/webpack.js +5 -1
  488. package/dist/unplugin/webpack.js.map +1 -1
  489. package/package.json +23 -14
  490. package/dist/cli/index.d.ts.map +0 -1
  491. package/dist/core/extract/types.js.map +0 -1
  492. package/dist/core/types.js.map +0 -1
  493. package/dist/index.d.ts.map +0 -1
  494. package/dist/index.js.map +0 -1
@@ -1,127 +1,95 @@
1
- /**
2
- * Issue object emit helpers.
3
- *
4
- * Each helper returns a string of the form `_e.push(...)` (or equivalent on a
5
- * caller-supplied issues variable). Two emit modes:
6
- *
7
- * - inline (CLI .compiled.ts): emits the literal `{code:"too_small",...}` object.
8
- * - lean (unplugin): emits a call like `__zcTS(min,origin,inclusive,input,path)`
9
- * and registers the helper in `ctx.usedHelpers` so the transform layer can
10
- * construct the corresponding `import` from `"virtual:zod-compiler/runtime"`.
11
- *
12
- * Centralizing all issue emission here means schema codegen files don't carry
13
- * the inline/lean branching; they just call `tooSmall(g, ...)` etc.
14
- *
15
- * Message resolution mirrors Zod, which consults the error map of the
16
- * INSTANCE that created the issue:
17
- * - check-created issues (min/max/format/refine): per-check message only
18
- * (options.message, extracted from `.min(3, "msg")`)
19
- * - schema-created issues (invalid_type, enum/literal invalid_value, tuple
20
- * length, invalid_union, invalid_key): schema-level message (g.typeMsg,
21
- * from `z.string({ error: "msg" })`)
22
- * Helpers default per the most common call-site kind; size-issue emitters
23
- * accept `useTypeMsg: true` for node-level uses (tuple), and invalidValue
24
- * accepts `useTypeMsg: false` for check-level uses (file mime).
25
- * When no message lands, the __zcFin finalizer applies the locale default.
26
- */
27
1
  import { escapeString } from "./context.js";
2
+ //#region src/core/codegen/emit-issue.ts
28
3
  function pushIssue(g, body) {
29
- return `${g.issues}.push(${body});`;
4
+ return `${g.issues}.push(${body});`;
30
5
  }
31
6
  /** Resolve the effective static message for an issue site. */
32
7
  function resolveMessage(g, explicit, useTypeMsg) {
33
- return explicit ?? (useTypeMsg ? g.typeMsg : undefined);
8
+ return explicit ?? (useTypeMsg ? g.typeMsg : void 0);
34
9
  }
35
10
  /** `,message:"..."` fragment for inline object literals ("" when no message). */
36
11
  function messageProp(m) {
37
- return m === undefined ? "" : `,message:${escapeString(m)}`;
12
+ return m === void 0 ? "" : `,message:${escapeString(m)}`;
38
13
  }
39
14
  /** `,"..."` trailing argument fragment for lean factory calls ("" when no message). */
40
15
  function messageArg(m) {
41
- return m === undefined ? "" : `,${escapeString(m)}`;
16
+ return m === void 0 ? "" : `,${escapeString(m)}`;
42
17
  }
43
- export function tooSmall(g, minimum, origin, inclusive, options) {
44
- const input = options?.input ?? g.input;
45
- const path = options?.path ?? g.path;
46
- const exact = options?.exact === true;
47
- const m = resolveMessage(g, options?.message, options?.useTypeMsg === true);
48
- if (g.ctx.mode === "lean") {
49
- if (exact) {
50
- g.ctx.usedHelpers.add("__zcTSx");
51
- return pushIssue(g, `__zcTSx(${minimum},${escapeString(origin)},${input},${path}${messageArg(m)})`);
52
- }
53
- g.ctx.usedHelpers.add("__zcTS");
54
- return pushIssue(g, `__zcTS(${minimum},${escapeString(origin)},${inclusive},${input},${path}${messageArg(m)})`);
55
- }
56
- if (exact) {
57
- return pushIssue(g, `{code:"too_small",minimum:${minimum},origin:${escapeString(origin)},inclusive:true,exact:true${messageProp(m)},input:${input},path:${path}}`);
58
- }
59
- return pushIssue(g, `{code:"too_small",minimum:${minimum},origin:${escapeString(origin)},inclusive:${inclusive}${messageProp(m)},input:${input},path:${path}}`);
18
+ function tooSmall(g, minimum, origin, inclusive, options) {
19
+ const input = options?.input ?? g.input;
20
+ const path = options?.path ?? g.path;
21
+ const exact = options?.exact === true;
22
+ const m = resolveMessage(g, options?.message, options?.useTypeMsg === true);
23
+ if (g.ctx.mode === "lean") {
24
+ if (exact) {
25
+ g.ctx.usedHelpers.add("__zcTSx");
26
+ return pushIssue(g, `__zcTSx(${minimum},${escapeString(origin)},${input},${path}${messageArg(m)})`);
27
+ }
28
+ g.ctx.usedHelpers.add("__zcTS");
29
+ return pushIssue(g, `__zcTS(${minimum},${escapeString(origin)},${inclusive},${input},${path}${messageArg(m)})`);
30
+ }
31
+ if (exact) return pushIssue(g, `{code:"too_small",minimum:${minimum},origin:${escapeString(origin)},inclusive:true,exact:true${messageProp(m)},input:${input},path:${path}}`);
32
+ return pushIssue(g, `{code:"too_small",minimum:${minimum},origin:${escapeString(origin)},inclusive:${inclusive}${messageProp(m)},input:${input},path:${path}}`);
60
33
  }
61
- export function tooBig(g, maximum, origin, inclusive, options) {
62
- const input = options?.input ?? g.input;
63
- const path = options?.path ?? g.path;
64
- const exact = options?.exact === true;
65
- const m = resolveMessage(g, options?.message, options?.useTypeMsg === true);
66
- if (g.ctx.mode === "lean") {
67
- if (exact) {
68
- g.ctx.usedHelpers.add("__zcTBx");
69
- return pushIssue(g, `__zcTBx(${maximum},${escapeString(origin)},${input},${path}${messageArg(m)})`);
70
- }
71
- g.ctx.usedHelpers.add("__zcTB");
72
- return pushIssue(g, `__zcTB(${maximum},${escapeString(origin)},${inclusive},${input},${path}${messageArg(m)})`);
73
- }
74
- if (exact) {
75
- return pushIssue(g, `{code:"too_big",maximum:${maximum},origin:${escapeString(origin)},inclusive:true,exact:true${messageProp(m)},input:${input},path:${path}}`);
76
- }
77
- return pushIssue(g, `{code:"too_big",maximum:${maximum},origin:${escapeString(origin)},inclusive:${inclusive}${messageProp(m)},input:${input},path:${path}}`);
34
+ function tooBig(g, maximum, origin, inclusive, options) {
35
+ const input = options?.input ?? g.input;
36
+ const path = options?.path ?? g.path;
37
+ const exact = options?.exact === true;
38
+ const m = resolveMessage(g, options?.message, options?.useTypeMsg === true);
39
+ if (g.ctx.mode === "lean") {
40
+ if (exact) {
41
+ g.ctx.usedHelpers.add("__zcTBx");
42
+ return pushIssue(g, `__zcTBx(${maximum},${escapeString(origin)},${input},${path}${messageArg(m)})`);
43
+ }
44
+ g.ctx.usedHelpers.add("__zcTB");
45
+ return pushIssue(g, `__zcTB(${maximum},${escapeString(origin)},${inclusive},${input},${path}${messageArg(m)})`);
46
+ }
47
+ if (exact) return pushIssue(g, `{code:"too_big",maximum:${maximum},origin:${escapeString(origin)},inclusive:true,exact:true${messageProp(m)},input:${input},path:${path}}`);
48
+ return pushIssue(g, `{code:"too_big",maximum:${maximum},origin:${escapeString(origin)},inclusive:${inclusive}${messageProp(m)},input:${input},path:${path}}`);
78
49
  }
79
- export function invalidType(g, expected, options) {
80
- const input = options?.input ?? g.input;
81
- const path = options?.path ?? g.path;
82
- // invalid_type is always created by the schema node — schema error applies.
83
- const m = resolveMessage(g, options?.message, true);
84
- if (g.ctx.mode === "lean" && !options?.extra) {
85
- g.ctx.usedHelpers.add("__zcIT");
86
- return pushIssue(g, `__zcIT(${escapeString(expected)},${input},${path}${messageArg(m)})`);
87
- }
88
- const extra = options?.extra ? `,${options.extra}` : "";
89
- return pushIssue(g, `{code:"invalid_type",expected:${escapeString(expected)}${extra}${messageProp(m)},input:${input},path:${path}}`);
50
+ function invalidType(g, expected, options) {
51
+ const input = options?.input ?? g.input;
52
+ const path = options?.path ?? g.path;
53
+ const m = resolveMessage(g, options?.message, true);
54
+ if (g.ctx.mode === "lean" && !options?.extra) {
55
+ g.ctx.usedHelpers.add("__zcIT");
56
+ return pushIssue(g, `__zcIT(${escapeString(expected)},${input},${path}${messageArg(m)})`);
57
+ }
58
+ const extra = options?.extra ? `,${options.extra}` : "";
59
+ return pushIssue(g, `{code:"invalid_type",expected:${escapeString(expected)}${extra}${messageProp(m)},input:${input},path:${path}}`);
90
60
  }
91
- export function invalidFormat(g, format, options) {
92
- const input = options?.input ?? g.input;
93
- const path = options?.path ?? g.path;
94
- const formatExpr = typeof format === "string" ? escapeString(format) : format.expr;
95
- // Format issues are created by check instances — schema error never applies.
96
- const m = options?.message;
97
- if (g.ctx.mode === "lean") {
98
- g.ctx.usedHelpers.add("__zcIF");
99
- const extraArg = options?.extra ? `,{${options.extra}}` : m !== undefined ? ",undefined" : "";
100
- return pushIssue(g, `__zcIF(${formatExpr},${input},${path}${extraArg}${messageArg(m)})`);
101
- }
102
- const extra = options?.extra ? `,${options.extra}` : "";
103
- return pushIssue(g, `{code:"invalid_format",format:${formatExpr}${extra}${messageProp(m)},input:${input},path:${path}}`);
61
+ function invalidFormat(g, format, options) {
62
+ const input = options?.input ?? g.input;
63
+ const path = options?.path ?? g.path;
64
+ const formatExpr = typeof format === "string" ? escapeString(format) : format.expr;
65
+ const m = options?.message;
66
+ if (g.ctx.mode === "lean") {
67
+ g.ctx.usedHelpers.add("__zcIF");
68
+ return pushIssue(g, `__zcIF(${formatExpr},${input},${path}${options?.extra ? `,{${options.extra}}` : m !== void 0 ? ",undefined" : ""}${messageArg(m)})`);
69
+ }
70
+ return pushIssue(g, `{code:"invalid_format",format:${formatExpr}${options?.extra ? `,${options.extra}` : ""}${messageProp(m)},input:${input},path:${path}}`);
104
71
  }
105
- export function unrecognizedKeys(g, keysExpr, options) {
106
- const input = options?.input ?? g.input;
107
- const path = options?.path ?? g.path;
108
- // unrecognized_keys is created by the object schema node — schema error applies.
109
- const m = resolveMessage(g, options?.message, true);
110
- if (g.ctx.mode === "lean") {
111
- g.ctx.usedHelpers.add("__zcUK");
112
- return pushIssue(g, `__zcUK(${keysExpr},${input},${path}${messageArg(m)})`);
113
- }
114
- return pushIssue(g, `{code:"unrecognized_keys",keys:${keysExpr}${messageProp(m)},input:${input},path:${path}}`);
72
+ function unrecognizedKeys(g, keysExpr, options) {
73
+ const input = options?.input ?? g.input;
74
+ const path = options?.path ?? g.path;
75
+ const m = resolveMessage(g, options?.message, true);
76
+ if (g.ctx.mode === "lean") {
77
+ g.ctx.usedHelpers.add("__zcUK");
78
+ return pushIssue(g, `__zcUK(${keysExpr},${input},${path}${messageArg(m)})`);
79
+ }
80
+ return pushIssue(g, `{code:"unrecognized_keys",keys:${keysExpr}${messageProp(m)},input:${input},path:${path}}`);
115
81
  }
116
- export function invalidValue(g, valuesExpr, options) {
117
- const input = options?.input ?? g.input;
118
- const path = options?.path ?? g.path;
119
- // Default: enum/literal invalid_value is created by the schema node.
120
- const m = resolveMessage(g, options?.message, options?.useTypeMsg !== false);
121
- if (g.ctx.mode === "lean") {
122
- g.ctx.usedHelpers.add("__zcIV");
123
- return pushIssue(g, `__zcIV(${valuesExpr},${input},${path}${messageArg(m)})`);
124
- }
125
- return pushIssue(g, `{code:"invalid_value",values:${valuesExpr}${messageProp(m)},input:${input},path:${path}}`);
82
+ function invalidValue(g, valuesExpr, options) {
83
+ const input = options?.input ?? g.input;
84
+ const path = options?.path ?? g.path;
85
+ const m = resolveMessage(g, options?.message, options?.useTypeMsg !== false);
86
+ if (g.ctx.mode === "lean") {
87
+ g.ctx.usedHelpers.add("__zcIV");
88
+ return pushIssue(g, `__zcIV(${valuesExpr},${input},${path}${messageArg(m)})`);
89
+ }
90
+ return pushIssue(g, `{code:"invalid_value",values:${valuesExpr}${messageProp(m)},input:${input},path:${path}}`);
126
91
  }
92
+ //#endregion
93
+ export { invalidFormat, invalidType, invalidValue, tooBig, tooSmall, unrecognizedKeys };
94
+
127
95
  //# sourceMappingURL=emit-issue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"emit-issue.js","sourceRoot":"","sources":["../../../src/core/codegen/emit-issue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emit-issue.js","names":[],"sources":["../../../src/core/codegen/emit-issue.ts"],"sourcesContent":["/**\n * Issue object emit helpers.\n *\n * Each helper returns a string of the form `_e.push(...)` (or equivalent on a\n * caller-supplied issues variable). Two emit modes:\n *\n * - inline (CLI .compiled.ts): emits the literal `{code:\"too_small\",...}` object.\n * - lean (unplugin): emits a call like `__zcTS(min,origin,inclusive,input,path)`\n * and registers the helper in `ctx.usedHelpers` so the transform layer can\n * construct the corresponding `import` from `\"virtual:zod-compiler/runtime\"`.\n *\n * Centralizing all issue emission here means schema codegen files don't carry\n * the inline/lean branching; they just call `tooSmall(g, ...)` etc.\n *\n * Message resolution mirrors Zod, which consults the error map of the\n * INSTANCE that created the issue:\n * - check-created issues (min/max/format/refine): per-check message only\n * (options.message, extracted from `.min(3, \"msg\")`)\n * - schema-created issues (invalid_type, enum/literal invalid_value, tuple\n * length, invalid_union, invalid_key): schema-level message (g.typeMsg,\n * from `z.string({ error: \"msg\" })`)\n * Helpers default per the most common call-site kind; size-issue emitters\n * accept `useTypeMsg: true` for node-level uses (tuple), and invalidValue\n * accepts `useTypeMsg: false` for check-level uses (file mime).\n * When no message lands, the __zcFin finalizer applies the locale default.\n */\n\nimport type { CodeGenContext } from \"./context.js\";\nimport { escapeString } from \"./context.js\";\n\n/** Common slim slice of SlowGen + FastGen needed for issue emission. */\ninterface IssueGen {\n readonly issues: string;\n readonly input: string;\n readonly path: string;\n readonly ctx: CodeGenContext;\n readonly typeMsg?: string | undefined;\n}\n\nfunction pushIssue(g: IssueGen, body: string): string {\n return `${g.issues}.push(${body});`;\n}\n\n/** Resolve the effective static message for an issue site. */\nfunction resolveMessage(\n g: IssueGen,\n explicit: string | undefined,\n useTypeMsg: boolean,\n): string | undefined {\n return explicit ?? (useTypeMsg ? g.typeMsg : undefined);\n}\n\n/** `,message:\"...\"` fragment for inline object literals (\"\" when no message). */\nfunction messageProp(m: string | undefined): string {\n return m === undefined ? \"\" : `,message:${escapeString(m)}`;\n}\n\n/** `,\"...\"` trailing argument fragment for lean factory calls (\"\" when no message). */\nfunction messageArg(m: string | undefined): string {\n return m === undefined ? \"\" : `,${escapeString(m)}`;\n}\n\nexport function tooSmall(\n g: IssueGen,\n minimum: string | number,\n origin: string,\n inclusive: boolean,\n options?: {\n exact?: boolean;\n input?: string;\n path?: string;\n message?: string | undefined;\n /** Set for node-level issues (tuple length) where schema error applies. */\n useTypeMsg?: boolean;\n },\n): string {\n const input = options?.input ?? g.input;\n const path = options?.path ?? g.path;\n const exact = options?.exact === true;\n const m = resolveMessage(g, options?.message, options?.useTypeMsg === true);\n if (g.ctx.mode === \"lean\") {\n if (exact) {\n g.ctx.usedHelpers.add(\"__zcTSx\");\n return pushIssue(\n g,\n `__zcTSx(${minimum},${escapeString(origin)},${input},${path}${messageArg(m)})`,\n );\n }\n g.ctx.usedHelpers.add(\"__zcTS\");\n return pushIssue(\n g,\n `__zcTS(${minimum},${escapeString(origin)},${inclusive},${input},${path}${messageArg(m)})`,\n );\n }\n if (exact) {\n return pushIssue(\n g,\n `{code:\"too_small\",minimum:${minimum},origin:${escapeString(origin)},inclusive:true,exact:true${messageProp(m)},input:${input},path:${path}}`,\n );\n }\n return pushIssue(\n g,\n `{code:\"too_small\",minimum:${minimum},origin:${escapeString(origin)},inclusive:${inclusive}${messageProp(m)},input:${input},path:${path}}`,\n );\n}\n\nexport function tooBig(\n g: IssueGen,\n maximum: string | number,\n origin: string,\n inclusive: boolean,\n options?: {\n exact?: boolean;\n input?: string;\n path?: string;\n message?: string | undefined;\n /** Set for node-level issues (tuple length) where schema error applies. */\n useTypeMsg?: boolean;\n },\n): string {\n const input = options?.input ?? g.input;\n const path = options?.path ?? g.path;\n const exact = options?.exact === true;\n const m = resolveMessage(g, options?.message, options?.useTypeMsg === true);\n if (g.ctx.mode === \"lean\") {\n if (exact) {\n g.ctx.usedHelpers.add(\"__zcTBx\");\n return pushIssue(\n g,\n `__zcTBx(${maximum},${escapeString(origin)},${input},${path}${messageArg(m)})`,\n );\n }\n g.ctx.usedHelpers.add(\"__zcTB\");\n return pushIssue(\n g,\n `__zcTB(${maximum},${escapeString(origin)},${inclusive},${input},${path}${messageArg(m)})`,\n );\n }\n if (exact) {\n return pushIssue(\n g,\n `{code:\"too_big\",maximum:${maximum},origin:${escapeString(origin)},inclusive:true,exact:true${messageProp(m)},input:${input},path:${path}}`,\n );\n }\n return pushIssue(\n g,\n `{code:\"too_big\",maximum:${maximum},origin:${escapeString(origin)},inclusive:${inclusive}${messageProp(m)},input:${input},path:${path}}`,\n );\n}\n\nexport function invalidType(\n g: IssueGen,\n expected: string,\n options?: { input?: string; path?: string; extra?: string; message?: string | undefined },\n): string {\n const input = options?.input ?? g.input;\n const path = options?.path ?? g.path;\n // invalid_type is always created by the schema node — schema error applies.\n const m = resolveMessage(g, options?.message, true);\n if (g.ctx.mode === \"lean\" && !options?.extra) {\n g.ctx.usedHelpers.add(\"__zcIT\");\n return pushIssue(g, `__zcIT(${escapeString(expected)},${input},${path}${messageArg(m)})`);\n }\n const extra = options?.extra ? `,${options.extra}` : \"\";\n return pushIssue(\n g,\n `{code:\"invalid_type\",expected:${escapeString(expected)}${extra}${messageProp(m)},input:${input},path:${path}}`,\n );\n}\n\nexport function invalidFormat(\n g: IssueGen,\n format: string | { expr: string },\n options?: { input?: string; path?: string; extra?: string; message?: string | undefined },\n): string {\n const input = options?.input ?? g.input;\n const path = options?.path ?? g.path;\n const formatExpr = typeof format === \"string\" ? escapeString(format) : format.expr;\n // Format issues are created by check instances — schema error never applies.\n const m = options?.message;\n if (g.ctx.mode === \"lean\") {\n g.ctx.usedHelpers.add(\"__zcIF\");\n const extraArg = options?.extra ? `,{${options.extra}}` : m !== undefined ? \",undefined\" : \"\";\n return pushIssue(g, `__zcIF(${formatExpr},${input},${path}${extraArg}${messageArg(m)})`);\n }\n const extra = options?.extra ? `,${options.extra}` : \"\";\n return pushIssue(\n g,\n `{code:\"invalid_format\",format:${formatExpr}${extra}${messageProp(m)},input:${input},path:${path}}`,\n );\n}\n\nexport function unrecognizedKeys(\n g: IssueGen,\n keysExpr: string,\n options?: { input?: string; path?: string; message?: string | undefined },\n): string {\n const input = options?.input ?? g.input;\n const path = options?.path ?? g.path;\n // unrecognized_keys is created by the object schema node — schema error applies.\n const m = resolveMessage(g, options?.message, true);\n if (g.ctx.mode === \"lean\") {\n g.ctx.usedHelpers.add(\"__zcUK\");\n return pushIssue(g, `__zcUK(${keysExpr},${input},${path}${messageArg(m)})`);\n }\n return pushIssue(\n g,\n `{code:\"unrecognized_keys\",keys:${keysExpr}${messageProp(m)},input:${input},path:${path}}`,\n );\n}\n\nexport function invalidValue(\n g: IssueGen,\n valuesExpr: string,\n options?: {\n input?: string;\n path?: string;\n message?: string | undefined;\n /** Set to false for check-level issues (file mime) where schema error does not apply. */\n useTypeMsg?: boolean;\n },\n): string {\n const input = options?.input ?? g.input;\n const path = options?.path ?? g.path;\n // Default: enum/literal invalid_value is created by the schema node.\n const m = resolveMessage(g, options?.message, options?.useTypeMsg !== false);\n if (g.ctx.mode === \"lean\") {\n g.ctx.usedHelpers.add(\"__zcIV\");\n return pushIssue(g, `__zcIV(${valuesExpr},${input},${path}${messageArg(m)})`);\n }\n return pushIssue(\n g,\n `{code:\"invalid_value\",values:${valuesExpr}${messageProp(m)},input:${input},path:${path}}`,\n );\n}\n"],"mappings":"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"}
@@ -1,8 +1,11 @@
1
+ //#region src/core/codegen/emit.d.ts
1
2
  /**
2
3
  * Tagged template literal that strips newlines and leading whitespace.
3
4
  * Allows writing generated code with readable indentation while producing minified output.
4
5
  *
5
6
  * Used exclusively by Slow Path generators (codegen/schemas/).
6
7
  */
7
- export declare function emit(strings: TemplateStringsArray, ...values: (string | number | bigint | boolean)[]): string;
8
+ declare function emit(strings: TemplateStringsArray, ...values: (string | number | bigint | boolean)[]): string;
9
+ //#endregion
10
+ export { emit };
8
11
  //# sourceMappingURL=emit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../../../src/core/codegen/emit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,IAAI,CAClB,OAAO,EAAE,oBAAoB,EAC7B,GAAG,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,GAChD,MAAM,CAOR"}
1
+ {"version":3,"file":"emit.d.ts","names":[],"sources":["../../../src/core/codegen/emit.ts"],"mappings":";;;;;;;iBAMgB,KACd,SAAS,yBACN"}
@@ -1,16 +1,19 @@
1
+ //#region src/core/codegen/emit.ts
1
2
  /**
2
- * Tagged template literal that strips newlines and leading whitespace.
3
- * Allows writing generated code with readable indentation while producing minified output.
4
- *
5
- * Used exclusively by Slow Path generators (codegen/schemas/).
6
- */
7
- export function emit(strings, ...values) {
8
- let result = "";
9
- for (let i = 0; i < strings.length; i++) {
10
- result += (strings[i] ?? "").replace(/\n\s*/g, "");
11
- if (i < values.length)
12
- result += String(values[i]);
13
- }
14
- return result;
3
+ * Tagged template literal that strips newlines and leading whitespace.
4
+ * Allows writing generated code with readable indentation while producing minified output.
5
+ *
6
+ * Used exclusively by Slow Path generators (codegen/schemas/).
7
+ */
8
+ function emit(strings, ...values) {
9
+ let result = "";
10
+ for (let i = 0; i < strings.length; i++) {
11
+ result += (strings[i] ?? "").replace(/\n\s*/g, "");
12
+ if (i < values.length) result += String(values[i]);
13
+ }
14
+ return result;
15
15
  }
16
+ //#endregion
17
+ export { emit };
18
+
16
19
  //# sourceMappingURL=emit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"emit.js","sourceRoot":"","sources":["../../../src/core/codegen/emit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,IAAI,CAClB,OAA6B,EAC7B,GAAG,MAA8C;IAEjD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM;YAAE,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"emit.js","names":[],"sources":["../../../src/core/codegen/emit.ts"],"sourcesContent":["/**\n * Tagged template literal that strips newlines and leading whitespace.\n * Allows writing generated code with readable indentation while producing minified output.\n *\n * Used exclusively by Slow Path generators (codegen/schemas/).\n */\nexport function emit(\n strings: TemplateStringsArray,\n ...values: (string | number | bigint | boolean)[]\n): string {\n let result = \"\";\n for (let i = 0; i < strings.length; i++) {\n result += (strings[i] ?? \"\").replace(/\\n\\s*/g, \"\");\n if (i < values.length) result += String(values[i]);\n }\n return result;\n}\n"],"mappings":";;;;;;;AAMA,SAAgB,KACd,SACA,GAAG,QACK;CACR,IAAI,SAAS;CACb,KAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;EACvC,WAAW,QAAQ,MAAM,GAAA,CAAI,QAAQ,UAAU,EAAE;EACjD,IAAI,IAAI,OAAO,QAAQ,UAAU,OAAO,OAAO,EAAE;CACnD;CACA,OAAO;AACT"}
@@ -1,13 +1,6 @@
1
- /**
2
- * Fast Path: produces a boolean expression string for eligible schemas.
3
- * When the expression evaluates to `true` at runtime, the input is valid and
4
- * safeParse can return success immediately without allocating an issues array.
5
- *
6
- * Returns `null` if the schema is not eligible for Fast Path (contains coerce,
7
- * default, transform, or other non-pure constructs).
8
- */
9
- import type { SchemaIR } from "../types.js";
10
- import type { CodeGenContext, FastGen, FastScope } from "./context.js";
1
+ import { SchemaIR } from "../types.js";
2
+ import { CodeGenContext, FastGen, FastScope } from "./context.js";
3
+ //#region src/core/codegen/fast-path.d.ts
11
4
  /**
12
5
  * @param inputExpr the input expression this node validates
13
6
  * @param ctx shared codegen context
@@ -18,7 +11,7 @@ import type { CodeGenContext, FastGen, FastScope } from "./context.js";
18
11
  * @param discSkipKey discriminated-union option marker (see FastGen.discSkipKey);
19
12
  * carried only on the option's own node, never auto-propagated to children
20
13
  */
21
- export declare function createFastGen(inputExpr: string, ctx: CodeGenContext, extractable?: boolean, scope?: FastScope, discSkipKey?: string): FastGen;
14
+ declare function createFastGen(inputExpr: string, ctx: CodeGenContext, extractable?: boolean, scope?: FastScope, discSkipKey?: string): FastGen;
22
15
  /**
23
16
  * Generate a boolean expression string that validates input against the schema.
24
17
  * Returns `null` if the schema (or any nested part) is not eligible for fast checking.
@@ -35,5 +28,7 @@ export declare function createFastGen(inputExpr: string, ctx: CodeGenContext, ex
35
28
  * aggregates do split (still semantically identical — only the boolean's shape
36
29
  * changes).
37
30
  */
38
- export declare function generateFast(ir: SchemaIR, g: FastGen): string | null;
31
+ declare function generateFast(ir: SchemaIR, g: FastGen): string | null;
32
+ //#endregion
33
+ export { createFastGen, generateFast };
39
34
  //# sourceMappingURL=fast-path.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fast-path.d.ts","sourceRoot":"","sources":["../../../src/core/codegen/fast-path.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAiB,SAAS,EAAE,MAAM,cAAc,CAAC;AAkGtF;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,EACnB,WAAW,UAAQ,EACnB,KAAK,GAAE,SAAkC,EACzC,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CA0BT;AAID;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAyCpE"}
1
+ {"version":3,"file":"fast-path.d.ts","names":[],"sources":["../../../src/core/codegen/fast-path.ts"],"mappings":";;;;;;;;;;;;;iBAsHgB,cACd,mBACA,KAAK,gBACL,uBACA,QAAO,WACP,uBACC;;;;;;;;;;;;;;;;;iBA8Ca,aAAa,IAAI,UAAU,GAAG"}