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":"checks.js","sourceRoot":"","sources":["../../../src/core/extract/checks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checks.js","names":[],"sources":["../../../src/core/extract/checks.ts"],"sourcesContent":["import type { CheckOrEffectIR, CheckStringFormat } from \"../types.js\";\nimport { isPayloadCheck, isReferenceablePredicate, tryCompileEffect } from \"./effects.js\";\nimport type { ExtractorContext, ZodCheckDef, ZodCheckSchema } from \"./types.js\";\n\n/**\n * Build the `refineRef` registrar for {@link extractChecks} from an extractor's\n * context: it appends a {@link RefEntry} pointing at the check's own predicate\n * (`<schema>._zod.def.checks[i]._zod.def.fn`) so generated code can call the\n * user's function object directly. Returns undefined — meaning \"fall back as\n * before\" — when the extraction is not collecting refs.\n */\nexport function refineRefRegistrar(\n ctx: ExtractorContext,\n checks: ZodCheckSchema[],\n): ((index: number) => number | undefined) | undefined {\n const refs = ctx.refs;\n if (!refs) return undefined;\n return (index) => {\n const fn = checks[index]?._zod?.def?.fn;\n if (!isReferenceablePredicate(fn)) return undefined;\n refs.push({ schema: fn, accessPath: `${ctx.path}._zod.def.checks[${index}]._zod.def.fn` });\n return refs.length - 1;\n };\n}\n\n/**\n * Register the payload-taking callback of check `index` (`superRefine`) as an\n * `__rf[N]` reference, pointing at zod's own wrapper\n * (`<schema>._zod.def.checks[i]._zod.check`).\n *\n * Only the LAST check on a node qualifies: an issue carrying\n * `fatal`/`continue:false` aborts zod's remaining chain, and compiled output\n * runs every check unconditionally — with nothing following, there is nothing\n * left to abort, so the two agree.\n */\nexport function payloadCheckRef(\n ctx: ExtractorContext,\n checks: ZodCheckSchema[],\n index: number,\n): number | undefined {\n if (index !== checks.length - 1) return undefined;\n const check = checks[index];\n const refs = ctx.refs;\n if (!refs || !check || !isPayloadCheck(check)) return undefined;\n refs.push({\n schema: (check._zod as { check: unknown }).check,\n accessPath: `${ctx.path}._zod.def.checks[${index}]._zod.check`,\n });\n return refs.length - 1;\n}\n\n/**\n * String formats the codegen can validate without a regex pattern.\n * Everything else without a pattern (e.g. z.jwt(), which validates\n * algorithmically) must fall back to Zod instead of being silently skipped.\n */\nconst PATTERNLESS_FORMATS = new Set([\"email\", \"uuid\", \"url\"]);\n\n/**\n * Formats whose def.pattern is NOT the authoritative validator — zod's\n * runtime check is algorithmic and accepts inputs the pattern rejects\n * (e.g. z.cidrv6() splits the prefix and validates the IPv6 part separately).\n */\nconst NON_AUTHORITATIVE_PATTERN_FORMATS = new Set([\"cidrv6\"]);\n\n/**\n * Check kinds where Zod itself installs a `when` guard\n * (`!nullish(value) && value.length/size !== undefined`). Compiled output\n * reproduces that gating structurally — length/size checks only run after the\n * typeof/instanceof guard — so a `when` on these kinds is expected and safe.\n * A `when` anywhere else must be user-supplied → fall back to Zod.\n * (A user-supplied `when` on one of these six kinds is indistinguishable from\n * the internal guard and remains unsupported.)\n */\nconst INTERNAL_WHEN_CHECK_KINDS = new Set([\n \"min_length\",\n \"max_length\",\n \"length_equals\",\n \"min_size\",\n \"max_size\",\n \"size_equals\",\n]);\n\n/** True when a check carries a runtime `when` predicate we cannot reproduce. */\nfunction hasUserWhen(def: ZodCheckDef): boolean {\n return Boolean(def.when) && !INTERNAL_WHEN_CHECK_KINDS.has(def.check);\n}\n\n/**\n * True when a check can't be compiled because of runtime modifiers:\n * a user-supplied `when` predicate, or `abort: true` (which stops later\n * checks and marks the option as aborted in union pruning — compiled\n * output always runs every check).\n */\nexport function hasUncompilableModifiers(def: ZodCheckDef): boolean {\n return hasUserWhen(def) || def.abort === true;\n}\n\nexport function extractChecks(\n checks: ZodCheckSchema[],\n /**\n * Registers the predicate of the check at `index` as an `__rf[N]` reference\n * and returns N, or undefined when references are unavailable (no refs array)\n * or the callback's shape cannot be called directly. Supplied by extractors\n * that know their schema's access path; omitted by callers that do not, which\n * simply keeps the old fall-back-to-zod behavior.\n */\n refineRef?: (index: number) => number | undefined,\n /** Registers a payload-taking callback (superRefine); see payloadCheckRef. */\n payloadRefFor?: (index: number) => number | undefined,\n): {\n checkIRs: CheckOrEffectIR[];\n hasFallback: boolean;\n} {\n const checkIRs: CheckOrEffectIR[] = [];\n let hasFallback = false;\n\n for (const [index, check] of checks.entries()) {\n const def = check._zod?.def;\n if (!def) continue;\n\n // Checks gated by a user-supplied runtime `when` predicate or abort:true\n // can't be reproduced in compiled output — delegate the schema to Zod.\n if (hasUncompilableModifiers(def)) {\n hasFallback = true;\n continue;\n }\n\n // Per-check custom error: bake static messages into the IR; error maps\n // that read the issue (dynamic) can't be compiled — fall back so Zod\n // produces the exact message.\n const resolved = resolveCheckMessage(def.error);\n if (resolved.kind === \"dynamic\") {\n hasFallback = true;\n continue;\n }\n const message = resolved.kind === \"static\" ? { message: resolved.message } : {};\n\n switch (def.check) {\n case \"min_length\":\n checkIRs.push({ kind: \"min_length\", minimum: def.minimum, ...message });\n break;\n case \"max_length\":\n checkIRs.push({ kind: \"max_length\", maximum: def.maximum, ...message });\n break;\n case \"length_equals\":\n checkIRs.push({ kind: \"length_equals\", length: def.length, ...message });\n break;\n case \"greater_than\":\n checkIRs.push({\n kind: \"greater_than\",\n value: def.value,\n inclusive: def.inclusive,\n ...message,\n });\n break;\n case \"less_than\":\n checkIRs.push({\n kind: \"less_than\",\n value: def.value,\n inclusive: def.inclusive,\n ...message,\n });\n break;\n case \"multiple_of\":\n checkIRs.push({ kind: \"multiple_of\", value: def.value, ...message });\n break;\n case \"number_format\":\n checkIRs.push({\n kind: \"number_format\",\n format: def.format as \"safeint\" | \"int32\" | \"uint32\" | \"float32\" | \"float64\",\n ...message,\n });\n break;\n case \"string_format\": {\n if (def.format === \"includes\" && typeof def.includes === \"string\") {\n checkIRs.push({\n kind: \"includes\",\n includes: def.includes,\n ...(typeof def.position === \"number\" ? { position: def.position } : {}),\n ...message,\n });\n break;\n }\n if (def.format === \"starts_with\" && typeof def.prefix === \"string\") {\n checkIRs.push({ kind: \"starts_with\", prefix: def.prefix, ...message });\n break;\n }\n if (def.format === \"ends_with\" && typeof def.suffix === \"string\") {\n checkIRs.push({ kind: \"ends_with\", suffix: def.suffix, ...message });\n break;\n }\n if (def.format === \"url\") {\n checkIRs.push({\n kind: \"string_format\",\n format: \"url\",\n ...regexFields(\"hostname\", \"hostnameFlags\", def.hostname),\n ...regexFields(\"protocol\", \"protocolFlags\", def.protocol),\n ...(def.normalize ? { normalize: true } : {}),\n ...message,\n });\n break;\n }\n if (NON_AUTHORITATIVE_PATTERN_FORMATS.has(def.format)) {\n hasFallback = true;\n break;\n }\n const pattern = def.pattern instanceof RegExp ? def.pattern.source : def.pattern;\n const flags = def.pattern instanceof RegExp && def.pattern.flags ? def.pattern.flags : \"\";\n if (!pattern && !PATTERNLESS_FORMATS.has(def.format)) {\n // Algorithmic format (e.g. jwt) — nothing to compile.\n hasFallback = true;\n break;\n }\n checkIRs.push({\n kind: \"string_format\",\n format: def.format,\n ...(pattern ? { pattern } : {}),\n ...(flags ? { patternFlags: flags } : {}),\n ...message,\n });\n break;\n }\n case \"overwrite\": {\n // $ZodCheckOverwrite (.trim(), .toLowerCase(), ...): value = def.tx(value)\n const source = tryCompileEffect(def.tx);\n if (source) {\n checkIRs.push({ kind: \"overwrite_effect\", source });\n } else {\n hasFallback = true;\n }\n break;\n }\n case \"custom\": {\n // superRefine / raw .check(): the callback collects issues from zod's\n // payload rather than returning a verdict, so it is referenced and\n // called with a synthesized payload (see SuperRefineEffectCheckIR).\n if (isPayloadCheck(check)) {\n const payloadRef = payloadRefFor?.(index);\n if (payloadRef === undefined) {\n hasFallback = true;\n break;\n }\n checkIRs.push({ kind: \"super_refine_effect\", refIndex: payloadRef });\n break;\n }\n // `.refine(fn, { path })` reports the issue against a member of the\n // refined value; anything but plain string/number segments is a shape\n // the generated path expression cannot reproduce.\n const customPath = Array.isArray(def.path) ? def.path : undefined;\n if (customPath?.some((p) => typeof p !== \"string\" && typeof p !== \"number\")) {\n hasFallback = true;\n break;\n }\n const pathIR = customPath && customPath.length > 0 ? { path: customPath } : {};\n const source = tryCompileEffect(def.fn);\n if (source) {\n checkIRs.push({ kind: \"refine_effect\", source, ...pathIR, ...message });\n break;\n }\n // Not inlineable (the predicate captures outer variables). Call the\n // user's own function object through a schema reference instead of\n // delegating: a captured `.refine()` at the root otherwise costs the\n // whole schema its compiled path.\n const refIndex = refineRef?.(index);\n if (refIndex !== undefined) {\n checkIRs.push({ kind: \"refine_effect\", refIndex, ...pathIR, ...message });\n } else {\n hasFallback = true;\n }\n break;\n }\n default:\n // Unknown check kind — never drop silently; delegate to Zod.\n hasFallback = true;\n break;\n }\n }\n\n return { checkIRs, hasFallback };\n}\n\nfunction regexFields(\n sourceKey: \"hostname\" | \"protocol\",\n flagsKey: \"hostnameFlags\" | \"protocolFlags\",\n value: unknown,\n): Partial<CheckStringFormat> {\n if (!(value instanceof RegExp)) return {};\n return { [sourceKey]: value.source, ...(value.flags ? { [flagsKey]: value.flags } : {}) };\n}\n\n// ─── Static error message extraction ────────────────────────────────────────\n\nexport type ResolvedMessage =\n | { kind: \"none\" }\n | { kind: \"static\"; message: string }\n | { kind: \"dynamic\" };\n\n/**\n * Classify a check/schema-level `error` param.\n *\n * Zod normalizes `.min(3, \"msg\")` / `{ error: \"msg\" }` / `{ message: \"msg\" }`\n * into an error-map function that ignores its issue argument and returns the\n * string. We call the function with an access-tracking Proxy: if it never\n * inspects the issue, its return value is a constant we can bake into the\n * generated issue. If it reads any issue property (input-dependent message),\n * it is dynamic and the schema must fall back to Zod for exact messages.\n */\nexport function resolveCheckMessage(error: unknown): ResolvedMessage {\n if (error === null || error === undefined) return { kind: \"none\" };\n if (typeof error === \"string\") return { kind: \"static\", message: error };\n if (typeof error !== \"function\") return { kind: \"dynamic\" };\n\n let accessed = false;\n const track = () => {\n accessed = true;\n };\n const probe = new Proxy(\n {},\n {\n get(_t, prop) {\n track();\n // Avoid breaking string coercion / await probing inside error maps.\n if (prop === Symbol.toPrimitive || prop === \"toString\" || prop === \"valueOf\") {\n return () => \"\";\n }\n return undefined;\n },\n has() {\n track();\n return false;\n },\n ownKeys() {\n track();\n return [];\n },\n getOwnPropertyDescriptor() {\n track();\n return undefined;\n },\n },\n );\n\n let result: unknown;\n try {\n result = (error as (issue: unknown) => unknown)(probe);\n } catch {\n return { kind: \"dynamic\" };\n }\n if (accessed) return { kind: \"dynamic\" };\n if (typeof result === \"string\") return { kind: \"static\", message: result };\n if (\n result !== null &&\n typeof result === \"object\" &&\n typeof (result as { message?: unknown }).message === \"string\"\n ) {\n return { kind: \"static\", message: (result as { message: string }).message };\n }\n // Error map deferred (returned undefined) — no custom message.\n if (result === undefined) return { kind: \"none\" };\n return { kind: \"dynamic\" };\n}\n"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ //#region src/core/extract/effects.d.ts
1
2
  /**
2
3
  * Effect compilation utilities.
3
4
  * Uses fn.toString() to extract function source text from live Zod schema references,
@@ -12,7 +13,7 @@
12
13
  * (superRefine-style issue collection), and an async/generator function returns
13
14
  * a promise where zod's synchronous parse raises $ZodAsyncError.
14
15
  */
