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 +1 @@
1
- {"version":3,"file":"number.js","sourceRoot":"","sources":["../../../../src/core/extract/extractors/number.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAGtB,kFAAkF;AAClF,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,cAAc;IACd,WAAW;IACX,aAAa;IACb,eAAe;IACf,eAAe;IACf,qBAAqB;CACtB,CAAC,CAAC;AAEH,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,GAAqB;IAC9D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,MAAM,SAAS,GAAsB,EAAE,CAAC;IAExC,6EAA6E;IAC7E,4EAA4E;IAC5E,IAAI,GAAG,CAAC,KAAK,KAAK,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC/D,SAAS,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,GAAG,CAAC,MAAgE;YAC5E,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrE,CAAC,CAAC;IACL,CAAC;IAED,2EAA2E;IAC3E,iEAAiE;IACjE,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,aAAa,CAC7C,GAAG,CAAC,MAAM,EACV,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,EACnC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CACnD,CAAC;QACF,IAAI,WAAW;YAAE,OAAO,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC/C,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAC3D,OAAO,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"number.js","names":[],"sources":["../../../../src/core/extract/extractors/number.ts"],"sourcesContent":["import type { CheckOrEffectIR, SchemaIR } from \"../../types.js\";\nimport {\n extractChecks,\n payloadCheckRef,\n refineRefRegistrar,\n resolveCheckMessage,\n} from \"../checks.js\";\nimport type { ExtractorContext, ZodDef } from \"../types.js\";\n\n/** Check kinds the number codegen knows how to emit. Anything else → fallback. */\nconst NUMBER_CHECK_KINDS = new Set([\n \"greater_than\",\n \"less_than\",\n \"multiple_of\",\n \"number_format\",\n \"refine_effect\",\n \"super_refine_effect\",\n]);\n\nexport function extractNumber(def: ZodDef, ctx: ExtractorContext): SchemaIR {\n const coerce = def.coerce ? { coerce: true as const } : {};\n const allChecks: CheckOrEffectIR[] = [];\n\n // Number format schemas (z.int(), z.int32(), ...): the schema def doubles as\n // its own check def. Schema-level custom error applies to the format issue.\n if (def.check === \"number_format\" && def.format) {\n const resolved = resolveCheckMessage(def.error);\n if (resolved.kind === \"dynamic\") return ctx.fallback(\"refine\");\n allChecks.push({\n kind: \"number_format\",\n format: def.format as \"safeint\" | \"int32\" | \"uint32\" | \"float32\" | \"float64\",\n ...(resolved.kind === \"static\" ? { message: resolved.message } : {}),\n });\n }\n\n // Appended checks (.min(), .refine(), ... — also present on format schemas\n // like z.int().refine(fn), which previously lost them entirely).\n if (def.checks && def.checks.length > 0) {\n const { checkIRs, hasFallback } = extractChecks(\n def.checks,\n refineRefRegistrar(ctx, def.checks),\n (index) => payloadCheckRef(ctx, def.checks, index),\n );\n if (hasFallback) return ctx.fallback(\"refine\");\n allChecks.push(...checkIRs);\n }\n\n if (allChecks.some((c) => !NUMBER_CHECK_KINDS.has(c.kind))) {\n return ctx.fallback(\"unsupported\");\n }\n\n return { type: \"number\", checks: allChecks, ...coerce };\n}\n"],"mappings":";;;AAUA,MAAM,qCAAqB,IAAI,IAAI;CACjC;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AAED,SAAgB,cAAc,KAAa,KAAiC;CAC1E,MAAM,SAAS,IAAI,SAAS,EAAE,QAAQ,KAAc,IAAI,CAAC;CACzD,MAAM,YAA+B,CAAC;CAItC,IAAI,IAAI,UAAU,mBAAmB,IAAI,QAAQ;EAC/C,MAAM,WAAW,oBAAoB,IAAI,KAAK;EAC9C,IAAI,SAAS,SAAS,WAAW,OAAO,IAAI,SAAS,QAAQ;EAC7D,UAAU,KAAK;GACb,MAAM;GACN,QAAQ,IAAI;GACZ,GAAI,SAAS,SAAS,WAAW,EAAE,SAAS,SAAS,QAAQ,IAAI,CAAC;EACpE,CAAC;CACH;CAIA,IAAI,IAAI,UAAU,IAAI,OAAO,SAAS,GAAG;EACvC,MAAM,EAAE,UAAU,gBAAgB,cAChC,IAAI,QACJ,mBAAmB,KAAK,IAAI,MAAM,IACjC,UAAU,gBAAgB,KAAK,IAAI,QAAQ,KAAK,CACnD;EACA,IAAI,aAAa,OAAO,IAAI,SAAS,QAAQ;EAC7C,UAAU,KAAK,GAAG,QAAQ;CAC5B;CAEA,IAAI,UAAU,MAAM,MAAM,CAAC,mBAAmB,IAAI,EAAE,IAAI,CAAC,GACvD,OAAO,IAAI,SAAS,aAAa;CAGnC,OAAO;EAAE,MAAM;EAAU,QAAQ;EAAW,GAAG;CAAO;AACxD"}
@@ -1,4 +1,7 @@
1
- import type { SchemaIR } from "../../types.js";
2
- import type { ExtractorContext, ZodDef } from "../types.js";
3
- export declare function extractObject(def: ZodDef, ctx: ExtractorContext): SchemaIR;
1
+ import { SchemaIR } from "../../types.js";
2
+ import { ExtractorContext, ZodDef } from "../types.js";
3
+ //#region src/core/extract/extractors/object.d.ts
4
+ declare function extractObject(def: ZodDef, ctx: ExtractorContext): SchemaIR;
5
+ //#endregion
6
+ export { extractObject };
4
7
  //# sourceMappingURL=object.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../../src/core/extract/extractors/object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,QAAQ,EAA4B,MAAM,gBAAgB,CAAC;AAE9F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE5D,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,GAAG,QAAQ,CAoF1E"}
