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,90 +1,71 @@
1
1
  import { checkPriority } from "../context.js";
2
2
  import { emit } from "../emit.js";
3
3
  import { invalidType, tooBig, tooSmall } from "../emit-issue.js";
4
- export function slowDate(ir, g) {
5
- let code = "";
6
- if (ir.coerce) {
7
- code += emit `try{${g.output}=new Date(${g.input});}catch(_){}`;
8
- }
9
- code += emit `
4
+ //#region src/core/codegen/schemas/date.ts
5
+ function slowDate(ir, g) {
6
+ let code = "";
7
+ if (ir.coerce) code += emit`try{${g.output}=new Date(${g.input});}catch(_){}`;
8
+ code += emit`
10
9
  if(!(${g.input} instanceof Date)){
11
10
  ${invalidType(g, "date")}
12
11
  }else if(isNaN(${g.input}.getTime())){
13
- ${invalidType(g, "date", { extra: 'received:"Invalid Date"' })}
12
+ ${invalidType(g, "date", { extra: "received:\"Invalid Date\"" })}
14
13
  }`;
15
- const checks = ir.checks.filter((c) => !Number.isNaN(c.timestamp));
16
- if (checks.length > 0) {
17
- code += `else{`;
18
- for (const check of checks) {
19
- const timeExpr = `${g.input}.getTime()`;
20
- switch (check.kind) {
21
- case "date_greater_than":
22
- if (check.inclusive) {
23
- code += emit `
14
+ const checks = ir.checks.filter((c) => !Number.isNaN(c.timestamp));
15
+ if (checks.length > 0) {
16
+ code += `else{`;
17
+ for (const check of checks) {
18
+ const timeExpr = `${g.input}.getTime()`;
19
+ switch (check.kind) {
20
+ case "date_greater_than":
21
+ if (check.inclusive) code += emit`
24
22
  if(${timeExpr}<${check.timestamp}){
25
23
  ${tooSmall(g, check.timestamp, "date", true, { message: check.message })}
26
24
  }`;
27
- }
28
- else {
29
- code += emit `
25
+ else code += emit`
30
26
  if(${timeExpr}<=${check.timestamp}){
31
27
  ${tooSmall(g, check.timestamp, "date", false, { message: check.message })}
32
28
  }`;
33
- }
34
- break;
35
- case "date_less_than":
36
- if (check.inclusive) {
37
- code += emit `
29
+ break;
30
+ case "date_less_than":
31
+ if (check.inclusive) code += emit`
38
32
  if(${timeExpr}>${check.timestamp}){
39
33
  ${tooBig(g, check.timestamp, "date", true, { message: check.message })}
40
34
  }`;
41
- }
42
- else {
43
- code += emit `
35
+ else code += emit`
44
36
  if(${timeExpr}>=${check.timestamp}){
45
37
  ${tooBig(g, check.timestamp, "date", false, { message: check.message })}
46
38
  }`;
47
- }
48
- break;
49
- }
50
- }
51
- code += `}`;
52
- }
53
- return `${code}\n`;
39
+ break;
40
+ }
41
+ }
42
+ code += `}`;
43
+ }
44
+ return `${code}\n`;
54
45
  }
55
- export function fastDate(ir, g) {
56
- if (ir.coerce)
57
- return null;
58
- const x = g.input;
59
- const parts = [`${x} instanceof Date`];
60
- // A NaN bound never fires in zod (comparisons with NaN are false) — emit
61
- // no check at all; `t >= NaN` would reject every date.
62
- const checks = ir.checks.filter((c) => !Number.isNaN(c.timestamp));
63
- if (checks.length > 0) {
64
- // Bounded dates get a hosted helper so `getTime()` is called once and its
65
- // result lives in a DECLARED local. A comma expression assigning to a bare
66
- // temp (`(t=d.getTime(),…)`) has no binding to assign to: sloppy mode would
67
- // silently create a global, and generated code ships inside ES modules,
68
- // where that is a ReferenceError on every parse.
69
- const t = g.temp("dt");
70
- const bounds = [`!Number.isNaN(${t})`];
71
- for (const check of [...checks].sort(checkPriority)) {
72
- switch (check.kind) {
73
- case "date_greater_than":
74
- bounds.push(check.inclusive ? `${t}>=${check.timestamp}` : `${t}>${check.timestamp}`);
75
- break;
76
- case "date_less_than":
77
- bounds.push(check.inclusive ? `${t}<=${check.timestamp}` : `${t}<${check.timestamp}`);
78
- break;
79
- }
80
- }
81
- const fnName = g.temp("dc");
82
- g.ctx.preamble.push(`function ${fnName}(d){var ${t}=d.getTime();return ${bounds.join("&&")};}`);
83
- parts.push(`${fnName}(${x})`);
84
- }
85
- else {
86
- parts.push(`!Number.isNaN(${x}.getTime())`);
87
- }
88
- return parts.join("&&");
46
+ function fastDate(ir, g) {
47
+ if (ir.coerce) return null;
48
+ const x = g.input;
49
+ const parts = [`${x} instanceof Date`];
50
+ const checks = ir.checks.filter((c) => !Number.isNaN(c.timestamp));
51
+ if (checks.length > 0) {
52
+ const t = g.temp("dt");
53
+ const bounds = [`!Number.isNaN(${t})`];
54
+ for (const check of [...checks].sort(checkPriority)) switch (check.kind) {
55
+ case "date_greater_than":
56
+ bounds.push(check.inclusive ? `${t}>=${check.timestamp}` : `${t}>${check.timestamp}`);
57
+ break;
58
+ case "date_less_than":
59
+ bounds.push(check.inclusive ? `${t}<=${check.timestamp}` : `${t}<${check.timestamp}`);
60
+ break;
61
+ }
62
+ const fnName = g.temp("dc");
63
+ g.ctx.preamble.push(`function ${fnName}(d){var ${t}=d.getTime();return ${bounds.join("&&")};}`);
64
+ parts.push(`${fnName}(${x})`);
65
+ } else parts.push(`!Number.isNaN(${x}.getTime())`);
66
+ return parts.join("&&");
89
67
  }
68
+ //#endregion
69
+ export { fastDate, slowDate };
70
+
90
71
  //# sourceMappingURL=date.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"date.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/date.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"date.js","names":[],"sources":["../../../../src/core/codegen/schemas/date.ts"],"sourcesContent":["import type { DateIR } from \"../../types.js\";\nimport type { FastGen, SlowGen } from \"../context.js\";\nimport { checkPriority } from \"../context.js\";\nimport { emit } from \"../emit.js\";\nimport { invalidType, tooBig, tooSmall } from \"../emit-issue.js\";\n\nexport function slowDate(ir: DateIR, g: SlowGen): string {\n let code = \"\";\n if (ir.coerce) {\n code += emit`try{${g.output}=new Date(${g.input});}catch(_){}`;\n }\n code += emit`\n if(!(${g.input} instanceof Date)){\n ${invalidType(g, \"date\")}\n }else if(isNaN(${g.input}.getTime())){\n ${invalidType(g, \"date\", { extra: 'received:\"Invalid Date\"' })}\n }`;\n\n const checks = ir.checks.filter((c) => !Number.isNaN(c.timestamp));\n if (checks.length > 0) {\n code += `else{`;\n for (const check of checks) {\n const timeExpr = `${g.input}.getTime()`;\n switch (check.kind) {\n case \"date_greater_than\":\n if (check.inclusive) {\n code += emit`\n if(${timeExpr}<${check.timestamp}){\n ${tooSmall(g, check.timestamp, \"date\", true, { message: check.message })}\n }`;\n } else {\n code += emit`\n if(${timeExpr}<=${check.timestamp}){\n ${tooSmall(g, check.timestamp, \"date\", false, { message: check.message })}\n }`;\n }\n break;\n case \"date_less_than\":\n if (check.inclusive) {\n code += emit`\n if(${timeExpr}>${check.timestamp}){\n ${tooBig(g, check.timestamp, \"date\", true, { message: check.message })}\n }`;\n } else {\n code += emit`\n if(${timeExpr}>=${check.timestamp}){\n ${tooBig(g, check.timestamp, \"date\", false, { message: check.message })}\n }`;\n }\n break;\n }\n }\n code += `}`;\n }\n\n return `${code}\\n`;\n}\n\nexport function fastDate(ir: DateIR, g: FastGen): string | null {\n if (ir.coerce) return null;\n\n const x = g.input;\n const parts: string[] = [`${x} instanceof Date`];\n\n // A NaN bound never fires in zod (comparisons with NaN are false) — emit\n // no check at all; `t >= NaN` would reject every date.\n const checks = ir.checks.filter((c) => !Number.isNaN(c.timestamp));\n if (checks.length > 0) {\n // Bounded dates get a hosted helper so `getTime()` is called once and its\n // result lives in a DECLARED local. A comma expression assigning to a bare\n // temp (`(t=d.getTime(),…)`) has no binding to assign to: sloppy mode would\n // silently create a global, and generated code ships inside ES modules,\n // where that is a ReferenceError on every parse.\n const t = g.temp(\"dt\");\n const bounds: string[] = [`!Number.isNaN(${t})`];\n for (const check of [...checks].sort(checkPriority)) {\n switch (check.kind) {\n case \"date_greater_than\":\n bounds.push(check.inclusive ? `${t}>=${check.timestamp}` : `${t}>${check.timestamp}`);\n break;\n case \"date_less_than\":\n bounds.push(check.inclusive ? `${t}<=${check.timestamp}` : `${t}<${check.timestamp}`);\n break;\n }\n }\n const fnName = g.temp(\"dc\");\n g.ctx.preamble.push(`function ${fnName}(d){var ${t}=d.getTime();return ${bounds.join(\"&&\")};}`);\n parts.push(`${fnName}(${x})`);\n } else {\n parts.push(`!Number.isNaN(${x}.getTime())`);\n }\n\n return parts.join(\"&&\");\n}\n"],"mappings":";;;;AAMA,SAAgB,SAAS,IAAY,GAAoB;CACvD,IAAI,OAAO;CACX,IAAI,GAAG,QACL,QAAQ,IAAI,OAAO,EAAE,OAAO,YAAY,EAAE,MAAM;CAElD,QAAQ,IAAI;WACH,EAAE,MAAM;QACX,YAAY,GAAG,MAAM,EAAE;qBACV,EAAE,MAAM;QACrB,YAAY,GAAG,QAAQ,EAAE,OAAO,4BAA0B,CAAC,EAAE;;CAGnE,MAAM,SAAS,GAAG,OAAO,QAAQ,MAAM,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC;CACjE,IAAI,OAAO,SAAS,GAAG;EACrB,QAAQ;EACR,KAAK,MAAM,SAAS,QAAQ;GAC1B,MAAM,WAAW,GAAG,EAAE,MAAM;GAC5B,QAAQ,MAAM,MAAd;IACE,KAAK;KACH,IAAI,MAAM,WACR,QAAQ,IAAI;mBACL,SAAS,GAAG,MAAM,UAAU;kBAC7B,SAAS,GAAG,MAAM,WAAW,QAAQ,MAAM,EAAE,SAAS,MAAM,QAAQ,CAAC,EAAE;;UAG7E,QAAQ,IAAI;mBACL,SAAS,IAAI,MAAM,UAAU;kBAC9B,SAAS,GAAG,MAAM,WAAW,QAAQ,OAAO,EAAE,SAAS,MAAM,QAAQ,CAAC,EAAE;;KAGhF;IACF,KAAK;KACH,IAAI,MAAM,WACR,QAAQ,IAAI;mBACL,SAAS,GAAG,MAAM,UAAU;kBAC7B,OAAO,GAAG,MAAM,WAAW,QAAQ,MAAM,EAAE,SAAS,MAAM,QAAQ,CAAC,EAAE;;UAG3E,QAAQ,IAAI;mBACL,SAAS,IAAI,MAAM,UAAU;kBAC9B,OAAO,GAAG,MAAM,WAAW,QAAQ,OAAO,EAAE,SAAS,MAAM,QAAQ,CAAC,EAAE;;KAG9E;GACJ;EACF;EACA,QAAQ;CACV;CAEA,OAAO,GAAG,KAAK;AACjB;AAEA,SAAgB,SAAS,IAAY,GAA2B;CAC9D,IAAI,GAAG,QAAQ,OAAO;CAEtB,MAAM,IAAI,EAAE;CACZ,MAAM,QAAkB,CAAC,GAAG,EAAE,iBAAiB;CAI/C,MAAM,SAAS,GAAG,OAAO,QAAQ,MAAM,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC;CACjE,IAAI,OAAO,SAAS,GAAG;EAMrB,MAAM,IAAI,EAAE,KAAK,IAAI;EACrB,MAAM,SAAmB,CAAC,iBAAiB,EAAE,EAAE;EAC/C,KAAK,MAAM,SAAS,CAAC,GAAG,MAAM,CAAC,CAAC,KAAK,aAAa,GAChD,QAAQ,MAAM,MAAd;GACE,KAAK;IACH,OAAO,KAAK,MAAM,YAAY,GAAG,EAAE,IAAI,MAAM,cAAc,GAAG,EAAE,GAAG,MAAM,WAAW;IACpF;GACF,KAAK;IACH,OAAO,KAAK,MAAM,YAAY,GAAG,EAAE,IAAI,MAAM,cAAc,GAAG,EAAE,GAAG,MAAM,WAAW;IACpF;EACJ;EAEF,MAAM,SAAS,EAAE,KAAK,IAAI;EAC1B,EAAE,IAAI,SAAS,KAAK,YAAY,OAAO,UAAU,EAAE,sBAAsB,OAAO,KAAK,IAAI,EAAE,GAAG;EAC9F,MAAM,KAAK,GAAG,OAAO,GAAG,EAAE,EAAE;CAC9B,OACE,MAAM,KAAK,iBAAiB,EAAE,YAAY;CAG5C,OAAO,MAAM,KAAK,IAAI;AACxB"}
@@ -1,10 +1,11 @@
1
- import type { DefaultIR } from "../../types.js";
2
- import type { FastGen, SlowGen } from "../context.js";
1
+ import { DefaultIR } from "../../types.js";
2
+ import { FastGen, SlowGen } from "../context.js";
3
+ //#region src/core/codegen/schemas/default.d.ts
3
4
  /**
4
5
  * Expression for the declared default value, read off the retained schema so a
5
6
  * reference-typed default keeps zod's identity (one shared object, not a copy).
6
7
  */
7
- export declare function defaultValueExpr(ir: DefaultIR): string;
8
+ declare function defaultValueExpr(ir: DefaultIR): string;
8
9
  /**
9
10
  * Zod's `handleDefaultResult`: after the inner schema runs on a DEFINED input,
10
11
  * an `undefined` result gets the default applied too — so
@@ -14,7 +15,9 @@ export declare function defaultValueExpr(ir: DefaultIR): string;
14
15
  * `rejectsUndefined` decides; the overwhelmingly common
15
16
  * `z.number().default(1)` shape therefore pays nothing for it.
16
17
  */
17
- export declare function needsPostInnerDefault(ir: DefaultIR): boolean;
18
- export declare function slowDefault(ir: DefaultIR, g: SlowGen): string;
19
- export declare function fastDefault(ir: DefaultIR, g: FastGen): string | null;
18
+ declare function needsPostInnerDefault(ir: DefaultIR): boolean;
19
+ declare function slowDefault(ir: DefaultIR, g: SlowGen): string;
20
+ declare function fastDefault(ir: DefaultIR, g: FastGen): string | null;
21
+ //#endregion
22
+ export { defaultValueExpr, fastDefault, needsPostInnerDefault, slowDefault };
20
23
  //# sourceMappingURL=default.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/default.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAItD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,CAEtD;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAE5D;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CAgB7D;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAEpE"}
1
+ {"version":3,"file":"default.d.ts","names":[],"sources":["../../../../src/core/codegen/schemas/default.ts"],"mappings":";;;;;;;iBASgB,iBAAiB,IAAI;;;;;;;;;;iBAarB,sBAAsB,IAAI;iBAI1B,YAAY,IAAI,WAAW,GAAG;iBAkB9B,YAAY,IAAI,WAAW,GAAG"}
@@ -1,42 +1,44 @@
1
1
  import { fastSentinelWrapper, rejectsUndefined } from "../context.js";
2
2
  import { emit } from "../emit.js";
3
+ //#region src/core/codegen/schemas/default.ts
3
4
  /**
4
- * Expression for the declared default value, read off the retained schema so a
5
- * reference-typed default keeps zod's identity (one shared object, not a copy).
6
- */
7
- export function defaultValueExpr(ir) {
8
- return `__rf[${ir.refIndex}]._zod.def.defaultValue`;
5
+ * Expression for the declared default value, read off the retained schema so a
6
+ * reference-typed default keeps zod's identity (one shared object, not a copy).
7
+ */
8
+ function defaultValueExpr(ir) {
9
+ return `__rf[${ir.refIndex}]._zod.def.defaultValue`;
9
10
  }
10
11
  /**
11
- * Zod's `handleDefaultResult`: after the inner schema runs on a DEFINED input,
12
- * an `undefined` result gets the default applied too — so
13
- * `z.string().transform(() => undefined).default("d")` yields "d", not undefined.
14
- *
15
- * Emitted only when the inner can actually yield `undefined`, which is what
16
- * `rejectsUndefined` decides; the overwhelmingly common
17
- * `z.number().default(1)` shape therefore pays nothing for it.
18
- */
19
- export function needsPostInnerDefault(ir) {
20
- return !rejectsUndefined(ir.inner);
12
+ * Zod's `handleDefaultResult`: after the inner schema runs on a DEFINED input,
13
+ * an `undefined` result gets the default applied too — so
14
+ * `z.string().transform(() => undefined).default("d")` yields "d", not undefined.
15
+ *
16
+ * Emitted only when the inner can actually yield `undefined`, which is what
17
+ * `rejectsUndefined` decides; the overwhelmingly common
18
+ * `z.number().default(1)` shape therefore pays nothing for it.
19
+ */
20
+ function needsPostInnerDefault(ir) {
21
+ return !rejectsUndefined(ir.inner);
21
22
  }
22
- export function slowDefault(ir, g) {
23
- // For a defined value, zod runs the inner schema and returns its payload
24
- // unchanged — so forward the union abort flag like the other pass-throughs
25
- // (a pipe inner whose `in` fails must abort this option). The default-value
26
- // branch produces no issues, so it never aborts.
27
- const reapply = needsPostInnerDefault(ir)
28
- ? `if(${g.output}===undefined){${g.output}=${defaultValueExpr(ir)};}`
29
- : "";
30
- return emit `
23
+ function slowDefault(ir, g) {
24
+ const reapply = needsPostInnerDefault(ir) ? `if(${g.output}===undefined){${g.output}=${defaultValueExpr(ir)};}` : "";
25
+ return emit`
31
26
  if(${g.input}===undefined){
32
27
  ${g.output}=${defaultValueExpr(ir)};
33
28
  }else{
34
- ${g.visit(ir.inner, { input: g.output, output: g.output, aborted: g.aborted })}
29
+ ${g.visit(ir.inner, {
30
+ input: g.output,
31
+ output: g.output,
32
+ aborted: g.aborted
33
+ })}
35
34
  ${reapply}
36
35
  }
37
36
  `;
38
37
  }
39
- export function fastDefault(ir, g) {
40
- return fastSentinelWrapper(g, ir.inner, "!==undefined", "&&");
38
+ function fastDefault(ir, g) {
39
+ return fastSentinelWrapper(g, ir.inner, "!==undefined", "&&");
41
40
  }
41
+ //#endregion
42
+ export { defaultValueExpr, fastDefault, needsPostInnerDefault, slowDefault };
43
+
42
44
  //# sourceMappingURL=default.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/default.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAa;IAC5C,OAAO,QAAQ,EAAE,CAAC,QAAQ,yBAAyB,CAAC;AACtD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,EAAa;IACjD,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAa,EAAE,CAAU;IACnD,yEAAyE;IACzE,2EAA2E;IAC3E,4EAA4E;IAC5E,iDAAiD;IACjD,MAAM,OAAO,GAAG,qBAAqB,CAAC,EAAE,CAAC;QACvC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,iBAAiB,CAAC,CAAC,MAAM,IAAI,gBAAgB,CAAC,EAAE,CAAC,IAAI;QACrE,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,IAAI,CAAA;SACJ,CAAC,CAAC,KAAK;QACR,CAAC,CAAC,MAAM,IAAI,gBAAgB,CAAC,EAAE,CAAC;;QAEhC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5E,OAAO;;GAEZ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAa,EAAE,CAAU;IACnD,OAAO,mBAAmB,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"default.js","names":[],"sources":["../../../../src/core/codegen/schemas/default.ts"],"sourcesContent":["import type { DefaultIR } from \"../../types.js\";\nimport type { FastGen, SlowGen } from \"../context.js\";\nimport { fastSentinelWrapper, rejectsUndefined } from \"../context.js\";\nimport { emit } from \"../emit.js\";\n\n/**\n * Expression for the declared default value, read off the retained schema so a\n * reference-typed default keeps zod's identity (one shared object, not a copy).\n */\nexport function defaultValueExpr(ir: DefaultIR): string {\n return `__rf[${ir.refIndex}]._zod.def.defaultValue`;\n}\n\n/**\n * Zod's `handleDefaultResult`: after the inner schema runs on a DEFINED input,\n * an `undefined` result gets the default applied too — so\n * `z.string().transform(() => undefined).default(\"d\")` yields \"d\", not undefined.\n *\n * Emitted only when the inner can actually yield `undefined`, which is what\n * `rejectsUndefined` decides; the overwhelmingly common\n * `z.number().default(1)` shape therefore pays nothing for it.\n */\nexport function needsPostInnerDefault(ir: DefaultIR): boolean {\n return !rejectsUndefined(ir.inner);\n}\n\nexport function slowDefault(ir: DefaultIR, g: SlowGen): string {\n // For a defined value, zod runs the inner schema and returns its payload\n // unchanged — so forward the union abort flag like the other pass-throughs\n // (a pipe inner whose `in` fails must abort this option). The default-value\n // branch produces no issues, so it never aborts.\n const reapply = needsPostInnerDefault(ir)\n ? `if(${g.output}===undefined){${g.output}=${defaultValueExpr(ir)};}`\n : \"\";\n return emit`\n if(${g.input}===undefined){\n ${g.output}=${defaultValueExpr(ir)};\n }else{\n ${g.visit(ir.inner, { input: g.output, output: g.output, aborted: g.aborted })}\n ${reapply}\n }\n `;\n}\n\nexport function fastDefault(ir: DefaultIR, g: FastGen): string | null {\n return fastSentinelWrapper(g, ir.inner, \"!==undefined\", \"&&\");\n}\n"],"mappings":";;;;;;;AASA,SAAgB,iBAAiB,IAAuB;CACtD,OAAO,QAAQ,GAAG,SAAS;AAC7B;;;;;;;;;;AAWA,SAAgB,sBAAsB,IAAwB;CAC5D,OAAO,CAAC,iBAAiB,GAAG,KAAK;AACnC;AAEA,SAAgB,YAAY,IAAe,GAAoB;CAK7D,MAAM,UAAU,sBAAsB,EAAE,IACpC,MAAM,EAAE,OAAO,gBAAgB,EAAE,OAAO,GAAG,iBAAiB,EAAE,EAAE,MAChE;CACJ,OAAO,IAAI;SACJ,EAAE,MAAM;QACT,EAAE,OAAO,GAAG,iBAAiB,EAAE,EAAE;;QAEjC,EAAE,MAAM,GAAG,OAAO;EAAE,OAAO,EAAE;EAAQ,QAAQ,EAAE;EAAQ,SAAS,EAAE;CAAQ,CAAC,EAAE;QAC7E,QAAQ;;;AAGhB;AAEA,SAAgB,YAAY,IAAe,GAA2B;CACpE,OAAO,oBAAoB,GAAG,GAAG,OAAO,gBAAgB,IAAI;AAC9D"}
@@ -1,9 +1,10 @@
1
- import type { DiscriminatedUnionIR, SchemaIR } from "../../types.js";
2
- import type { FastGen, SlowGen } from "../context.js";
1
+ import { DiscriminatedUnionIR, SchemaIR } from "../../types.js";
2
+ import { FastGen, SlowGen } from "../context.js";
3
+ //#region src/core/codegen/schemas/discriminated-union.d.ts
3
4
  /** One `discriminator value → option index` dispatch entry. */
4
5
  type DiscriminatorCase = DiscriminatedUnionIR["cases"][number];
5
- export declare function slowDiscriminatedUnion(ir: SchemaIR & {
6
- type: "discriminatedUnion";
6
+ declare function slowDiscriminatedUnion(ir: SchemaIR & {
7
+ type: "discriminatedUnion";
7
8
  }, g: SlowGen): string;
8
9
  /**
9
10
  * Emit an O(1) switch-dispatch fast-check for a discriminated union — real
@@ -22,8 +23,8 @@ export declare function slowDiscriminatedUnion(ir: SchemaIR & {
22
23
  *
23
24
  * Returns null if any option is fast-path-ineligible.
24
25
  */
25
- export declare function emitFastDiscriminatedSwitch(g: FastGen, discriminator: string, cases: readonly DiscriminatorCase[], options: readonly SchemaIR[]): string | null;
26
- export declare function fastDiscriminatedUnion(ir: DiscriminatedUnionIR, g: FastGen): string | null;
26
+ declare function emitFastDiscriminatedSwitch(g: FastGen, discriminator: string, cases: readonly DiscriminatorCase[], options: readonly SchemaIR[]): string | null;
27
+ declare function fastDiscriminatedUnion(ir: DiscriminatedUnionIR, g: FastGen): string | null;
27
28
  /**
28
29
  * Detect whether a plain (untagged) `z.union` is *structurally* a discriminated
29
30
  * union, so its fast path can use O(1) switch dispatch instead of probing every
@@ -42,9 +43,10 @@ export declare function fastDiscriminatedUnion(ir: DiscriminatedUnionIR, g: Fast
42
43
  * Fast-path only: the slow path keeps `z.union`'s sequential trial and its
43
44
  * `invalid_union` error shape, so failure output stays byte-identical to Zod.
44
45
  */
45
- export declare function detectUnionDiscriminator(options: readonly SchemaIR[]): {
46
- discriminator: string;
47
- cases: DiscriminatorCase[];
46
+ declare function detectUnionDiscriminator(options: readonly SchemaIR[]): {
47
+ discriminator: string;
48
+ cases: DiscriminatorCase[];
48
49
  } | null;
49
- export {};
50
+ //#endregion
51
+ export { detectUnionDiscriminator, emitFastDiscriminatedSwitch, fastDiscriminatedUnion, slowDiscriminatedUnion };
50
52
  //# sourceMappingURL=discriminated-union.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"discriminated-union.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/discriminated-union.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAY,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAYtD,+DAA+D;AAC/D,KAAK,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,QAAQ,GAAG;IAAE,IAAI,EAAE,oBAAoB,CAAA;CAAE,EAC7C,CAAC,EAAE,OAAO,GACT,MAAM,CAsCR;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,2BAA2B,CACzC,CAAC,EAAE,OAAO,EACV,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,SAAS,iBAAiB,EAAE,EACnC,OAAO,EAAE,SAAS,QAAQ,EAAE,GAC3B,MAAM,GAAG,IAAI,CAiDf;AAoCD,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,oBAAoB,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAE1F;AA0BD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,SAAS,QAAQ,EAAE,GAC3B;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,iBAAiB,EAAE,CAAA;CAAE,GAAG,IAAI,CA2B9D"}
1
+ {"version":3,"file":"discriminated-union.d.ts","names":[],"sources":["../../../../src/core/codegen/schemas/discriminated-union.ts"],"mappings":";;;;KAcK,oBAAoB;iBAET,uBACd,IAAI;EAAa;GACjB,GAAG;;;;;;;;;;;;;;;;;;iBA0DW,4BACd,GAAG,SACH,uBACA,gBAAgB,qBAChB,kBAAkB;iBAsFJ,uBAAuB,IAAI,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;iBA8CpD,yBACd,kBAAkB;EACf;EAAuB,OAAO"}