15
- export declare function isReferenceablePredicate(fn: unknown): boolean;
16
+ declare function isReferenceablePredicate(fn: unknown): boolean;
16
17
  /**
17
18
  * A `superRefine`: a `custom` check whose callback takes zod's PAYLOAD rather
18
19
  * than the value, collecting issues instead of returning a verdict. Zod stores
@@ -26,20 +27,22 @@ export declare function isReferenceablePredicate(fn: unknown): boolean;
26
27
  * unmediated. A `when` predicate is likewise refused: it makes zod run the
27
28
  * check conditionally, where generated code runs it always.
28
29
  */
29
- export declare function isPayloadCheck(check: {
30
- _zod?: {
31
- check?: unknown;
32
- def?: {
33
- fn?: unknown;
34
- when?: unknown;
35
- };
36
- traits?: Set<string>;
30
+ declare function isPayloadCheck(check: {
31
+ _zod?: {
32
+ check?: unknown;
33
+ def?: {
34
+ fn?: unknown;
35
+ when?: unknown;
37
36
  };
37
+ traits?: Set<string>;
38
+ };
38
39
  }): boolean;
39
40
  /**
40
41
  * Try to compile a function into an inlineable source string.
41
42
  * Returns the function source if it's a zero-capture function (safe to inline),
42
43
  * or undefined if it cannot be compiled (async, has captures, or parse failure).
43
44
  */
44
- export declare function tryCompileEffect(fn: unknown): string | undefined;
45
+ declare function tryCompileEffect(fn: unknown): string | undefined;
46
+ //#endregion
47
+ export { isPayloadCheck, isReferenceablePredicate, tryCompileEffect };
45
48
  //# sourceMappingURL=effects.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"effects.d.ts","sourceRoot":"","sources":["../../../src/core/extract/effects.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA2CH;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAO7D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE;YAAE,EAAE,CAAC,EAAE,OAAO,CAAC;YAAC,IAAI,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;CAC1F,GAAG,OAAO,CAOV;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAgEhE"}
1
+ {"version":3,"file":"effects.d.ts","names":[],"sources":["../../../src/core/extract/effects.ts"],"mappings":";;;;;;;;;;;;;;;iBAwDgB,yBAAyB;;;;;;;;;;;;;;iBAsBzB,eAAe;EAC7B;IAAS;IAAiB;MAAQ;MAAc;;IAAkB,SAAS;;;;;;;;iBAe7D,iBAAiB"}
@@ -1,240 +1,171 @@
1
- /**
2
- * Effect compilation utilities.
3
- * Uses fn.toString() to extract function source text from live Zod schema references,
4
- * then classifies whether the function can be safely inlined (zero external captures).
5
- */
6
1
  import { parseExpressionAt } from "acorn";
7
- // Well-known globals that are safe to reference in inlined functions
8
- const SAFE_GLOBALS = new Set([
9
- "undefined",
10
- "null",
11
- "NaN",
12
- "Infinity",
13
- "Math",
14
- "Number",
15
- "String",
16
- "Boolean",
17
- "Array",
18
- "Object",
19
- "JSON",
20
- "Date",
21
- "RegExp",
22
- "parseInt",
23
- "parseFloat",
24
- "isNaN",
25
- "isFinite",
26
- "encodeURI",
27
- "decodeURI",
28
- "encodeURIComponent",
29
- "decodeURIComponent",
30
- "BigInt",
31
- "Symbol",
32
- "Map",
33
- "Set",
34
- "Error",
35
- "TypeError",
36
- "RangeError",
37
- "SyntaxError",
38
- "ReferenceError",
39
- "Promise",
40
- "globalThis",
41
- "true",
42
- "false",
2
+ //#region src/core/extract/effects.ts
3
+ const SAFE_GLOBALS = /* @__PURE__ */ new Set([
4
+ "undefined",
5
+ "null",
6
+ "NaN",
7
+ "Infinity",
8
+ "Math",
9
+ "Number",
10
+ "String",
11
+ "Boolean",
12
+ "Array",
13
+ "Object",
14
+ "JSON",
15
+ "Date",
16
+ "RegExp",
17
+ "parseInt",
18
+ "parseFloat",
19
+ "isNaN",
20
+ "isFinite",
21
+ "encodeURI",
22
+ "decodeURI",
23
+ "encodeURIComponent",
24
+ "decodeURIComponent",
25
+ "BigInt",
26
+ "Symbol",
27
+ "Map",
28
+ "Set",
29
+ "Error",
30
+ "TypeError",
31
+ "RangeError",
32
+ "SyntaxError",
33
+ "ReferenceError",
34
+ "Promise",
35
+ "globalThis",
36
+ "true",
37
+ "false"
43
38
  ]);
44
39
  /**
45
- * Can this refine predicate be CALLED by reference from generated code?
46
- *
47
- * Weaker than {@link tryCompileEffect}: the callback keeps its own closure, so
48
- * captures are fine — only shapes whose semantics the generated call could not
49
- * reproduce are rejected. A second parameter means the zod `ctx` protocol
50
- * (superRefine-style issue collection), and an async/generator function returns
51
- * a promise where zod's synchronous parse raises $ZodAsyncError.
52
- */
53
- export function isReferenceablePredicate(fn) {
54
- if (typeof fn !== "function")
55
- return false;
56
- if (fn.length >= 2)
57
- return false;
58
- const kind = fn.constructor?.name;
59
- return (kind !== "AsyncFunction" && kind !== "GeneratorFunction" && kind !== "AsyncGeneratorFunction");
40
+ * Can this refine predicate be CALLED by reference from generated code?
41
+ *
42
+ * Weaker than {@link tryCompileEffect}: the callback keeps its own closure, so
43
+ * captures are fine — only shapes whose semantics the generated call could not
44
+ * reproduce are rejected. A second parameter means the zod `ctx` protocol
45
+ * (superRefine-style issue collection), and an async/generator function returns
46
+ * a promise where zod's synchronous parse raises $ZodAsyncError.
47
+ */
48
+ function isReferenceablePredicate(fn) {
49
+ if (typeof fn !== "function") return false;
50
+ if (fn.length >= 2) return false;
51
+ const kind = fn.constructor?.name;
52
+ return kind !== "AsyncFunction" && kind !== "GeneratorFunction" && kind !== "AsyncGeneratorFunction";
60
53
  }
61
54
  /**
62
- * A `superRefine`: a `custom` check whose callback takes zod's PAYLOAD rather
63
- * than the value, collecting issues instead of returning a verdict. Zod stores
64
- * it on the check instance (`_zod.check`) rather than `def.fn`.
65
- *
66
- * Narrowed to zod's OWN wrapper, which is what `_superRefine` builds and the
67
- * only thing whose payload handling is modelled here: it installs `addIssue`,
68
- * so every issue the user adds has been through `util.issue`. The trait marks a
69
- * genuine `$ZodCheck` instance and so excludes a raw `.check(fn)` — shape-
70
- * identical, but there the callback IS the user's, holding the payload
71
- * unmediated. A `when` predicate is likewise refused: it makes zod run the
72
- * check conditionally, where generated code runs it always.
73
- */
74
- export function isPayloadCheck(check) {
75
- return (check._zod?.def?.fn === undefined &&
76
- check._zod?.def?.when === undefined &&
77
- typeof check._zod?.check === "function" &&
78
- check._zod?.traits?.has("$ZodCheck") === true);
55
+ * A `superRefine`: a `custom` check whose callback takes zod's PAYLOAD rather
56
+ * than the value, collecting issues instead of returning a verdict. Zod stores
57
+ * it on the check instance (`_zod.check`) rather than `def.fn`.
58
+ *
59
+ * Narrowed to zod's OWN wrapper, which is what `_superRefine` builds and the
60
+ * only thing whose payload handling is modelled here: it installs `addIssue`,
61
+ * so every issue the user adds has been through `util.issue`. The trait marks a
62
+ * genuine `$ZodCheck` instance and so excludes a raw `.check(fn)` — shape-
63
+ * identical, but there the callback IS the user's, holding the payload
64
+ * unmediated. A `when` predicate is likewise refused: it makes zod run the
65
+ * check conditionally, where generated code runs it always.
66
+ */
67
+ function isPayloadCheck(check) {
68
+ return check._zod?.def?.fn === void 0 && check._zod?.def?.when === void 0 && typeof check._zod?.check === "function" && check._zod?.traits?.has("$ZodCheck") === true;
79
69
  }
80
70
  /**
81
- * Try to compile a function into an inlineable source string.
82
- * Returns the function source if it's a zero-capture function (safe to inline),
83
- * or undefined if it cannot be compiled (async, has captures, or parse failure).
84
- */
85
- export function tryCompileEffect(fn) {
86
- if (typeof fn !== "function")
87
- return undefined;
88
- const source = fn.toString();
89
- // Quick reject: native functions
90
- if (source.includes("[native code]"))
91
- return undefined;
92
- let ast;
93
- try {
94
- ast = parseExpressionAt(source, 0, {
95
- ecmaVersion: "latest",
96
- sourceType: "module",
97
- });
98
- }
99
- catch {
100
- // Parse failed — likely TypeScript annotations or unsupported syntax
101
- return undefined;
102
- }
103
- // Reject async and generator functions
104
- if ("async" in ast && ast.async)
105
- return undefined;
106
- if ("generator" in ast && ast.generator)
107
- return undefined;
108
- // Collect parameter names
109
- const params = new Set();
110
- const fnNode = ast;
111
- // Reject functions with 2+ required parameters (uses Zod ctx argument).
112
- // transform(value, ctx) and superRefine(value, ctx) rely on ctx for
113
- // issue collection, which cannot be reproduced in compiled output.
114
- // fn.length counts parameters before the first default, so (v, base=10)
115
- // has length 1 (allowed) while (v, ctx) has length 2 (rejected).
116
- if (fn.length >= 2)
117
- return undefined;
118
- if (fnNode.params) {
119
- for (const param of fnNode.params) {
120
- collectBindingNames(param, params);
121
- }
122
- }
123
- // Collect local variable declarations in the body
124
- const locals = new Set();
125
- if (fnNode.body && fnNode.body.type === "BlockStatement") {
126
- collectLocals(fnNode.body, locals);
127
- }
128
- // Collect all identifier references in the body
129
- const refs = new Set();
130
- if (fnNode.body) {
131
- collectIdentifierRefs(fnNode.body, refs);
132
- }
133
- // Check for external captures
134
- for (const ref of refs) {
135
- if (!params.has(ref) && !locals.has(ref) && !SAFE_GLOBALS.has(ref)) {
136
- return undefined; // Has external capture
137
- }
138
- }
139
- return source;
71
+ * Try to compile a function into an inlineable source string.
72
+ * Returns the function source if it's a zero-capture function (safe to inline),
73
+ * or undefined if it cannot be compiled (async, has captures, or parse failure).
74
+ */
75
+ function tryCompileEffect(fn) {
76
+ if (typeof fn !== "function") return void 0;
77
+ const source = fn.toString();
78
+ if (source.includes("[native code]")) return void 0;
79
+ let ast;
80
+ try {
81
+ ast = parseExpressionAt(source, 0, {
82
+ ecmaVersion: "latest",
83
+ sourceType: "module"
84
+ });
85
+ } catch {
86
+ return;
87
+ }
88
+ if ("async" in ast && ast.async) return void 0;
89
+ if ("generator" in ast && ast.generator) return void 0;
90
+ const params = /* @__PURE__ */ new Set();
91
+ const fnNode = ast;
92
+ if (fn.length >= 2) return void 0;
93
+ if (fnNode.params) for (const param of fnNode.params) collectBindingNames(param, params);
94
+ const locals = /* @__PURE__ */ new Set();
95
+ if (fnNode.body && fnNode.body.type === "BlockStatement") collectLocals(fnNode.body, locals);
96
+ const refs = /* @__PURE__ */ new Set();
97
+ if (fnNode.body) collectIdentifierRefs(fnNode.body, refs);
98
+ for (const ref of refs) if (!params.has(ref) && !locals.has(ref) && !SAFE_GLOBALS.has(ref)) return;
99
+ return source;
140
100
  }
141
101
  /** Collect binding names from a parameter pattern (handles destructuring). */
142
102
  function collectBindingNames(node, names) {
143
- switch (node.type) {
144
- case "Identifier":
145
- names.add(node.name);
146
- break;
147
- case "AssignmentPattern":
148
- collectBindingNames(node.left, names);
149
- break;
150
- case "ObjectPattern":
151
- for (const prop of node.properties) {
152
- if (prop.type === "RestElement") {
153
- collectBindingNames(prop.argument, names);
154
- }
155
- else {
156
- collectBindingNames(prop.value, names);
157
- }
158
- }
159
- break;
160
- case "ArrayPattern":
161
- for (const elem of node.elements) {
162
- if (elem)
163
- collectBindingNames(elem, names);
164
- }
165
- break;
166
- case "RestElement":
167
- collectBindingNames(node.argument, names);
168
- break;
169
- }
103
+ switch (node.type) {
104
+ case "Identifier":
105
+ names.add(node.name);
106
+ break;
107
+ case "AssignmentPattern":
108
+ collectBindingNames(node.left, names);
109
+ break;
110
+ case "ObjectPattern":
111
+ for (const prop of node.properties) if (prop.type === "RestElement") collectBindingNames(prop.argument, names);
112
+ else collectBindingNames(prop.value, names);
113
+ break;
114
+ case "ArrayPattern":
115
+ for (const elem of node.elements) if (elem) collectBindingNames(elem, names);
116
+ break;
117
+ case "RestElement":
118
+ collectBindingNames(node.argument, names);
119
+ break;
120
+ }
170
121
  }
171
122
  /** Collect locally declared variable names from a block body. */
172
123
  function collectLocals(body, locals) {
173
- const block = body;
174
- if (!block.body)
175
- return;
176
- for (const stmt of block.body) {
177
- if (stmt.type === "VariableDeclaration") {
178
- for (const decl of stmt.declarations) {
179
- const id = decl.id;
180
- collectBindingNames(id, locals);
181
- }
182
- }
183
- }
124
+ const block = body;
125
+ if (!block.body) return;
126
+ for (const stmt of block.body) if (stmt.type === "VariableDeclaration") for (const decl of stmt.declarations) {
127
+ const id = decl.id;
128
+ collectBindingNames(id, locals);
129
+ }
184
130
  }
185
131
  /** Collect all identifier references in an AST subtree. */
186
132
  function collectIdentifierRefs(node, refs) {
187
- if (node.type === "Identifier") {
188
- refs.add(node.name);
189
- return;
190
- }
191
- // `this` in arrow functions captures from enclosing scope — treat as external capture
192
- if (node.type === "ThisExpression") {
193
- refs.add("this");
194
- return;
195
- }
196
- // Skip property access identifiers (obj.prop — "prop" is not a reference)
197
- if (node.type === "MemberExpression") {
198
- const member = node;
199
- collectIdentifierRefs(member.object, refs);
200
- if (member.computed) {
201
- collectIdentifierRefs(member.property, refs);
202
- }
203
- return;
204
- }
205
- // Object literal properties: skip non-computed keys, only walk values
206
- if (node.type === "Property") {
207
- const prop = node;
208
- if (prop.computed) {
209
- collectIdentifierRefs(prop.key, refs);
210
- }
211
- collectIdentifierRefs(prop.value, refs);
212
- return;
213
- }
214
- // Skip binding positions in variable declarations, function params, etc.
215
- if (node.type === "VariableDeclarator") {
216
- const decl = node;
217
- if (decl.init)
218
- collectIdentifierRefs(decl.init, refs);
219
- return;
220
- }
221
- // Recursively walk all child nodes
222
- for (const key of Object.keys(node)) {
223
- if (key === "type" || key === "start" || key === "end")
224
- continue;
225
- const child = node[key];
226
- if (child && typeof child === "object") {
227
- if (Array.isArray(child)) {
228
- for (const item of child) {
229
- if (item && typeof item === "object" && "type" in item) {
230
- collectIdentifierRefs(item, refs);
231
- }
232
- }
233
- }
234
- else if ("type" in child) {
235
- collectIdentifierRefs(child, refs);
236
- }
237
- }
238
- }
133
+ if (node.type === "Identifier") {
134
+ refs.add(node.name);
135
+ return;
136
+ }
137
+ if (node.type === "ThisExpression") {
138
+ refs.add("this");
139
+ return;
140
+ }
141
+ if (node.type === "MemberExpression") {
142
+ const member = node;
143
+ collectIdentifierRefs(member.object, refs);
144
+ if (member.computed) collectIdentifierRefs(member.property, refs);
145
+ return;
146
+ }
147
+ if (node.type === "Property") {
148
+ const prop = node;
149
+ if (prop.computed) collectIdentifierRefs(prop.key, refs);
150
+ collectIdentifierRefs(prop.value, refs);
151
+ return;
152
+ }
153
+ if (node.type === "VariableDeclarator") {
154
+ const decl = node;
155
+ if (decl.init) collectIdentifierRefs(decl.init, refs);
156
+ return;
157
+ }
158
+ for (const key of Object.keys(node)) {
159
+ if (key === "type" || key === "start" || key === "end") continue;
160
+ const child = node[key];
161
+ if (child && typeof child === "object") {
162
+ if (Array.isArray(child)) {
163
+ for (const item of child) if (item && typeof item === "object" && "type" in item) collectIdentifierRefs(item, refs);
164
+ } else if ("type" in child) collectIdentifierRefs(child, refs);
165
+ }
166
+ }
239
167
  }
168
+ //#endregion
169
+ export { isPayloadCheck, isReferenceablePredicate, tryCompileEffect };
170
+
240
171
  //# sourceMappingURL=effects.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"effects.js","sourceRoot":"","sources":["../../../src/core/extract/effects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"effects.js","names":[],"sources":["../../../src/core/extract/effects.ts"],"sourcesContent":["/**\n * Effect compilation utilities.\n * Uses fn.toString() to extract function source text from live Zod schema references,\n * then classifies whether the function can be safely inlined (zero external captures).\n */\n\nimport type { Node } from \"acorn\";\nimport { parseExpressionAt } from \"acorn\";\n\n// Well-known globals that are safe to reference in inlined functions\nconst SAFE_GLOBALS = new Set([\n \"undefined\",\n \"null\",\n \"NaN\",\n \"Infinity\",\n \"Math\",\n \"Number\",\n \"String\",\n \"Boolean\",\n \"Array\",\n \"Object\",\n \"JSON\",\n \"Date\",\n \"RegExp\",\n \"parseInt\",\n \"parseFloat\",\n \"isNaN\",\n \"isFinite\",\n \"encodeURI\",\n \"decodeURI\",\n \"encodeURIComponent\",\n \"decodeURIComponent\",\n \"BigInt\",\n \"Symbol\",\n \"Map\",\n \"Set\",\n \"Error\",\n \"TypeError\",\n \"RangeError\",\n \"SyntaxError\",\n \"ReferenceError\",\n \"Promise\",\n \"globalThis\",\n \"true\",\n \"false\",\n]);\n\n/**\n * Can this refine predicate be CALLED by reference from generated code?\n *\n * Weaker than {@link tryCompileEffect}: the callback keeps its own closure, so\n * captures are fine — only shapes whose semantics the generated call could not\n * reproduce are rejected. A second parameter means the zod `ctx` protocol\n * (superRefine-style issue collection), and an async/generator function returns\n * a promise where zod's synchronous parse raises $ZodAsyncError.\n */\nexport function isReferenceablePredicate(fn: unknown): boolean {\n if (typeof fn !== \"function\") return false;\n if (fn.length >= 2) return false;\n const kind = fn.constructor?.name;\n return (\n kind !== \"AsyncFunction\" && kind !== \"GeneratorFunction\" && kind !== \"AsyncGeneratorFunction\"\n );\n}\n\n/**\n * A `superRefine`: a `custom` check whose callback takes zod's PAYLOAD rather\n * than the value, collecting issues instead of returning a verdict. Zod stores\n * it on the check instance (`_zod.check`) rather than `def.fn`.\n *\n * Narrowed to zod's OWN wrapper, which is what `_superRefine` builds and the\n * only thing whose payload handling is modelled here: it installs `addIssue`,\n * so every issue the user adds has been through `util.issue`. The trait marks a\n * genuine `$ZodCheck` instance and so excludes a raw `.check(fn)` — shape-\n * identical, but there the callback IS the user's, holding the payload\n * unmediated. A `when` predicate is likewise refused: it makes zod run the\n * check conditionally, where generated code runs it always.\n */\nexport function isPayloadCheck(check: {\n _zod?: { check?: unknown; def?: { fn?: unknown; when?: unknown }; traits?: Set<string> };\n}): boolean {\n return (\n check._zod?.def?.fn === undefined &&\n check._zod?.def?.when === undefined &&\n typeof check._zod?.check === \"function\" &&\n check._zod?.traits?.has(\"$ZodCheck\") === true\n );\n}\n\n/**\n * Try to compile a function into an inlineable source string.\n * Returns the function source if it's a zero-capture function (safe to inline),\n * or undefined if it cannot be compiled (async, has captures, or parse failure).\n */\nexport function tryCompileEffect(fn: unknown): string | undefined {\n if (typeof fn !== \"function\") return undefined;\n\n const source = fn.toString();\n\n // Quick reject: native functions\n if (source.includes(\"[native code]\")) return undefined;\n\n let ast: Node;\n try {\n ast = parseExpressionAt(source, 0, {\n ecmaVersion: \"latest\",\n sourceType: \"module\",\n });\n } catch {\n // Parse failed — likely TypeScript annotations or unsupported syntax\n return undefined;\n }\n\n // Reject async and generator functions\n if (\"async\" in ast && (ast as { async?: boolean }).async) return undefined;\n if (\"generator\" in ast && (ast as { generator?: boolean }).generator) return undefined;\n\n // Collect parameter names\n const params = new Set<string>();\n const fnNode = ast as {\n type: string;\n params?: Node[];\n body?: Node;\n };\n\n // Reject functions with 2+ required parameters (uses Zod ctx argument).\n // transform(value, ctx) and superRefine(value, ctx) rely on ctx for\n // issue collection, which cannot be reproduced in compiled output.\n // fn.length counts parameters before the first default, so (v, base=10)\n // has length 1 (allowed) while (v, ctx) has length 2 (rejected).\n if ((fn as { length: number }).length >= 2) return undefined;\n\n if (fnNode.params) {\n for (const param of fnNode.params) {\n collectBindingNames(param, params);\n }\n }\n\n // Collect local variable declarations in the body\n const locals = new Set<string>();\n if (fnNode.body && fnNode.body.type === \"BlockStatement\") {\n collectLocals(fnNode.body, locals);\n }\n\n // Collect all identifier references in the body\n const refs = new Set<string>();\n if (fnNode.body) {\n collectIdentifierRefs(fnNode.body, refs);\n }\n\n // Check for external captures\n for (const ref of refs) {\n if (!params.has(ref) && !locals.has(ref) && !SAFE_GLOBALS.has(ref)) {\n return undefined; // Has external capture\n }\n }\n\n return source;\n}\n\n/** Collect binding names from a parameter pattern (handles destructuring). */\nfunction collectBindingNames(node: Node, names: Set<string>): void {\n switch (node.type) {\n case \"Identifier\":\n names.add((node as Node & { name: string }).name);\n break;\n case \"AssignmentPattern\":\n collectBindingNames((node as Node & { left: Node }).left, names);\n break;\n case \"ObjectPattern\":\n for (const prop of (node as Node & { properties: Node[] }).properties) {\n if (prop.type === \"RestElement\") {\n collectBindingNames((prop as Node & { argument: Node }).argument, names);\n } else {\n collectBindingNames((prop as Node & { value: Node }).value, names);\n }\n }\n break;\n case \"ArrayPattern\":\n for (const elem of (node as Node & { elements: (Node | null)[] }).elements) {\n if (elem) collectBindingNames(elem, names);\n }\n break;\n case \"RestElement\":\n collectBindingNames((node as Node & { argument: Node }).argument, names);\n break;\n }\n}\n\n/** Collect locally declared variable names from a block body. */\nfunction collectLocals(body: Node, locals: Set<string>): void {\n const block = body as Node & { body: Node[] };\n if (!block.body) return;\n for (const stmt of block.body) {\n if (stmt.type === \"VariableDeclaration\") {\n for (const decl of (stmt as Node & { declarations: Node[] }).declarations) {\n const id = (decl as Node & { id: Node }).id;\n collectBindingNames(id, locals);\n }\n }\n }\n}\n\n/** Collect all identifier references in an AST subtree. */\nfunction collectIdentifierRefs(node: Node, refs: Set<string>): void {\n if (node.type === \"Identifier\") {\n refs.add((node as Node & { name: string }).name);\n return;\n }\n\n // `this` in arrow functions captures from enclosing scope — treat as external capture\n if (node.type === \"ThisExpression\") {\n refs.add(\"this\");\n return;\n }\n\n // Skip property access identifiers (obj.prop — \"prop\" is not a reference)\n if (node.type === \"MemberExpression\") {\n const member = node as Node & { object: Node; property: Node; computed: boolean };\n collectIdentifierRefs(member.object, refs);\n if (member.computed) {\n collectIdentifierRefs(member.property, refs);\n }\n return;\n }\n\n // Object literal properties: skip non-computed keys, only walk values\n if (node.type === \"Property\") {\n const prop = node as Node & { key: Node; value: Node; computed: boolean };\n if (prop.computed) {\n collectIdentifierRefs(prop.key, refs);\n }\n collectIdentifierRefs(prop.value, refs);\n return;\n }\n\n // Skip binding positions in variable declarations, function params, etc.\n if (node.type === \"VariableDeclarator\") {\n const decl = node as Node & { init: Node | null };\n if (decl.init) collectIdentifierRefs(decl.init, refs);\n return;\n }\n\n // Recursively walk all child nodes\n for (const key of Object.keys(node)) {\n if (key === \"type\" || key === \"start\" || key === \"end\") continue;\n const child = (node as unknown as Record<string, unknown>)[key];\n if (child && typeof child === \"object\") {\n if (Array.isArray(child)) {\n for (const item of child) {\n if (item && typeof item === \"object\" && \"type\" in item) {\n collectIdentifierRefs(item as Node, refs);\n }\n }\n } else if (\"type\" in child) {\n collectIdentifierRefs(child as Node, refs);\n }\n }\n }\n}\n"],"mappings":"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"}
@@ -1,3 +1,6 @@
1
- import type { Extractor } from "../types.js";
2
- export declare const extractAny: Extractor;
1
+ import { Extractor } from "../types.js";
2
+ //#region src/core/extract/extractors/any.d.ts
3
+ declare const extractAny: Extractor;
4
+ //#endregion
5
+ export { extractAny };
3
6
  //# sourceMappingURL=any.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"any.d.ts","sourceRoot":"","sources":["../../../../src/core/extract/extractors/any.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,eAAO,MAAM,UAAU,EAAE,SAAmC,CAAC"}
1
+ {"version":3,"file":"any.d.ts","names":[],"sources":["../../../../src/core/extract/extractors/any.ts"],"mappings":";;cAEa,YAAY"}
@@ -1,2 +1,6 @@
1
- export const extractAny = () => ({ type: "any" });
1
+ //#region src/core/extract/extractors/any.ts
2
+ const extractAny = () => ({ type: "any" });
3
+ //#endregion
4
+ export { extractAny };
5
+
2
6
  //# sourceMappingURL=any.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"any.js","sourceRoot":"","sources":["../../../../src/core/extract/extractors/any.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,UAAU,GAAc,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"any.js","names":[],"sources":["../../../../src/core/extract/extractors/any.ts"],"sourcesContent":["import type { Extractor } from \"../types.js\";\n\nexport const extractAny: Extractor = () => ({ type: \"any\" });\n"],"mappings":";AAEA,MAAa,oBAA+B,EAAE,MAAM,MAAM"}
@@ -1,4 +1,7 @@
1
- import type { SchemaIR } from "../../types.js";
2
- import type { ExtractorContext, ZodDef } from "../types.js";
3
- export declare function extractArray(def: ZodDef, ctx: ExtractorContext): SchemaIR;
1
+ import { SchemaIR } from "../../types.js";
2
+ import { ExtractorContext, ZodDef } from "../types.js";
3
+ //#region src/core/extract/extractors/array.d.ts
4
+ declare function extractArray(def: ZodDef, ctx: ExtractorContext): SchemaIR;
5
+ //#endregion
6
+ export { extractArray };
4
7
  //# sourceMappingURL=array.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../../src/core/extract/extractors/array.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAW5D,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,GAAG,QAAQ,CAiBzE"}
1
+ {"version":3,"file":"array.d.ts","names":[],"sources":["../../../../src/core/extract/extractors/array.ts"],"mappings":";;;iBAagB,aAAa,KAAK,QAAQ,KAAK,mBAAmB"}