1
+ {"version":3,"file":"object.d.ts","names":[],"sources":["../../../../src/core/extract/extractors/object.ts"],"mappings":";;;iBAIgB,cAAc,KAAK,QAAQ,KAAK,mBAAmB"}
@@ -1,79 +1,52 @@
1
1
  import { extractChecks, payloadCheckRef, refineRefRegistrar } from "../checks.js";
2
- export function extractObject(def, ctx) {
3
- // Unknown-key policies:
4
- // - z.strictObject / .strict() / .catchall(z.never()) reject unknown keys —
5
- // compiled as a for-in membership pass (ObjectIR.strict). Pass-through is
6
- // preserved: valid strict data has no extras, so no clone is needed.
7
- // - z.looseObject (catchall: unknown/any) matches compiled pass-through.
8
- // - .catchall(schema) validates unknown keys against a schema (ObjectIR.catchall).
9
- // - default z.object() (no catchall): STRIPS unknown keys, as zod does
10
- // (ObjectIR.stripUnknownKeys). looseObject/strictObject are unaffected —
11
- // the first keeps extras by design, the second rejects them outright.
12
- const catchallType = def.catchall?._zod?.def?.type;
13
- const strict = catchallType === "never";
14
- const valueCatchall = def.catchall && !strict && catchallType !== "unknown" && catchallType !== "any"
15
- ? ctx.visit(def.catchall, "._zod.def.catchall")
16
- : undefined;
17
- // A delegating catchall would need zod per unknown key; hand it the object.
18
- if (valueCatchall?.type === "fallback")
19
- return ctx.fallback("unsupported");
20
- const catchallFlag = valueCatchall ? { catchall: valueCatchall } : {};
21
- const strictFlag = strict ? { strict: true } : {};
22
- const stripFlag = def.catchall ? {} : { stripUnknownKeys: true };
23
- // Null-prototype: on a normal object `properties["__proto__"] = ir` sets the
24
- // prototype instead of defining a key, so a shape declaring `__proto__` (only
25
- // reachable via a computed key or a dynamically built shape — an object
26
- // literal's `__proto__:` is the same setter) silently lost that property.
27
- // Every consumer reads this through Object.keys/values/entries, so dropping
28
- // the prototype is invisible to them.
29
- const properties = Object.create(null);
30
- // Fallback props whose zod schema is optional-out: mirror zod's
31
- // handlePropertyResult, which suppresses issues for ABSENT keys (this is
32
- // how z.exactOptional() accepts missing keys while rejecting explicit
33
- // undefined). Compiled optional/default IRs already handle absence.
34
- const suppressAbsentKeys = [];
35
- const refMark = ctx.refs?.length ?? 0;
36
- for (const [key, value] of Object.entries(def.shape)) {
37
- const propIR = ctx.visit(value, `.shape[${JSON.stringify(key)}]`);
38
- properties[key] = propIR;
39
- if (propIR.type === "fallback" && value._zod.optout === "optional") {
40
- suppressAbsentKeys.push(key);
41
- }
42
- }
43
- // Fallback coalescing: when EVERY property delegates to Zod, the per-field
44
- // wrapper (clone + N safeParse calls + issue path rewrites) is pure overhead
45
- // — measured ~1.4x slower than letting Zod validate the object in one pass.
46
- // Delegate the whole object instead. The discarded property fallbacks'
47
- // ref-table entries are rolled back so __rf[] holds only live schemas.
48
- const propIRs = Object.values(properties);
49
- if (propIRs.length > 0 && propIRs.every((p) => p.type === "fallback")) {
50
- if (ctx.refs)
51
- ctx.refs.length = refMark;
52
- return ctx.fallback("coalesced");
53
- }
54
- const suppress = suppressAbsentKeys.length > 0 ? { suppressAbsentKeys } : {};
55
- if (def.checks && def.checks.length > 0) {
56
- const { checkIRs, hasFallback } = extractChecks(def.checks, refineRefRegistrar(ctx, def.checks), (index) => payloadCheckRef(ctx, def.checks, index));
57
- if (hasFallback)
58
- return ctx.fallback("refine");
59
- // Object codegen supports the two callback kinds; anything else (overwrite,
60
- // exotic .check() entries) must not be dropped.
61
- if (checkIRs.some((c) => c.kind !== "refine_effect" && c.kind !== "super_refine_effect")) {
62
- return ctx.fallback("unsupported");
63
- }
64
- const refineChecks = checkIRs.filter((c) => c.kind === "refine_effect" || c.kind === "super_refine_effect");
65
- if (refineChecks.length > 0) {
66
- return {
67
- type: "object",
68
- properties,
69
- checks: refineChecks,
70
- ...strictFlag,
71
- ...stripFlag,
72
- ...catchallFlag,
73
- ...suppress,
74
- };
75
- }
76
- }
77
- return { type: "object", properties, ...strictFlag, ...stripFlag, ...catchallFlag, ...suppress };
2
+ //#region src/core/extract/extractors/object.ts
3
+ function extractObject(def, ctx) {
4
+ const catchallType = def.catchall?._zod?.def?.type;
5
+ const strict = catchallType === "never";
6
+ const valueCatchall = def.catchall && !strict && catchallType !== "unknown" && catchallType !== "any" ? ctx.visit(def.catchall, "._zod.def.catchall") : void 0;
7
+ if (valueCatchall?.type === "fallback") return ctx.fallback("unsupported");
8
+ const catchallFlag = valueCatchall ? { catchall: valueCatchall } : {};
9
+ const strictFlag = strict ? { strict: true } : {};
10
+ const stripFlag = def.catchall ? {} : { stripUnknownKeys: true };
11
+ const properties = Object.create(null);
12
+ const suppressAbsentKeys = [];
13
+ const refMark = ctx.refs?.length ?? 0;
14
+ for (const [key, value] of Object.entries(def.shape)) {
15
+ const propIR = ctx.visit(value, `.shape[${JSON.stringify(key)}]`);
16
+ properties[key] = propIR;
17
+ if (propIR.type === "fallback" && value._zod.optout === "optional") suppressAbsentKeys.push(key);
18
+ }
19
+ const propIRs = Object.values(properties);
20
+ if (propIRs.length > 0 && propIRs.every((p) => p.type === "fallback")) {
21
+ if (ctx.refs) ctx.refs.length = refMark;
22
+ return ctx.fallback("coalesced");
23
+ }
24
+ const suppress = suppressAbsentKeys.length > 0 ? { suppressAbsentKeys } : {};
25
+ if (def.checks && def.checks.length > 0) {
26
+ const { checkIRs, hasFallback } = extractChecks(def.checks, refineRefRegistrar(ctx, def.checks), (index) => payloadCheckRef(ctx, def.checks, index));
27
+ if (hasFallback) return ctx.fallback("refine");
28
+ if (checkIRs.some((c) => c.kind !== "refine_effect" && c.kind !== "super_refine_effect")) return ctx.fallback("unsupported");
29
+ const refineChecks = checkIRs.filter((c) => c.kind === "refine_effect" || c.kind === "super_refine_effect");
30
+ if (refineChecks.length > 0) return {
31
+ type: "object",
32
+ properties,
33
+ checks: refineChecks,
34
+ ...strictFlag,
35
+ ...stripFlag,
36
+ ...catchallFlag,
37
+ ...suppress
38
+ };
39
+ }
40
+ return {
41
+ type: "object",
42
+ properties,
43
+ ...strictFlag,
44
+ ...stripFlag,
45
+ ...catchallFlag,
46
+ ...suppress
47
+ };
78
48
  }
49
+ //#endregion
50
+ export { extractObject };
51
+
79
52
  //# sourceMappingURL=object.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../src/core/extract/extractors/object.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"object.js","names":[],"sources":["../../../../src/core/extract/extractors/object.ts"],"sourcesContent":["import type { RefineEffectCheckIR, SchemaIR, SuperRefineEffectCheckIR } from \"../../types.js\";\nimport { extractChecks, payloadCheckRef, refineRefRegistrar } from \"../checks.js\";\nimport type { ExtractorContext, ZodDef } from \"../types.js\";\n\nexport function extractObject(def: ZodDef, ctx: ExtractorContext): SchemaIR {\n // Unknown-key policies:\n // - z.strictObject / .strict() / .catchall(z.never()) reject unknown keys —\n // compiled as a for-in membership pass (ObjectIR.strict). Pass-through is\n // preserved: valid strict data has no extras, so no clone is needed.\n // - z.looseObject (catchall: unknown/any) matches compiled pass-through.\n // - .catchall(schema) validates unknown keys against a schema (ObjectIR.catchall).\n // - default z.object() (no catchall): STRIPS unknown keys, as zod does\n // (ObjectIR.stripUnknownKeys). looseObject/strictObject are unaffected —\n // the first keeps extras by design, the second rejects them outright.\n const catchallType = def.catchall?._zod?.def?.type;\n const strict = catchallType === \"never\";\n const valueCatchall =\n def.catchall && !strict && catchallType !== \"unknown\" && catchallType !== \"any\"\n ? ctx.visit(def.catchall, \"._zod.def.catchall\")\n : undefined;\n // A delegating catchall would need zod per unknown key; hand it the object.\n if (valueCatchall?.type === \"fallback\") return ctx.fallback(\"unsupported\");\n const catchallFlag = valueCatchall ? { catchall: valueCatchall } : {};\n const strictFlag = strict ? { strict: true } : {};\n const stripFlag = def.catchall ? {} : { stripUnknownKeys: true };\n\n // Null-prototype: on a normal object `properties[\"__proto__\"] = ir` sets the\n // prototype instead of defining a key, so a shape declaring `__proto__` (only\n // reachable via a computed key or a dynamically built shape — an object\n // literal's `__proto__:` is the same setter) silently lost that property.\n // Every consumer reads this through Object.keys/values/entries, so dropping\n // the prototype is invisible to them.\n const properties: Record<string, SchemaIR> = Object.create(null) as Record<string, SchemaIR>;\n // Fallback props whose zod schema is optional-out: mirror zod's\n // handlePropertyResult, which suppresses issues for ABSENT keys (this is\n // how z.exactOptional() accepts missing keys while rejecting explicit\n // undefined). Compiled optional/default IRs already handle absence.\n const suppressAbsentKeys: string[] = [];\n const refMark = ctx.refs?.length ?? 0;\n for (const [key, value] of Object.entries(def.shape)) {\n const propIR = ctx.visit(value, `.shape[${JSON.stringify(key)}]`);\n properties[key] = propIR;\n if (propIR.type === \"fallback\" && value._zod.optout === \"optional\") {\n suppressAbsentKeys.push(key);\n }\n }\n\n // Fallback coalescing: when EVERY property delegates to Zod, the per-field\n // wrapper (clone + N safeParse calls + issue path rewrites) is pure overhead\n // — measured ~1.4x slower than letting Zod validate the object in one pass.\n // Delegate the whole object instead. The discarded property fallbacks'\n // ref-table entries are rolled back so __rf[] holds only live schemas.\n const propIRs = Object.values(properties);\n if (propIRs.length > 0 && propIRs.every((p) => p.type === \"fallback\")) {\n if (ctx.refs) ctx.refs.length = refMark;\n return ctx.fallback(\"coalesced\");\n }\n const suppress = suppressAbsentKeys.length > 0 ? { suppressAbsentKeys } : {};\n\n if (def.checks && def.checks.length > 0) {\n const { checkIRs, hasFallback } = extractChecks(\n def.checks,\n refineRefRegistrar(ctx, def.checks),\n (index) => payloadCheckRef(ctx, def.checks, index),\n );\n if (hasFallback) return ctx.fallback(\"refine\");\n // Object codegen supports the two callback kinds; anything else (overwrite,\n // exotic .check() entries) must not be dropped.\n if (checkIRs.some((c) => c.kind !== \"refine_effect\" && c.kind !== \"super_refine_effect\")) {\n return ctx.fallback(\"unsupported\");\n }\n const refineChecks = checkIRs.filter(\n (c): c is RefineEffectCheckIR | SuperRefineEffectCheckIR =>\n c.kind === \"refine_effect\" || c.kind === \"super_refine_effect\",\n );\n if (refineChecks.length > 0) {\n return {\n type: \"object\",\n properties,\n checks: refineChecks,\n ...strictFlag,\n ...stripFlag,\n ...catchallFlag,\n ...suppress,\n };\n }\n }\n return { type: \"object\", properties, ...strictFlag, ...stripFlag, ...catchallFlag, ...suppress };\n}\n"],"mappings":";;AAIA,SAAgB,cAAc,KAAa,KAAiC;CAU1E,MAAM,eAAe,IAAI,UAAU,MAAM,KAAK;CAC9C,MAAM,SAAS,iBAAiB;CAChC,MAAM,gBACJ,IAAI,YAAY,CAAC,UAAU,iBAAiB,aAAa,iBAAiB,QACtE,IAAI,MAAM,IAAI,UAAU,oBAAoB,IAC5C,KAAA;CAEN,IAAI,eAAe,SAAS,YAAY,OAAO,IAAI,SAAS,aAAa;CACzE,MAAM,eAAe,gBAAgB,EAAE,UAAU,cAAc,IAAI,CAAC;CACpE,MAAM,aAAa,SAAS,EAAE,QAAQ,KAAK,IAAI,CAAC;CAChD,MAAM,YAAY,IAAI,WAAW,CAAC,IAAI,EAAE,kBAAkB,KAAK;CAQ/D,MAAM,aAAuC,OAAO,OAAO,IAAI;CAK/D,MAAM,qBAA+B,CAAC;CACtC,MAAM,UAAU,IAAI,MAAM,UAAU;CACpC,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,IAAI,KAAK,GAAG;EACpD,MAAM,SAAS,IAAI,MAAM,OAAO,UAAU,KAAK,UAAU,GAAG,EAAE,EAAE;EAChE,WAAW,OAAO;EAClB,IAAI,OAAO,SAAS,cAAc,MAAM,KAAK,WAAW,YACtD,mBAAmB,KAAK,GAAG;CAE/B;CAOA,MAAM,UAAU,OAAO,OAAO,UAAU;CACxC,IAAI,QAAQ,SAAS,KAAK,QAAQ,OAAO,MAAM,EAAE,SAAS,UAAU,GAAG;EACrE,IAAI,IAAI,MAAM,IAAI,KAAK,SAAS;EAChC,OAAO,IAAI,SAAS,WAAW;CACjC;CACA,MAAM,WAAW,mBAAmB,SAAS,IAAI,EAAE,mBAAmB,IAAI,CAAC;CAE3E,IAAI,IAAI,UAAU,IAAI,OAAO,SAAS,GAAG;EACvC,MAAM,EAAE,UAAU,gBAAgB,cAChC,IAAI,QACJ,mBAAmB,KAAK,IAAI,MAAM,IACjC,UAAU,gBAAgB,KAAK,IAAI,QAAQ,KAAK,CACnD;EACA,IAAI,aAAa,OAAO,IAAI,SAAS,QAAQ;EAG7C,IAAI,SAAS,MAAM,MAAM,EAAE,SAAS,mBAAmB,EAAE,SAAS,qBAAqB,GACrF,OAAO,IAAI,SAAS,aAAa;EAEnC,MAAM,eAAe,SAAS,QAC3B,MACC,EAAE,SAAS,mBAAmB,EAAE,SAAS,qBAC7C;EACA,IAAI,aAAa,SAAS,GACxB,OAAO;GACL,MAAM;GACN;GACA,QAAQ;GACR,GAAG;GACH,GAAG;GACH,GAAG;GACH,GAAG;EACL;CAEJ;CACA,OAAO;EAAE,MAAM;EAAU;EAAY,GAAG;EAAY,GAAG;EAAW,GAAG;EAAc,GAAG;CAAS;AACjG"}
@@ -1,3 +1,6 @@
1
- import type { Extractor } from "../types.js";
2
- export declare const extractOptional: Extractor;
1
+ import { Extractor } from "../types.js";
2
+ //#region src/core/extract/extractors/optional.d.ts
3
+ declare const extractOptional: Extractor;
4
+ //#endregion
5
+ export { extractOptional };
3
6
  //# sourceMappingURL=optional.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"optional.d.ts","sourceRoot":"","sources":["../../../../src/core/extract/extractors/optional.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAa,MAAM,aAAa,CAAC;AAExD,eAAO,MAAM,eAAe,EAAE,SAY7B,CAAC"}
1
+ {"version":3,"file":"optional.d.ts","names":[],"sources":["../../../../src/core/extract/extractors/optional.ts"],"mappings":";;cAEa,iBAAiB"}
@@ -1,14 +1,12 @@
1
- export const extractOptional = (def, ctx) => {
2
- // z.exactOptional() shares def.type "optional" but rejects explicit
3
- // `undefined` (only a missing key is allowed) — compiled optionals accept
4
- // undefined, so delegate to Zod. Detectable only via constructor traits.
5
- const traits = ctx.schema?._zod?.traits;
6
- if (traits?.has("$ZodExactOptional")) {
7
- return ctx.fallback("unsupported");
8
- }
9
- return {
10
- type: "optional",
11
- inner: ctx.visit(def.innerType, "._zod.def.innerType"),
12
- };
1
+ //#region src/core/extract/extractors/optional.ts
2
+ const extractOptional = (def, ctx) => {
3
+ if ((ctx.schema?._zod?.traits)?.has("$ZodExactOptional")) return ctx.fallback("unsupported");
4
+ return {
5
+ type: "optional",
6
+ inner: ctx.visit(def.innerType, "._zod.def.innerType")
7
+ };
13
8
  };
9
+ //#endregion
10
+ export { extractOptional };
11
+
14
12
  //# sourceMappingURL=optional.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"optional.js","sourceRoot":"","sources":["../../../../src/core/extract/extractors/optional.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAc,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACrD,oEAAoE;IACpE,0EAA0E;IAC1E,yEAAyE;IACzE,MAAM,MAAM,GAAI,GAAG,CAAC,MAAgC,EAAE,IAAI,EAAE,MAAM,CAAC;IACnE,IAAI,MAAM,EAAE,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACrC,OAAO,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;IACD,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,qBAAqB,CAAC;KACvD,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"optional.js","names":[],"sources":["../../../../src/core/extract/extractors/optional.ts"],"sourcesContent":["import type { Extractor, ZodSchema } from \"../types.js\";\n\nexport const extractOptional: Extractor = (def, ctx) => {\n // z.exactOptional() shares def.type \"optional\" but rejects explicit\n // `undefined` (only a missing key is allowed) — compiled optionals accept\n // undefined, so delegate to Zod. Detectable only via constructor traits.\n const traits = (ctx.schema as ZodSchema | undefined)?._zod?.traits;\n if (traits?.has(\"$ZodExactOptional\")) {\n return ctx.fallback(\"unsupported\");\n }\n return {\n type: \"optional\",\n inner: ctx.visit(def.innerType, \"._zod.def.innerType\"),\n };\n};\n"],"mappings":";AAEA,MAAa,mBAA8B,KAAK,QAAQ;CAKtD,KADgB,IAAI,QAAkC,MAAM,OAAA,EAChD,IAAI,mBAAmB,GACjC,OAAO,IAAI,SAAS,aAAa;CAEnC,OAAO;EACL,MAAM;EACN,OAAO,IAAI,MAAM,IAAI,WAAW,qBAAqB;CACvD;AACF"}
@@ -1,4 +1,7 @@
1
- import type { SchemaIR } from "../../types.js";
2
- import type { ExtractorContext, ZodDef } from "../types.js";
3
- export declare function extractPipe(def: ZodDef, ctx: ExtractorContext): SchemaIR;
1
+ import { SchemaIR } from "../../types.js";
2
+ import { ExtractorContext, ZodDef } from "../types.js";
3
+ //#region src/core/extract/extractors/pipe.d.ts
4
+ declare function extractPipe(def: ZodDef, ctx: ExtractorContext): SchemaIR;
5
+ //#endregion
6
+ export { extractPipe };
4
7
  //# sourceMappingURL=pipe.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipe.d.ts","sourceRoot":"","sources":["../../../../src/core/extract/extractors/pipe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG5D,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,GAAG,QAAQ,CA0CxE"}
1
+ {"version":3,"file":"pipe.d.ts","names":[],"sources":["../../../../src/core/extract/extractors/pipe.ts"],"mappings":";;;iBAKgB,YAAY,KAAK,QAAQ,KAAK,mBAAmB"}
@@ -1,45 +1,44 @@
1
1
  import { isReferenceablePredicate, tryCompileEffect } from "../effects.js";
2
2
  import { extractStringBool, isStringBoolCodec } from "./string-bool.js";
3
- export function extractPipe(def, ctx) {
4
- // Detect stringbool Codec (string→boolean with transform + reverseTransform)
5
- if (isStringBoolCodec(def)) {
6
- const ir = extractStringBool(def, ctx);
7
- if (ir)
8
- return ir;
9
- // Probing failed — fall back to Zod
10
- return ctx.fallback("transform");
11
- }
12
- // Other Codecs (z.codec): the decode transform lives on the pipe def itself.
13
- // Compiling in/out as a plain pipe would validate the untransformed value
14
- // against the output schema — delegate to Zod.
15
- if (def.transform !== undefined) {
16
- return ctx.fallback("transform");
17
- }
18
- const outDef = def.out?._zod?.def;
19
- if (outDef && outDef.type === "transform") {
20
- const source = tryCompileEffect(outDef.transform);
21
- if (source) {
22
- const inIR = ctx.visit(def.in, "._zod.def.in");
23
- return { type: "effect", effectKind: "transform", source, inner: inIR };
24
- }
25
- // Not inlineable (the callback captures). Call the user's own function
26
- // through a schema reference rather than delegating: falling back costs the
27
- // schema its compiled path AND adds the delegate wrapper on top, which
28
- // measured SLOWER than plain zod. A two-argument transform is zod's `ctx`
29
- // protocol and an async one returns a promise, so both still delegate.
30
- if (ctx.refs && isReferenceablePredicate(outDef.transform)) {
31
- const refIndex = ctx.refs.length;
32
- ctx.refs.push({
33
- schema: outDef.transform,
34
- accessPath: `${ctx.path}._zod.def.out._zod.def.transform`,
35
- });
36
- const inIR = ctx.visit(def.in, "._zod.def.in");
37
- return { type: "effect", effectKind: "transform", refIndex, inner: inIR };
38
- }
39
- return ctx.fallback("transform");
40
- }
41
- const inIR = ctx.visit(def.in, "._zod.def.in");
42
- const outIR = ctx.visit(def.out, "._zod.def.out");
43
- return { type: "pipe", in: inIR, out: outIR };
3
+ //#region src/core/extract/extractors/pipe.ts
4
+ function extractPipe(def, ctx) {
5
+ if (isStringBoolCodec(def)) {
6
+ const ir = extractStringBool(def, ctx);
7
+ if (ir) return ir;
8
+ return ctx.fallback("transform");
9
+ }
10
+ if (def.transform !== void 0) return ctx.fallback("transform");
11
+ const outDef = def.out?._zod?.def;
12
+ if (outDef && outDef.type === "transform") {
13
+ const source = tryCompileEffect(outDef.transform);
14
+ if (source) return {
15
+ type: "effect",
16
+ effectKind: "transform",
17
+ source,
18
+ inner: ctx.visit(def.in, "._zod.def.in")
19
+ };
20
+ if (ctx.refs && isReferenceablePredicate(outDef.transform)) {
21
+ const refIndex = ctx.refs.length;
22
+ ctx.refs.push({
23
+ schema: outDef.transform,
24
+ accessPath: `${ctx.path}._zod.def.out._zod.def.transform`
25
+ });
26
+ return {
27
+ type: "effect",
28
+ effectKind: "transform",
29
+ refIndex,
30
+ inner: ctx.visit(def.in, "._zod.def.in")
31
+ };
32
+ }
33
+ return ctx.fallback("transform");
34
+ }
35
+ return {
36
+ type: "pipe",
37
+ in: ctx.visit(def.in, "._zod.def.in"),
38
+ out: ctx.visit(def.out, "._zod.def.out")
39
+ };
44
40
  }
41
+ //#endregion
42
+ export { extractPipe };
43
+
45
44
  //# sourceMappingURL=pipe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipe.js","sourceRoot":"","sources":["../../../../src/core/extract/extractors/pipe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE3E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAExE,MAAM,UAAU,WAAW,CAAC,GAAW,EAAE,GAAqB;IAC5D,6EAA6E;IAC7E,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACvC,IAAI,EAAE;YAAE,OAAO,EAAE,CAAC;QAClB,oCAAoC;QACpC,OAAO,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAED,6EAA6E;IAC7E,0EAA0E;IAC1E,+CAA+C;IAC/C,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC;IAClC,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;YAC/C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC1E,CAAC;QACD,uEAAuE;QACvE,4EAA4E;QAC5E,uEAAuE;QACvE,0EAA0E;QAC1E,uEAAuE;QACvE,IAAI,GAAG,CAAC,IAAI,IAAI,wBAAwB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3D,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;YACjC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,MAAM,CAAC,SAAS;gBACxB,UAAU,EAAE,GAAG,GAAG,CAAC,IAAI,kCAAkC;aAC1D,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;YAC/C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC5E,CAAC;QACD,OAAO,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAClD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"pipe.js","names":[],"sources":["../../../../src/core/extract/extractors/pipe.ts"],"sourcesContent":["import type { SchemaIR } from \"../../types.js\";\nimport { isReferenceablePredicate, tryCompileEffect } from \"../effects.js\";\nimport type { ExtractorContext, ZodDef } from \"../types.js\";\nimport { extractStringBool, isStringBoolCodec } from \"./string-bool.js\";\n\nexport function extractPipe(def: ZodDef, ctx: ExtractorContext): SchemaIR {\n // Detect stringbool Codec (string→boolean with transform + reverseTransform)\n if (isStringBoolCodec(def)) {\n const ir = extractStringBool(def, ctx);\n if (ir) return ir;\n // Probing failed — fall back to Zod\n return ctx.fallback(\"transform\");\n }\n\n // Other Codecs (z.codec): the decode transform lives on the pipe def itself.\n // Compiling in/out as a plain pipe would validate the untransformed value\n // against the output schema — delegate to Zod.\n if (def.transform !== undefined) {\n return ctx.fallback(\"transform\");\n }\n\n const outDef = def.out?._zod?.def;\n if (outDef && outDef.type === \"transform\") {\n const source = tryCompileEffect(outDef.transform);\n if (source) {\n const inIR = ctx.visit(def.in, \"._zod.def.in\");\n return { type: \"effect\", effectKind: \"transform\", source, inner: inIR };\n }\n // Not inlineable (the callback captures). Call the user's own function\n // through a schema reference rather than delegating: falling back costs the\n // schema its compiled path AND adds the delegate wrapper on top, which\n // measured SLOWER than plain zod. A two-argument transform is zod's `ctx`\n // protocol and an async one returns a promise, so both still delegate.\n if (ctx.refs && isReferenceablePredicate(outDef.transform)) {\n const refIndex = ctx.refs.length;\n ctx.refs.push({\n schema: outDef.transform,\n accessPath: `${ctx.path}._zod.def.out._zod.def.transform`,\n });\n const inIR = ctx.visit(def.in, \"._zod.def.in\");\n return { type: \"effect\", effectKind: \"transform\", refIndex, inner: inIR };\n }\n return ctx.fallback(\"transform\");\n }\n const inIR = ctx.visit(def.in, \"._zod.def.in\");\n const outIR = ctx.visit(def.out, \"._zod.def.out\");\n return { type: \"pipe\", in: inIR, out: outIR };\n}\n"],"mappings":";;;AAKA,SAAgB,YAAY,KAAa,KAAiC;CAExE,IAAI,kBAAkB,GAAG,GAAG;EAC1B,MAAM,KAAK,kBAAkB,KAAK,GAAG;EACrC,IAAI,IAAI,OAAO;EAEf,OAAO,IAAI,SAAS,WAAW;CACjC;CAKA,IAAI,IAAI,cAAc,KAAA,GACpB,OAAO,IAAI,SAAS,WAAW;CAGjC,MAAM,SAAS,IAAI,KAAK,MAAM;CAC9B,IAAI,UAAU,OAAO,SAAS,aAAa;EACzC,MAAM,SAAS,iBAAiB,OAAO,SAAS;EAChD,IAAI,QAEF,OAAO;GAAE,MAAM;GAAU,YAAY;GAAa;GAAQ,OAD7C,IAAI,MAAM,IAAI,IAAI,cACqC;EAAE;EAOxE,IAAI,IAAI,QAAQ,yBAAyB,OAAO,SAAS,GAAG;GAC1D,MAAM,WAAW,IAAI,KAAK;GAC1B,IAAI,KAAK,KAAK;IACZ,QAAQ,OAAO;IACf,YAAY,GAAG,IAAI,KAAK;GAC1B,CAAC;GAED,OAAO;IAAE,MAAM;IAAU,YAAY;IAAa;IAAU,OAD/C,IAAI,MAAM,IAAI,IAAI,cACuC;GAAE;EAC1E;EACA,OAAO,IAAI,SAAS,WAAW;CACjC;CAGA,OAAO;EAAE,MAAM;EAAQ,IAFV,IAAI,MAAM,IAAI,IAAI,cAED;EAAG,KADnB,IAAI,MAAM,IAAI,KAAK,eACS;CAAE;AAC9C"}
@@ -1,9 +1,12 @@
1
- import type { Extractor } from "../types.js";
1
+ import { Extractor } from "../types.js";
2
+ //#region src/core/extract/extractors/readonly.d.ts
2
3
  /**
3
4
  * z.readonly() freezes the parse OUTPUT in Zod. Compiled validators return
4
5
  * the caller's input object as-is, so emitting Object.freeze would freeze the
5
6
  * caller's own data — an observable side effect Zod never has. Delegate to
6
7
  * Zod, which freezes its rebuilt output instead.
7
8
  */
8
- export declare const extractReadonly: Extractor;
9
+ declare const extractReadonly: Extractor;
10
+ //#endregion
11
+ export { extractReadonly };
9
12
  //# sourceMappingURL=readonly.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"readonly.d.ts","sourceRoot":"","sources":["../../../../src/core/extract/extractors/readonly.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,SAAsD,CAAC"}
1
+ {"version":3,"file":"readonly.d.ts","names":[],"sources":["../../../../src/core/extract/extractors/readonly.ts"],"mappings":";;;;;;;;cAQa,iBAAiB"}
@@ -1,8 +1,12 @@
1
+ //#region src/core/extract/extractors/readonly.ts
1
2
  /**
2
- * z.readonly() freezes the parse OUTPUT in Zod. Compiled validators return
3
- * the caller's input object as-is, so emitting Object.freeze would freeze the
4
- * caller's own data — an observable side effect Zod never has. Delegate to
5
- * Zod, which freezes its rebuilt output instead.
6
- */
7
- export const extractReadonly = (_def, ctx) => ctx.fallback("unsupported");
3
+ * z.readonly() freezes the parse OUTPUT in Zod. Compiled validators return
4
+ * the caller's input object as-is, so emitting Object.freeze would freeze the
5
+ * caller's own data — an observable side effect Zod never has. Delegate to
6
+ * Zod, which freezes its rebuilt output instead.
7
+ */
8
+ const extractReadonly = (_def, ctx) => ctx.fallback("unsupported");
9
+ //#endregion
10
+ export { extractReadonly };
11
+
8
12
  //# sourceMappingURL=readonly.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"readonly.js","sourceRoot":"","sources":["../../../../src/core/extract/extractors/readonly.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAc,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"readonly.js","names":[],"sources":["../../../../src/core/extract/extractors/readonly.ts"],"sourcesContent":["import type { Extractor } from \"../types.js\";\n\n/**\n * z.readonly() freezes the parse OUTPUT in Zod. Compiled validators return\n * the caller's input object as-is, so emitting Object.freeze would freeze the\n * caller's own data — an observable side effect Zod never has. Delegate to\n * Zod, which freezes its rebuilt output instead.\n */\nexport const extractReadonly: Extractor = (_def, ctx) => ctx.fallback(\"unsupported\");\n"],"mappings":";;;;;;;AAQA,MAAa,mBAA8B,MAAM,QAAQ,IAAI,SAAS,aAAa"}
@@ -1,4 +1,7 @@
1
- import type { SchemaIR } from "../../types.js";
2
- import type { ExtractorContext, ZodDef } from "../types.js";
3
- export declare function extractRecord(def: ZodDef, ctx: ExtractorContext): SchemaIR;
1
+ import { SchemaIR } from "../../types.js";
2
+ import { ExtractorContext, ZodDef } from "../types.js";
3
+ //#region src/core/extract/extractors/record.d.ts
4
+ declare function extractRecord(def: ZodDef, ctx: ExtractorContext): SchemaIR;
5
+ //#endregion
6
+ export { extractRecord };
4
7
  //# sourceMappingURL=record.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../../src/core/extract/extractors/record.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE5D,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,GAAG,QAAQ,CAsB1E"}
1
+ {"version":3,"file":"record.d.ts","names":[],"sources":["../../../../src/core/extract/extractors/record.ts"],"mappings":";;;iBAGgB,cAAc,KAAK,QAAQ,KAAK,mBAAmB"}
@@ -1,39 +1,28 @@
1
- export function extractRecord(def, ctx) {
2
- if (!def.valueType) {
3
- return ctx.fallback("unsupported");
4
- }
5
- // Exhaustive-key records: when the key schema exposes a finite value set
6
- // (z.record(z.enum(...))), Zod requires EVERY key to be present and rejects
7
- // unrecognized keys. Compiled records only iterate input keys — delegate to
8
- // Zod. z.partialRecord() clears `_zod.values`, so it still compiles.
9
- const keyValues = def.keyType?._zod?.values;
10
- if (keyValues !== undefined && keyValues.size > 0) {
11
- return ctx.fallback("unsupported");
12
- }
13
- const keyType = ctx.visit(def.keyType, "._zod.def.keyType");
14
- const valueType = ctx.visit(def.valueType, "._zod.def.valueType");
15
- // Object keys are strings at runtime. Zod coerces/validates numeric-string
16
- // keys for z.record(z.number(), ...) — the compiled key check would run
17
- // typeof on the string key and reject everything. Only string-shaped key
18
- // schemas compile; everything else delegates to Zod.
19
- if (!isStringShapedKey(keyType)) {
20
- return ctx.fallback("unsupported");
21
- }
22
- return { type: "record", keyType, valueType };
1
+ //#region src/core/extract/extractors/record.ts
2
+ function extractRecord(def, ctx) {
3
+ if (!def.valueType) return ctx.fallback("unsupported");
4
+ const keyValues = def.keyType?._zod?.values;
5
+ if (keyValues !== void 0 && keyValues.size > 0) return ctx.fallback("unsupported");
6
+ const keyType = ctx.visit(def.keyType, "._zod.def.keyType");
7
+ const valueType = ctx.visit(def.valueType, "._zod.def.valueType");
8
+ if (!isStringShapedKey(keyType)) return ctx.fallback("unsupported");
9
+ return {
10
+ type: "record",
11
+ keyType,
12
+ valueType
13
+ };
23
14
  }
24
15
  function isStringShapedKey(ir) {
25
- switch (ir.type) {
26
- case "string":
27
- case "templateLiteral":
28
- return true;
29
- case "enum":
30
- return ir.values.every((v) => typeof v === "string");
31
- case "literal":
32
- return ir.values.every((v) => typeof v === "string");
33
- case "union":
34
- return ir.options.every(isStringShapedKey);
35
- default:
36
- return false;
37
- }
16
+ switch (ir.type) {
17
+ case "string":
18
+ case "templateLiteral": return true;
19
+ case "enum": return ir.values.every((v) => typeof v === "string");
20
+ case "literal": return ir.values.every((v) => typeof v === "string");
21
+ case "union": return ir.options.every(isStringShapedKey);
22
+ default: return false;
23
+ }
38
24
  }
25
+ //#endregion
26
+ export { extractRecord };
27
+
39
28
  //# sourceMappingURL=record.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"record.js","sourceRoot":"","sources":["../../../../src/core/extract/extractors/record.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,GAAqB;IAC9D,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACnB,OAAO,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;IACD,yEAAyE;IACzE,4EAA4E;IAC5E,4EAA4E;IAC5E,qEAAqE;IACrE,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC;IAC5C,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAClD,OAAO,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;IAClE,2EAA2E;IAC3E,wEAAwE;IACxE,yEAAyE;IACzE,qDAAqD;IACrD,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAChD,CAAC;AAED,SAAS,iBAAiB,CAAC,EAAY;IACrC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,QAAQ,CAAC;QACd,KAAK,iBAAiB;YACpB,OAAO,IAAI,CAAC;QACd,KAAK,MAAM;YACT,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;QACvD,KAAK,SAAS;YACZ,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;QACvD,KAAK,OAAO;YACV,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC7C;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"record.js","names":[],"sources":["../../../../src/core/extract/extractors/record.ts"],"sourcesContent":["import type { SchemaIR } from \"../../types.js\";\nimport type { ExtractorContext, ZodDef } from \"../types.js\";\n\nexport function extractRecord(def: ZodDef, ctx: ExtractorContext): SchemaIR {\n if (!def.valueType) {\n return ctx.fallback(\"unsupported\");\n }\n // Exhaustive-key records: when the key schema exposes a finite value set\n // (z.record(z.enum(...))), Zod requires EVERY key to be present and rejects\n // unrecognized keys. Compiled records only iterate input keys — delegate to\n // Zod. z.partialRecord() clears `_zod.values`, so it still compiles.\n const keyValues = def.keyType?._zod?.values;\n if (keyValues !== undefined && keyValues.size > 0) {\n return ctx.fallback(\"unsupported\");\n }\n const keyType = ctx.visit(def.keyType, \"._zod.def.keyType\");\n const valueType = ctx.visit(def.valueType, \"._zod.def.valueType\");\n // Object keys are strings at runtime. Zod coerces/validates numeric-string\n // keys for z.record(z.number(), ...) — the compiled key check would run\n // typeof on the string key and reject everything. Only string-shaped key\n // schemas compile; everything else delegates to Zod.\n if (!isStringShapedKey(keyType)) {\n return ctx.fallback(\"unsupported\");\n }\n return { type: \"record\", keyType, valueType };\n}\n\nfunction isStringShapedKey(ir: SchemaIR): boolean {\n switch (ir.type) {\n case \"string\":\n case \"templateLiteral\":\n return true;\n case \"enum\":\n return ir.values.every((v) => typeof v === \"string\");\n case \"literal\":\n return ir.values.every((v) => typeof v === \"string\");\n case \"union\":\n return ir.options.every(isStringShapedKey);\n default:\n return false;\n }\n}\n"],"mappings":";AAGA,SAAgB,cAAc,KAAa,KAAiC;CAC1E,IAAI,CAAC,IAAI,WACP,OAAO,IAAI,SAAS,aAAa;CAMnC,MAAM,YAAY,IAAI,SAAS,MAAM;CACrC,IAAI,cAAc,KAAA,KAAa,UAAU,OAAO,GAC9C,OAAO,IAAI,SAAS,aAAa;CAEnC,MAAM,UAAU,IAAI,MAAM,IAAI,SAAS,mBAAmB;CAC1D,MAAM,YAAY,IAAI,MAAM,IAAI,WAAW,qBAAqB;CAKhE,IAAI,CAAC,kBAAkB,OAAO,GAC5B,OAAO,IAAI,SAAS,aAAa;CAEnC,OAAO;EAAE,MAAM;EAAU;EAAS;CAAU;AAC9C;AAEA,SAAS,kBAAkB,IAAuB;CAChD,QAAQ,GAAG,MAAX;EACE,KAAK;EACL,KAAK,mBACH,OAAO;EACT,KAAK,QACH,OAAO,GAAG,OAAO,OAAO,MAAM,OAAO,MAAM,QAAQ;EACrD,KAAK,WACH,OAAO,GAAG,OAAO,OAAO,MAAM,OAAO,MAAM,QAAQ;EACrD,KAAK,SACH,OAAO,GAAG,QAAQ,MAAM,iBAAiB;EAC3C,SACE,OAAO;CACX;AACF"}
@@ -1,4 +1,7 @@
1
- import type { SchemaIR } from "../../types.js";
2
- import type { ExtractorContext, ZodDef } from "../types.js";
3
- export declare function extractSet(def: ZodDef, ctx: ExtractorContext): SchemaIR;
1
+ import { SchemaIR } from "../../types.js";
2
+ import { ExtractorContext, ZodDef } from "../types.js";
3
+ //#region src/core/extract/extractors/set.d.ts
4
+ declare function extractSet(def: ZodDef, ctx: ExtractorContext): SchemaIR;
5
+ //#endregion
6
+ export { extractSet };
4
7
  //# sourceMappingURL=set.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../../../src/core/extract/extractors/set.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAc,MAAM,gBAAgB,CAAC;AAE3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE5D,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,GAAG,QAAQ,CAwBvE"}
1
+ {"version":3,"file":"set.d.ts","names":[],"sources":["../../../../src/core/extract/extractors/set.ts"],"mappings":";;;iBAIgB,WAAW,KAAK,QAAQ,KAAK,mBAAmB"}