moonflower 1.2.0 → 1.3.1

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 (435) hide show
  1. package/cli/entry.cjs +1 -1
  2. package/dist/cli/cli.cjs +2 -0
  3. package/dist/cli/cli.cjs.map +1 -0
  4. package/dist/cli/cli.d.ts +2 -0
  5. package/dist/cli/cli.d.ts.map +1 -0
  6. package/dist/cli/cli.mjs +62 -0
  7. package/dist/cli/cli.mjs.map +1 -0
  8. package/dist/cli/prettyprint.cjs +2 -0
  9. package/dist/cli/prettyprint.cjs.map +1 -0
  10. package/dist/cli/prettyprint.d.ts +5 -0
  11. package/dist/cli/prettyprint.d.ts.map +1 -0
  12. package/dist/cli/prettyprint.mjs +15 -0
  13. package/dist/cli/prettyprint.mjs.map +1 -0
  14. package/dist/errors/UserFacingErrors.cjs +1 -1
  15. package/dist/errors/UserFacingErrors.cjs.map +1 -1
  16. package/dist/errors/UserFacingErrors.d.ts +27 -0
  17. package/dist/errors/UserFacingErrors.d.ts.map +1 -1
  18. package/dist/errors/UserFacingErrors.mjs +67 -13
  19. package/dist/errors/UserFacingErrors.mjs.map +1 -1
  20. package/dist/hooks/usePathParams.cjs +1 -1
  21. package/dist/hooks/usePathParams.cjs.map +1 -1
  22. package/dist/hooks/usePathParams.d.ts.map +1 -1
  23. package/dist/hooks/usePathParams.mjs +20 -27
  24. package/dist/hooks/usePathParams.mjs.map +1 -1
  25. package/dist/hooks/useQueryParams.cjs +1 -1
  26. package/dist/hooks/useQueryParams.cjs.map +1 -1
  27. package/dist/hooks/useQueryParams.d.ts +4 -3
  28. package/dist/hooks/useQueryParams.d.ts.map +1 -1
  29. package/dist/hooks/useQueryParams.mjs +24 -33
  30. package/dist/hooks/useQueryParams.mjs.map +1 -1
  31. package/dist/hooks/useRequestBody.cjs +1 -1
  32. package/dist/hooks/useRequestBody.cjs.map +1 -1
  33. package/dist/hooks/useRequestBody.d.ts +4 -3
  34. package/dist/hooks/useRequestBody.d.ts.map +1 -1
  35. package/dist/hooks/useRequestBody.mjs +23 -34
  36. package/dist/hooks/useRequestBody.mjs.map +1 -1
  37. package/dist/index.cjs +1 -1
  38. package/dist/index.mjs +64 -55
  39. package/dist/node_modules/zod/index.cjs +2 -0
  40. package/dist/node_modules/zod/index.cjs.map +1 -0
  41. package/dist/node_modules/zod/index.mjs +6 -0
  42. package/dist/node_modules/zod/index.mjs.map +1 -0
  43. package/dist/node_modules/zod/v4/classic/checks.cjs +2 -0
  44. package/dist/node_modules/zod/v4/classic/checks.cjs.map +1 -0
  45. package/dist/node_modules/zod/v4/classic/checks.mjs +34 -0
  46. package/dist/node_modules/zod/v4/classic/checks.mjs.map +1 -0
  47. package/dist/node_modules/zod/v4/classic/coerce.cjs +2 -0
  48. package/dist/node_modules/zod/v4/classic/coerce.cjs.map +1 -0
  49. package/dist/node_modules/zod/v4/classic/coerce.mjs +26 -0
  50. package/dist/node_modules/zod/v4/classic/coerce.mjs.map +1 -0
  51. package/dist/node_modules/zod/v4/classic/compat.cjs +2 -0
  52. package/dist/node_modules/zod/v4/classic/compat.cjs.map +1 -0
  53. package/dist/node_modules/zod/v4/classic/compat.mjs +35 -0
  54. package/dist/node_modules/zod/v4/classic/compat.mjs.map +1 -0
  55. package/dist/node_modules/zod/v4/classic/errors.cjs +2 -0
  56. package/dist/node_modules/zod/v4/classic/errors.cjs.map +1 -0
  57. package/dist/node_modules/zod/v4/classic/errors.mjs +41 -0
  58. package/dist/node_modules/zod/v4/classic/errors.mjs.map +1 -0
  59. package/dist/node_modules/zod/v4/classic/external.cjs +2 -0
  60. package/dist/node_modules/zod/v4/classic/external.cjs.map +1 -0
  61. package/dist/node_modules/zod/v4/classic/external.mjs +260 -0
  62. package/dist/node_modules/zod/v4/classic/external.mjs.map +1 -0
  63. package/dist/node_modules/zod/v4/classic/from-json-schema.cjs +2 -0
  64. package/dist/node_modules/zod/v4/classic/from-json-schema.cjs.map +1 -0
  65. package/dist/node_modules/zod/v4/classic/from-json-schema.mjs +287 -0
  66. package/dist/node_modules/zod/v4/classic/from-json-schema.mjs.map +1 -0
  67. package/dist/node_modules/zod/v4/classic/iso.cjs +2 -0
  68. package/dist/node_modules/zod/v4/classic/iso.cjs.map +1 -0
  69. package/dist/node_modules/zod/v4/classic/iso.mjs +40 -0
  70. package/dist/node_modules/zod/v4/classic/iso.mjs.map +1 -0
  71. package/dist/node_modules/zod/v4/classic/parse.cjs +2 -0
  72. package/dist/node_modules/zod/v4/classic/parse.cjs.map +1 -0
  73. package/dist/node_modules/zod/v4/classic/parse.mjs +19 -0
  74. package/dist/node_modules/zod/v4/classic/parse.mjs.map +1 -0
  75. package/dist/node_modules/zod/v4/classic/schemas.cjs +2 -0
  76. package/dist/node_modules/zod/v4/classic/schemas.cjs.map +1 -0
  77. package/dist/node_modules/zod/v4/classic/schemas.mjs +912 -0
  78. package/dist/node_modules/zod/v4/classic/schemas.mjs.map +1 -0
  79. package/dist/node_modules/zod/v4/core/api.cjs +2 -0
  80. package/dist/node_modules/zod/v4/core/api.cjs.map +1 -0
  81. package/dist/node_modules/zod/v4/core/api.mjs +1110 -0
  82. package/dist/node_modules/zod/v4/core/api.mjs.map +1 -0
  83. package/dist/node_modules/zod/v4/core/checks.cjs +2 -0
  84. package/dist/node_modules/zod/v4/core/checks.cjs.map +1 -0
  85. package/dist/node_modules/zod/v4/core/checks.mjs +421 -0
  86. package/dist/node_modules/zod/v4/core/checks.mjs.map +1 -0
  87. package/dist/node_modules/zod/v4/core/core.cjs +2 -0
  88. package/dist/node_modules/zod/v4/core/core.cjs.map +1 -0
  89. package/dist/node_modules/zod/v4/core/core.mjs +62 -0
  90. package/dist/node_modules/zod/v4/core/core.mjs.map +1 -0
  91. package/dist/node_modules/zod/v4/core/doc.cjs +4 -0
  92. package/dist/node_modules/zod/v4/core/doc.cjs.map +1 -0
  93. package/dist/node_modules/zod/v4/core/doc.mjs +27 -0
  94. package/dist/node_modules/zod/v4/core/doc.mjs.map +1 -0
  95. package/dist/node_modules/zod/v4/core/errors.cjs +3 -0
  96. package/dist/node_modules/zod/v4/core/errors.cjs.map +1 -0
  97. package/dist/node_modules/zod/v4/core/errors.mjs +89 -0
  98. package/dist/node_modules/zod/v4/core/errors.mjs.map +1 -0
  99. package/dist/node_modules/zod/v4/core/index.cjs +2 -0
  100. package/dist/node_modules/zod/v4/core/index.cjs.map +1 -0
  101. package/dist/node_modules/zod/v4/core/index.mjs +293 -0
  102. package/dist/node_modules/zod/v4/core/index.mjs.map +1 -0
  103. package/dist/node_modules/zod/v4/core/json-schema-generator.cjs +2 -0
  104. package/dist/node_modules/zod/v4/core/json-schema-generator.cjs.map +1 -0
  105. package/dist/node_modules/zod/v4/core/json-schema-generator.mjs +66 -0
  106. package/dist/node_modules/zod/v4/core/json-schema-generator.mjs.map +1 -0
  107. package/dist/node_modules/zod/v4/core/json-schema-processors.cjs +2 -0
  108. package/dist/node_modules/zod/v4/core/json-schema-processors.cjs.map +1 -0
  109. package/dist/node_modules/zod/v4/core/json-schema-processors.mjs +346 -0
  110. package/dist/node_modules/zod/v4/core/json-schema-processors.mjs.map +1 -0
  111. package/dist/node_modules/zod/v4/core/json-schema.cjs +2 -0
  112. package/dist/node_modules/zod/v4/core/json-schema.cjs.map +1 -0
  113. package/dist/node_modules/zod/v4/core/json-schema.mjs +2 -0
  114. package/dist/node_modules/zod/v4/core/json-schema.mjs.map +1 -0
  115. package/dist/node_modules/zod/v4/core/parse.cjs +2 -0
  116. package/dist/node_modules/zod/v4/core/parse.cjs.map +1 -0
  117. package/dist/node_modules/zod/v4/core/parse.mjs +75 -0
  118. package/dist/node_modules/zod/v4/core/parse.mjs.map +1 -0
  119. package/dist/node_modules/zod/v4/core/regexes.cjs +2 -0
  120. package/dist/node_modules/zod/v4/core/regexes.cjs.map +1 -0
  121. package/dist/node_modules/zod/v4/core/regexes.mjs +94 -0
  122. package/dist/node_modules/zod/v4/core/regexes.mjs.map +1 -0
  123. package/dist/node_modules/zod/v4/core/registries.cjs +2 -0
  124. package/dist/node_modules/zod/v4/core/registries.cjs.map +1 -0
  125. package/dist/node_modules/zod/v4/core/registries.mjs +44 -0
  126. package/dist/node_modules/zod/v4/core/registries.mjs.map +1 -0
  127. package/dist/node_modules/zod/v4/core/schemas.cjs +36 -0
  128. package/dist/node_modules/zod/v4/core/schemas.cjs.map +1 -0
  129. package/dist/node_modules/zod/v4/core/schemas.mjs +1319 -0
  130. package/dist/node_modules/zod/v4/core/schemas.mjs.map +1 -0
  131. package/dist/node_modules/zod/v4/core/to-json-schema.cjs +4 -0
  132. package/dist/node_modules/zod/v4/core/to-json-schema.cjs.map +1 -0
  133. package/dist/node_modules/zod/v4/core/to-json-schema.mjs +244 -0
  134. package/dist/node_modules/zod/v4/core/to-json-schema.mjs.map +1 -0
  135. package/dist/node_modules/zod/v4/core/util.cjs +2 -0
  136. package/dist/node_modules/zod/v4/core/util.cjs.map +1 -0
  137. package/dist/node_modules/zod/v4/core/util.mjs +523 -0
  138. package/dist/node_modules/zod/v4/core/util.mjs.map +1 -0
  139. package/dist/node_modules/zod/v4/core/versions.cjs +2 -0
  140. package/dist/node_modules/zod/v4/core/versions.cjs.map +1 -0
  141. package/dist/node_modules/zod/v4/core/versions.mjs +9 -0
  142. package/dist/node_modules/zod/v4/core/versions.mjs.map +1 -0
  143. package/dist/node_modules/zod/v4/locales/ar.cjs +2 -0
  144. package/dist/node_modules/zod/v4/locales/ar.cjs.map +1 -0
  145. package/dist/node_modules/zod/v4/locales/ar.mjs +87 -0
  146. package/dist/node_modules/zod/v4/locales/ar.mjs.map +1 -0
  147. package/dist/node_modules/zod/v4/locales/az.cjs +2 -0
  148. package/dist/node_modules/zod/v4/locales/az.cjs.map +1 -0
  149. package/dist/node_modules/zod/v4/locales/az.mjs +87 -0
  150. package/dist/node_modules/zod/v4/locales/az.mjs.map +1 -0
  151. package/dist/node_modules/zod/v4/locales/be.cjs +2 -0
  152. package/dist/node_modules/zod/v4/locales/be.cjs.map +1 -0
  153. package/dist/node_modules/zod/v4/locales/be.mjs +129 -0
  154. package/dist/node_modules/zod/v4/locales/be.mjs.map +1 -0
  155. package/dist/node_modules/zod/v4/locales/bg.cjs +2 -0
  156. package/dist/node_modules/zod/v4/locales/bg.cjs.map +1 -0
  157. package/dist/node_modules/zod/v4/locales/bg.mjs +98 -0
  158. package/dist/node_modules/zod/v4/locales/bg.mjs.map +1 -0
  159. package/dist/node_modules/zod/v4/locales/ca.cjs +2 -0
  160. package/dist/node_modules/zod/v4/locales/ca.cjs.map +1 -0
  161. package/dist/node_modules/zod/v4/locales/ca.mjs +88 -0
  162. package/dist/node_modules/zod/v4/locales/ca.mjs.map +1 -0
  163. package/dist/node_modules/zod/v4/locales/cs.cjs +2 -0
  164. package/dist/node_modules/zod/v4/locales/cs.cjs.map +1 -0
  165. package/dist/node_modules/zod/v4/locales/cs.mjs +91 -0
  166. package/dist/node_modules/zod/v4/locales/cs.mjs.map +1 -0
  167. package/dist/node_modules/zod/v4/locales/da.cjs +2 -0
  168. package/dist/node_modules/zod/v4/locales/da.cjs.map +1 -0
  169. package/dist/node_modules/zod/v4/locales/da.mjs +94 -0
  170. package/dist/node_modules/zod/v4/locales/da.mjs.map +1 -0
  171. package/dist/node_modules/zod/v4/locales/de.cjs +2 -0
  172. package/dist/node_modules/zod/v4/locales/de.cjs.map +1 -0
  173. package/dist/node_modules/zod/v4/locales/de.mjs +89 -0
  174. package/dist/node_modules/zod/v4/locales/de.mjs.map +1 -0
  175. package/dist/node_modules/zod/v4/locales/en.cjs +2 -0
  176. package/dist/node_modules/zod/v4/locales/en.cjs.map +1 -0
  177. package/dist/node_modules/zod/v4/locales/en.mjs +91 -0
  178. package/dist/node_modules/zod/v4/locales/en.mjs.map +1 -0
  179. package/dist/node_modules/zod/v4/locales/eo.cjs +2 -0
  180. package/dist/node_modules/zod/v4/locales/eo.cjs.map +1 -0
  181. package/dist/node_modules/zod/v4/locales/eo.mjs +90 -0
  182. package/dist/node_modules/zod/v4/locales/eo.mjs.map +1 -0
  183. package/dist/node_modules/zod/v4/locales/es.cjs +2 -0
  184. package/dist/node_modules/zod/v4/locales/es.cjs.map +1 -0
  185. package/dist/node_modules/zod/v4/locales/es.mjs +111 -0
  186. package/dist/node_modules/zod/v4/locales/es.mjs.map +1 -0
  187. package/dist/node_modules/zod/v4/locales/fa.cjs +2 -0
  188. package/dist/node_modules/zod/v4/locales/fa.cjs.map +1 -0
  189. package/dist/node_modules/zod/v4/locales/fa.mjs +89 -0
  190. package/dist/node_modules/zod/v4/locales/fa.mjs.map +1 -0
  191. package/dist/node_modules/zod/v4/locales/fi.cjs +2 -0
  192. package/dist/node_modules/zod/v4/locales/fi.cjs.map +1 -0
  193. package/dist/node_modules/zod/v4/locales/fi.mjs +91 -0
  194. package/dist/node_modules/zod/v4/locales/fi.mjs.map +1 -0
  195. package/dist/node_modules/zod/v4/locales/fr-CA.cjs +2 -0
  196. package/dist/node_modules/zod/v4/locales/fr-CA.cjs.map +1 -0
  197. package/dist/node_modules/zod/v4/locales/fr-CA.mjs +87 -0
  198. package/dist/node_modules/zod/v4/locales/fr-CA.mjs.map +1 -0
  199. package/dist/node_modules/zod/v4/locales/fr.cjs +2 -0
  200. package/dist/node_modules/zod/v4/locales/fr.cjs.map +1 -0
  201. package/dist/node_modules/zod/v4/locales/fr.mjs +89 -0
  202. package/dist/node_modules/zod/v4/locales/fr.mjs.map +1 -0
  203. package/dist/node_modules/zod/v4/locales/he.cjs +2 -0
  204. package/dist/node_modules/zod/v4/locales/he.cjs.map +1 -0
  205. package/dist/node_modules/zod/v4/locales/he.mjs +152 -0
  206. package/dist/node_modules/zod/v4/locales/he.mjs.map +1 -0
  207. package/dist/node_modules/zod/v4/locales/hu.cjs +2 -0
  208. package/dist/node_modules/zod/v4/locales/hu.cjs.map +1 -0
  209. package/dist/node_modules/zod/v4/locales/hu.mjs +89 -0
  210. package/dist/node_modules/zod/v4/locales/hu.mjs.map +1 -0
  211. package/dist/node_modules/zod/v4/locales/hy.cjs +2 -0
  212. package/dist/node_modules/zod/v4/locales/hy.cjs.map +1 -0
  213. package/dist/node_modules/zod/v4/locales/hy.mjs +130 -0
  214. package/dist/node_modules/zod/v4/locales/hy.mjs.map +1 -0
  215. package/dist/node_modules/zod/v4/locales/id.cjs +2 -0
  216. package/dist/node_modules/zod/v4/locales/id.cjs.map +1 -0
  217. package/dist/node_modules/zod/v4/locales/id.mjs +87 -0
  218. package/dist/node_modules/zod/v4/locales/id.mjs.map +1 -0
  219. package/dist/node_modules/zod/v4/locales/index.cjs +2 -0
  220. package/dist/node_modules/zod/v4/locales/index.cjs.map +1 -0
  221. package/dist/node_modules/zod/v4/locales/index.mjs +101 -0
  222. package/dist/node_modules/zod/v4/locales/index.mjs.map +1 -0
  223. package/dist/node_modules/zod/v4/locales/is.cjs +2 -0
  224. package/dist/node_modules/zod/v4/locales/is.cjs.map +1 -0
  225. package/dist/node_modules/zod/v4/locales/is.mjs +89 -0
  226. package/dist/node_modules/zod/v4/locales/is.mjs.map +1 -0
  227. package/dist/node_modules/zod/v4/locales/it.cjs +2 -0
  228. package/dist/node_modules/zod/v4/locales/it.cjs.map +1 -0
  229. package/dist/node_modules/zod/v4/locales/it.mjs +89 -0
  230. package/dist/node_modules/zod/v4/locales/it.mjs.map +1 -0
  231. package/dist/node_modules/zod/v4/locales/ja.cjs +2 -0
  232. package/dist/node_modules/zod/v4/locales/ja.cjs.map +1 -0
  233. package/dist/node_modules/zod/v4/locales/ja.mjs +89 -0
  234. package/dist/node_modules/zod/v4/locales/ja.mjs.map +1 -0
  235. package/dist/node_modules/zod/v4/locales/ka.cjs +2 -0
  236. package/dist/node_modules/zod/v4/locales/ka.cjs.map +1 -0
  237. package/dist/node_modules/zod/v4/locales/ka.mjs +92 -0
  238. package/dist/node_modules/zod/v4/locales/ka.mjs.map +1 -0
  239. package/dist/node_modules/zod/v4/locales/kh.cjs +2 -0
  240. package/dist/node_modules/zod/v4/locales/kh.cjs.map +1 -0
  241. package/dist/node_modules/zod/v4/locales/kh.mjs +8 -0
  242. package/dist/node_modules/zod/v4/locales/kh.mjs.map +1 -0
  243. package/dist/node_modules/zod/v4/locales/km.cjs +2 -0
  244. package/dist/node_modules/zod/v4/locales/km.cjs.map +1 -0
  245. package/dist/node_modules/zod/v4/locales/km.mjs +90 -0
  246. package/dist/node_modules/zod/v4/locales/km.mjs.map +1 -0
  247. package/dist/node_modules/zod/v4/locales/ko.cjs +2 -0
  248. package/dist/node_modules/zod/v4/locales/ko.cjs.map +1 -0
  249. package/dist/node_modules/zod/v4/locales/ko.mjs +87 -0
  250. package/dist/node_modules/zod/v4/locales/ko.mjs.map +1 -0
  251. package/dist/node_modules/zod/v4/locales/lt.cjs +2 -0
  252. package/dist/node_modules/zod/v4/locales/lt.cjs.map +1 -0
  253. package/dist/node_modules/zod/v4/locales/lt.mjs +178 -0
  254. package/dist/node_modules/zod/v4/locales/lt.mjs.map +1 -0
  255. package/dist/node_modules/zod/v4/locales/mk.cjs +2 -0
  256. package/dist/node_modules/zod/v4/locales/mk.cjs.map +1 -0
  257. package/dist/node_modules/zod/v4/locales/mk.mjs +89 -0
  258. package/dist/node_modules/zod/v4/locales/mk.mjs.map +1 -0
  259. package/dist/node_modules/zod/v4/locales/ms.cjs +2 -0
  260. package/dist/node_modules/zod/v4/locales/ms.cjs.map +1 -0
  261. package/dist/node_modules/zod/v4/locales/ms.mjs +88 -0
  262. package/dist/node_modules/zod/v4/locales/ms.mjs.map +1 -0
  263. package/dist/node_modules/zod/v4/locales/nl.cjs +2 -0
  264. package/dist/node_modules/zod/v4/locales/nl.cjs.map +1 -0
  265. package/dist/node_modules/zod/v4/locales/nl.mjs +88 -0
  266. package/dist/node_modules/zod/v4/locales/nl.mjs.map +1 -0
  267. package/dist/node_modules/zod/v4/locales/no.cjs +2 -0
  268. package/dist/node_modules/zod/v4/locales/no.cjs.map +1 -0
  269. package/dist/node_modules/zod/v4/locales/no.mjs +89 -0
  270. package/dist/node_modules/zod/v4/locales/no.mjs.map +1 -0
  271. package/dist/node_modules/zod/v4/locales/ota.cjs +2 -0
  272. package/dist/node_modules/zod/v4/locales/ota.cjs.map +1 -0
  273. package/dist/node_modules/zod/v4/locales/ota.mjs +90 -0
  274. package/dist/node_modules/zod/v4/locales/ota.mjs.map +1 -0
  275. package/dist/node_modules/zod/v4/locales/pl.cjs +2 -0
  276. package/dist/node_modules/zod/v4/locales/pl.cjs.map +1 -0
  277. package/dist/node_modules/zod/v4/locales/pl.mjs +89 -0
  278. package/dist/node_modules/zod/v4/locales/pl.mjs.map +1 -0
  279. package/dist/node_modules/zod/v4/locales/ps.cjs +2 -0
  280. package/dist/node_modules/zod/v4/locales/ps.cjs.map +1 -0
  281. package/dist/node_modules/zod/v4/locales/ps.mjs +89 -0
  282. package/dist/node_modules/zod/v4/locales/ps.mjs.map +1 -0
  283. package/dist/node_modules/zod/v4/locales/pt.cjs +2 -0
  284. package/dist/node_modules/zod/v4/locales/pt.cjs.map +1 -0
  285. package/dist/node_modules/zod/v4/locales/pt.mjs +89 -0
  286. package/dist/node_modules/zod/v4/locales/pt.mjs.map +1 -0
  287. package/dist/node_modules/zod/v4/locales/ru.cjs +2 -0
  288. package/dist/node_modules/zod/v4/locales/ru.cjs.map +1 -0
  289. package/dist/node_modules/zod/v4/locales/ru.mjs +129 -0
  290. package/dist/node_modules/zod/v4/locales/ru.mjs.map +1 -0
  291. package/dist/node_modules/zod/v4/locales/sl.cjs +2 -0
  292. package/dist/node_modules/zod/v4/locales/sl.cjs.map +1 -0
  293. package/dist/node_modules/zod/v4/locales/sl.mjs +89 -0
  294. package/dist/node_modules/zod/v4/locales/sl.mjs.map +1 -0
  295. package/dist/node_modules/zod/v4/locales/sv.cjs +2 -0
  296. package/dist/node_modules/zod/v4/locales/sv.cjs.map +1 -0
  297. package/dist/node_modules/zod/v4/locales/sv.mjs +89 -0
  298. package/dist/node_modules/zod/v4/locales/sv.mjs.map +1 -0
  299. package/dist/node_modules/zod/v4/locales/ta.cjs +2 -0
  300. package/dist/node_modules/zod/v4/locales/ta.cjs.map +1 -0
  301. package/dist/node_modules/zod/v4/locales/ta.mjs +90 -0
  302. package/dist/node_modules/zod/v4/locales/ta.mjs.map +1 -0
  303. package/dist/node_modules/zod/v4/locales/th.cjs +2 -0
  304. package/dist/node_modules/zod/v4/locales/th.cjs.map +1 -0
  305. package/dist/node_modules/zod/v4/locales/th.mjs +90 -0
  306. package/dist/node_modules/zod/v4/locales/th.mjs.map +1 -0
  307. package/dist/node_modules/zod/v4/locales/tr.cjs +2 -0
  308. package/dist/node_modules/zod/v4/locales/tr.cjs.map +1 -0
  309. package/dist/node_modules/zod/v4/locales/tr.mjs +87 -0
  310. package/dist/node_modules/zod/v4/locales/tr.mjs.map +1 -0
  311. package/dist/node_modules/zod/v4/locales/ua.cjs +2 -0
  312. package/dist/node_modules/zod/v4/locales/ua.cjs.map +1 -0
  313. package/dist/node_modules/zod/v4/locales/ua.mjs +8 -0
  314. package/dist/node_modules/zod/v4/locales/ua.mjs.map +1 -0
  315. package/dist/node_modules/zod/v4/locales/uk.cjs +2 -0
  316. package/dist/node_modules/zod/v4/locales/uk.cjs.map +1 -0
  317. package/dist/node_modules/zod/v4/locales/uk.mjs +89 -0
  318. package/dist/node_modules/zod/v4/locales/uk.mjs.map +1 -0
  319. package/dist/node_modules/zod/v4/locales/ur.cjs +2 -0
  320. package/dist/node_modules/zod/v4/locales/ur.cjs.map +1 -0
  321. package/dist/node_modules/zod/v4/locales/ur.mjs +90 -0
  322. package/dist/node_modules/zod/v4/locales/ur.mjs.map +1 -0
  323. package/dist/node_modules/zod/v4/locales/uz.cjs +2 -0
  324. package/dist/node_modules/zod/v4/locales/uz.cjs.map +1 -0
  325. package/dist/node_modules/zod/v4/locales/uz.mjs +90 -0
  326. package/dist/node_modules/zod/v4/locales/uz.mjs.map +1 -0
  327. package/dist/node_modules/zod/v4/locales/vi.cjs +2 -0
  328. package/dist/node_modules/zod/v4/locales/vi.cjs.map +1 -0
  329. package/dist/node_modules/zod/v4/locales/vi.mjs +89 -0
  330. package/dist/node_modules/zod/v4/locales/vi.mjs.map +1 -0
  331. package/dist/node_modules/zod/v4/locales/yo.cjs +2 -0
  332. package/dist/node_modules/zod/v4/locales/yo.cjs.map +1 -0
  333. package/dist/node_modules/zod/v4/locales/yo.mjs +89 -0
  334. package/dist/node_modules/zod/v4/locales/yo.mjs.map +1 -0
  335. package/dist/node_modules/zod/v4/locales/zh-CN.cjs +2 -0
  336. package/dist/node_modules/zod/v4/locales/zh-CN.cjs.map +1 -0
  337. package/dist/node_modules/zod/v4/locales/zh-CN.mjs +90 -0
  338. package/dist/node_modules/zod/v4/locales/zh-CN.mjs.map +1 -0
  339. package/dist/node_modules/zod/v4/locales/zh-TW.cjs +2 -0
  340. package/dist/node_modules/zod/v4/locales/zh-TW.cjs.map +1 -0
  341. package/dist/node_modules/zod/v4/locales/zh-TW.mjs +87 -0
  342. package/dist/node_modules/zod/v4/locales/zh-TW.mjs.map +1 -0
  343. package/dist/openapi/analyzerModule/analyzerModule.cjs +1 -1
  344. package/dist/openapi/analyzerModule/analyzerModule.cjs.map +1 -1
  345. package/dist/openapi/analyzerModule/analyzerModule.d.ts.map +1 -1
  346. package/dist/openapi/analyzerModule/analyzerModule.mjs +42 -42
  347. package/dist/openapi/analyzerModule/analyzerModule.mjs.map +1 -1
  348. package/dist/openapi/analyzerModule/nodeParsers.cjs +1 -1
  349. package/dist/openapi/analyzerModule/nodeParsers.cjs.map +1 -1
  350. package/dist/openapi/analyzerModule/nodeParsers.d.ts +1 -0
  351. package/dist/openapi/analyzerModule/nodeParsers.d.ts.map +1 -1
  352. package/dist/openapi/analyzerModule/nodeParsers.mjs +261 -206
  353. package/dist/openapi/analyzerModule/nodeParsers.mjs.map +1 -1
  354. package/dist/openapi/analyzerModule/parseEndpoint.cjs +1 -1
  355. package/dist/openapi/analyzerModule/parseEndpoint.cjs.map +1 -1
  356. package/dist/openapi/analyzerModule/parseEndpoint.d.ts.map +1 -1
  357. package/dist/openapi/analyzerModule/parseEndpoint.mjs +62 -62
  358. package/dist/openapi/analyzerModule/parseEndpoint.mjs.map +1 -1
  359. package/dist/openapi/analyzerModule/test/TestCase.d.ts +9 -0
  360. package/dist/openapi/analyzerModule/test/TestCase.d.ts.map +1 -0
  361. package/dist/openapi/analyzerModule/test/openApiAnalyzer.zod.spec.d.ts +2 -0
  362. package/dist/openapi/analyzerModule/test/openApiAnalyzer.zod.spec.d.ts.map +1 -0
  363. package/dist/openapi/analyzerModule/test/openApiAnalyzer.zod.spec.data.d.ts +2 -0
  364. package/dist/openapi/analyzerModule/test/openApiAnalyzer.zod.spec.data.d.ts.map +1 -0
  365. package/dist/openapi/initOpenApiEngine.cjs +1 -1
  366. package/dist/openapi/initOpenApiEngine.cjs.map +1 -1
  367. package/dist/openapi/initOpenApiEngine.d.ts +7 -2
  368. package/dist/openapi/initOpenApiEngine.d.ts.map +1 -1
  369. package/dist/openapi/initOpenApiEngine.mjs +13 -7
  370. package/dist/openapi/initOpenApiEngine.mjs.map +1 -1
  371. package/dist/openapi/manager/OpenApiManager.cjs +1 -1
  372. package/dist/openapi/manager/OpenApiManager.cjs.map +1 -1
  373. package/dist/openapi/manager/OpenApiManager.d.ts +4 -0
  374. package/dist/openapi/manager/OpenApiManager.d.ts.map +1 -1
  375. package/dist/openapi/manager/OpenApiManager.mjs +11 -2
  376. package/dist/openapi/manager/OpenApiManager.mjs.map +1 -1
  377. package/dist/openapi/router/OpenApiRouter.cjs +1 -1
  378. package/dist/openapi/router/OpenApiRouter.cjs.map +1 -1
  379. package/dist/openapi/router/OpenApiRouter.d.ts.map +1 -1
  380. package/dist/openapi/router/OpenApiRouter.mjs +9 -6
  381. package/dist/openapi/router/OpenApiRouter.mjs.map +1 -1
  382. package/dist/utils/getValueAsNullableString.cjs +2 -0
  383. package/dist/utils/getValueAsNullableString.cjs.map +1 -0
  384. package/dist/utils/getValueAsNullableString.d.ts +2 -0
  385. package/dist/utils/getValueAsNullableString.d.ts.map +1 -0
  386. package/dist/utils/getValueAsNullableString.mjs +7 -0
  387. package/dist/utils/getValueAsNullableString.mjs.map +1 -0
  388. package/dist/utils/validationMessages.cjs +1 -1
  389. package/dist/utils/validationMessages.cjs.map +1 -1
  390. package/dist/utils/validationMessages.d.ts +1 -1
  391. package/dist/utils/validationMessages.d.ts.map +1 -1
  392. package/dist/utils/validationMessages.mjs +8 -8
  393. package/dist/utils/validationMessages.mjs.map +1 -1
  394. package/dist/validators/types.d.ts +4 -0
  395. package/dist/validators/types.d.ts.map +1 -1
  396. package/dist/validators/validateMissingParams.cjs +2 -0
  397. package/dist/validators/validateMissingParams.cjs.map +1 -0
  398. package/dist/validators/validateMissingParams.d.ts +7 -0
  399. package/dist/validators/validateMissingParams.d.ts.map +1 -0
  400. package/dist/validators/validateMissingParams.mjs +17 -0
  401. package/dist/validators/validateMissingParams.mjs.map +1 -0
  402. package/dist/validators/validateParam.cjs +2 -0
  403. package/dist/validators/validateParam.cjs.map +1 -0
  404. package/dist/validators/validateParam.d.ts +8 -0
  405. package/dist/validators/validateParam.d.ts.map +1 -0
  406. package/dist/validators/validateParam.mjs +41 -0
  407. package/dist/validators/validateParam.mjs.map +1 -0
  408. package/package.json +12 -5
  409. package/{cli → src/cli}/cli.ts +26 -6
  410. package/{cli → src/cli}/prettyprint.ts +2 -2
  411. package/src/errors/UserFacingErrors.ts +54 -0
  412. package/src/hooks/usePathParams.spec.ts +27 -0
  413. package/src/hooks/usePathParams.ts +5 -13
  414. package/src/hooks/useQueryParams.spec.ts +99 -0
  415. package/src/hooks/useQueryParams.ts +16 -25
  416. package/src/hooks/useRequestBody.spec.ts +99 -0
  417. package/src/hooks/useRequestBody.ts +16 -35
  418. package/src/openapi/analyzerModule/analyzerModule.ts +2 -3
  419. package/src/openapi/analyzerModule/nodeParsers.ts +113 -8
  420. package/src/openapi/analyzerModule/parseEndpoint.ts +2 -2
  421. package/src/openapi/analyzerModule/test/TestCase.ts +8 -0
  422. package/src/openapi/analyzerModule/test/openApiAnalyzer.spec.data.ts +9 -0
  423. package/src/openapi/analyzerModule/test/openApiAnalyzer.spec.ts +21 -0
  424. package/src/openapi/analyzerModule/test/openApiAnalyzer.zod.spec.data.ts +87 -0
  425. package/src/openapi/analyzerModule/test/openApiAnalyzer.zod.spec.ts +178 -0
  426. package/src/openapi/initOpenApiEngine.ts +48 -6
  427. package/src/openapi/manager/OpenApiManager.ts +16 -0
  428. package/src/openapi/router/OpenApiRouter.ts +6 -1
  429. package/src/test/app.spec.ts +27 -0
  430. package/src/utils/getValueAsNullableString.ts +8 -0
  431. package/src/utils/validationMessages.ts +4 -0
  432. package/src/validators/types.ts +5 -0
  433. package/src/validators/validateMissingParams.ts +27 -0
  434. package/src/validators/validateParam.ts +69 -0
  435. package/vite.config.ts +3 -0
@@ -1,40 +1,31 @@
1
- import { ValidationError as u } from "../errors/UserFacingErrors.mjs";
2
- import { keysOf as g } from "../utils/object.mjs";
3
- import { getMissingParamMessage as V, getValidationResultMessage as y } from "../utils/validationMessages.mjs";
4
- const M = (m, i) => {
5
- const r = m.query, s = g(i).map((a) => ({
1
+ import { ValidationError as m } from "../errors/UserFacingErrors.mjs";
2
+ import { keysOf as u } from "../utils/object.mjs";
3
+ import { getValidationResultMessage as p } from "../utils/validationMessages.mjs";
4
+ import { validateMissingParams as f } from "../validators/validateMissingParams.mjs";
5
+ import { validateParam as c } from "../validators/validateParam.mjs";
6
+ const h = (s, e) => {
7
+ const r = s.query, t = u(e).map((a) => ({
6
8
  name: a,
7
- validator: i[a]
8
- })), o = s.filter((a) => !r[a.name] && !a.validator.optional);
9
+ validator: e[a]
10
+ }));
11
+ f(t, r, e, "query");
12
+ const i = t.map((a) => {
13
+ const l = r[a.name];
14
+ return l === void 0 ? { param: a, validated: !0, parsedValue: void 0, exception: null } : {
15
+ ...c(a.validator, l),
16
+ param: a
17
+ };
18
+ }), o = i.filter((a) => !a.validated);
9
19
  if (o.length > 0)
10
- throw new u(
11
- `Missing query params: ${o.map((a) => V(a)).join(", ")}`
20
+ throw new m(
21
+ `Failed query param validation: ${o.map((a) => p(a.param)).join(", ")}`
12
22
  );
13
- const n = s.map((a) => {
14
- const e = r[a.name];
15
- if (e === void 0)
16
- return { param: a, validated: !0 };
17
- try {
18
- const t = a.validator, p = !t.prevalidate || t.prevalidate(e), c = t.parse(e), f = !t.validate || t.validate(c);
19
- return {
20
- param: a,
21
- validated: p && f,
22
- parsedValue: c
23
- };
24
- } catch {
25
- return { param: a, validated: !1 };
26
- }
27
- }), l = n.filter((a) => !a.validated);
28
- if (l.length > 0)
29
- throw new u(
30
- `Failed query param validation: ${l.map((a) => y(a.param)).join(", ")}`
31
- );
32
- const v = n.filter((a) => a.validated), d = {};
33
- return v.forEach((a) => {
34
- d[a.param.name] = a.parsedValue;
35
- }), d;
23
+ const d = i.filter((a) => a.validated), n = {};
24
+ return d.forEach((a) => {
25
+ n[a.param.name] = a.parsedValue;
26
+ }), n;
36
27
  };
37
28
  export {
38
- M as useQueryParams
29
+ h as useQueryParams
39
30
  };
40
31
  //# sourceMappingURL=useQueryParams.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useQueryParams.mjs","sources":["../../src/hooks/useQueryParams.ts"],"sourcesContent":["import { ParameterizedContext } from 'koa'\n\nimport { ValidationError } from '../errors/UserFacingErrors'\nimport { keysOf } from '../utils/object'\nimport { getMissingParamMessage, getValidationResultMessage } from '../utils/validationMessages'\nimport { Validator } from '../validators/types'\n\ntype CheckIfOptional<T, B extends boolean | undefined> = B extends false ? T : T | undefined\n\ntype ValidatedData<T extends Record<string, Validator<any>>> = {\n\t[K in keyof T]: CheckIfOptional<ReturnType<T[K]['parse']>, T[K]['optional']>\n}\n\nexport const useQueryParams = <ValidatorsT extends Record<string, Validator<any>>>(\n\tctx: ParameterizedContext,\n\tvalidators: ValidatorsT,\n): ValidatedData<ValidatorsT> => {\n\tconst query = ctx.query\n\tconst params = keysOf(validators).map((name) => ({\n\t\tname,\n\t\tvalidator: validators[name],\n\t}))\n\n\tconst missingParams = params.filter((param) => !query[param.name] && !param.validator.optional)\n\n\tif (missingParams.length > 0) {\n\t\tthrow new ValidationError(\n\t\t\t`Missing query params: ${missingParams.map((param) => getMissingParamMessage(param)).join(', ')}`,\n\t\t)\n\t}\n\n\tconst validationResults = params.map((param) => {\n\t\tconst paramValue = query[param.name] as string\n\n\t\t// Param is optional and is not provided - skip validation\n\t\tif (paramValue === undefined) {\n\t\t\treturn { param, validated: true }\n\t\t}\n\n\t\ttry {\n\t\t\tconst validatorObject = param.validator\n\t\t\tconst prevalidatorSuccess = !validatorObject.prevalidate || validatorObject.prevalidate(paramValue)\n\t\t\tconst parsedValue = validatorObject.parse(paramValue)\n\t\t\tconst validatorSuccess = !validatorObject.validate || validatorObject.validate(parsedValue)\n\t\t\treturn {\n\t\t\t\tparam,\n\t\t\t\tvalidated: prevalidatorSuccess && validatorSuccess,\n\t\t\t\tparsedValue,\n\t\t\t}\n\t\t} catch {\n\t\t\treturn { param, validated: false }\n\t\t}\n\t})\n\n\tconst failedValidations = validationResults.filter((result) => !result.validated)\n\n\tif (failedValidations.length > 0) {\n\t\tthrow new ValidationError(\n\t\t\t`Failed query param validation: ${failedValidations\n\t\t\t\t.map((result) => getValidationResultMessage(result.param))\n\t\t\t\t.join(', ')}`,\n\t\t)\n\t}\n\n\tconst successfulValidations = validationResults.filter((result) => result.validated)\n\n\tconst returnValue: Record<string, unknown> = {}\n\tsuccessfulValidations.forEach((result) => {\n\t\treturnValue[result.param.name] = result.parsedValue\n\t})\n\n\treturn returnValue as ValidatedData<ValidatorsT>\n}\n"],"names":["useQueryParams","ctx","validators","query","params","keysOf","name","missingParams","param","ValidationError","getMissingParamMessage","validationResults","paramValue","validatorObject","prevalidatorSuccess","parsedValue","validatorSuccess","failedValidations","result","getValidationResultMessage","successfulValidations","returnValue"],"mappings":";;;AAaa,MAAAA,IAAiB,CAC7BC,GACAC,MACgC;AAChC,QAAMC,IAAQF,EAAI,OACZG,IAASC,EAAOH,CAAU,EAAE,IAAI,CAACI,OAAU;AAAA,IAChD,MAAAA;AAAA,IACA,WAAWJ,EAAWI,CAAI;AAAA,EAAA,EACzB,GAEIC,IAAgBH,EAAO,OAAO,CAACI,MAAU,CAACL,EAAMK,EAAM,IAAI,KAAK,CAACA,EAAM,UAAU,QAAQ;AAE1F,MAAAD,EAAc,SAAS;AAC1B,UAAM,IAAIE;AAAA,MACT,yBAAyBF,EAAc,IAAI,CAACC,MAAUE,EAAuBF,CAAK,CAAC,EAAE,KAAK,IAAI,CAAC;AAAA,IAChG;AAGD,QAAMG,IAAoBP,EAAO,IAAI,CAACI,MAAU;AACzC,UAAAI,IAAaT,EAAMK,EAAM,IAAI;AAGnC,QAAII,MAAe;AACX,aAAA,EAAE,OAAAJ,GAAO,WAAW,GAAK;AAG7B,QAAA;AACH,YAAMK,IAAkBL,EAAM,WACxBM,IAAsB,CAACD,EAAgB,eAAeA,EAAgB,YAAYD,CAAU,GAC5FG,IAAcF,EAAgB,MAAMD,CAAU,GAC9CI,IAAmB,CAACH,EAAgB,YAAYA,EAAgB,SAASE,CAAW;AACnF,aAAA;AAAA,QACN,OAAAP;AAAA,QACA,WAAWM,KAAuBE;AAAA,QAClC,aAAAD;AAAA,MACD;AAAA,IAAA,QACO;AACA,aAAA,EAAE,OAAAP,GAAO,WAAW,GAAM;AAAA,IAAA;AAAA,EAClC,CACA,GAEKS,IAAoBN,EAAkB,OAAO,CAACO,MAAW,CAACA,EAAO,SAAS;AAE5E,MAAAD,EAAkB,SAAS;AAC9B,UAAM,IAAIR;AAAA,MACT,kCAAkCQ,EAChC,IAAI,CAACC,MAAWC,EAA2BD,EAAO,KAAK,CAAC,EACxD,KAAK,IAAI,CAAC;AAAA,IACb;AAGD,QAAME,IAAwBT,EAAkB,OAAO,CAACO,MAAWA,EAAO,SAAS,GAE7EG,IAAuC,CAAC;AACxB,SAAAD,EAAA,QAAQ,CAACF,MAAW;AACzC,IAAAG,EAAYH,EAAO,MAAM,IAAI,IAAIA,EAAO;AAAA,EAAA,CACxC,GAEMG;AACR;"}
1
+ {"version":3,"file":"useQueryParams.mjs","sources":["../../src/hooks/useQueryParams.ts"],"sourcesContent":["import { ParameterizedContext } from 'koa'\nimport z from 'zod'\n\nimport { ValidationError } from '../errors/UserFacingErrors'\nimport { keysOf } from '../utils/object'\nimport { getValidationResultMessage } from '../utils/validationMessages'\nimport { Validator } from '../validators/types'\nimport { validateMissingParams } from '../validators/validateMissingParams'\nimport { validateParam } from '../validators/validateParam'\n\ntype CheckIfOptional<T, B extends boolean | undefined> = B extends false ? T : T | undefined\n\ntype ValidatedData<T extends Record<string, Validator<any> | z.ZodType<any>>> = {\n\t[K in keyof T]: CheckIfOptional<\n\t\tReturnType<T[K] extends Validator<any> ? T[K]['parse'] : T[K]['parse']>,\n\t\tT[K] extends Validator<any> ? T[K]['optional'] : false\n\t>\n}\n\nexport const useQueryParams = <ValidatorsT extends Record<string, Validator<any> | z.ZodType<any>>>(\n\tctx: ParameterizedContext,\n\tvalidators: ValidatorsT,\n): ValidatedData<ValidatorsT> => {\n\tconst query = ctx.query\n\tconst params = keysOf(validators).map((name) => ({\n\t\tname,\n\t\tvalidator: validators[name],\n\t}))\n\n\tvalidateMissingParams(params, query, validators, 'query')\n\n\tconst validationResults = params.map((param) => {\n\t\tconst paramValue = query[param.name]\n\n\t\t// Param is optional and is not provided - skip validation\n\t\tif (paramValue === undefined) {\n\t\t\treturn { param, validated: true, parsedValue: undefined, exception: null }\n\t\t}\n\n\t\treturn {\n\t\t\t...validateParam(param.validator, paramValue),\n\t\t\tparam,\n\t\t}\n\t})\n\n\tconst failedValidations = validationResults.filter((result) => !result.validated)\n\n\tif (failedValidations.length > 0) {\n\t\tthrow new ValidationError(\n\t\t\t`Failed query param validation: ${failedValidations\n\t\t\t\t.map((result) => getValidationResultMessage(result.param))\n\t\t\t\t.join(', ')}`,\n\t\t)\n\t}\n\n\tconst successfulValidations = validationResults.filter((result) => result.validated)\n\n\tconst returnValue: Record<string, unknown> = {}\n\tsuccessfulValidations.forEach((result) => {\n\t\treturnValue[result.param.name] = result.parsedValue\n\t})\n\n\treturn returnValue as ValidatedData<ValidatorsT>\n}\n"],"names":["useQueryParams","ctx","validators","query","params","keysOf","name","validateMissingParams","validationResults","param","paramValue","validateParam","failedValidations","result","ValidationError","getValidationResultMessage","successfulValidations","returnValue"],"mappings":";;;;;AAmBa,MAAAA,IAAiB,CAC7BC,GACAC,MACgC;AAChC,QAAMC,IAAQF,EAAI,OACZG,IAASC,EAAOH,CAAU,EAAE,IAAI,CAACI,OAAU;AAAA,IAChD,MAAAA;AAAA,IACA,WAAWJ,EAAWI,CAAI;AAAA,EAAA,EACzB;AAEoB,EAAAC,EAAAH,GAAQD,GAAOD,GAAY,OAAO;AAExD,QAAMM,IAAoBJ,EAAO,IAAI,CAACK,MAAU;AACzC,UAAAC,IAAaP,EAAMM,EAAM,IAAI;AAGnC,WAAIC,MAAe,SACX,EAAE,OAAAD,GAAO,WAAW,IAAM,aAAa,QAAW,WAAW,KAAK,IAGnE;AAAA,MACN,GAAGE,EAAcF,EAAM,WAAWC,CAAU;AAAA,MAC5C,OAAAD;AAAA,IACD;AAAA,EAAA,CACA,GAEKG,IAAoBJ,EAAkB,OAAO,CAACK,MAAW,CAACA,EAAO,SAAS;AAE5E,MAAAD,EAAkB,SAAS;AAC9B,UAAM,IAAIE;AAAA,MACT,kCAAkCF,EAChC,IAAI,CAACC,MAAWE,EAA2BF,EAAO,KAAK,CAAC,EACxD,KAAK,IAAI,CAAC;AAAA,IACb;AAGD,QAAMG,IAAwBR,EAAkB,OAAO,CAACK,MAAWA,EAAO,SAAS,GAE7EI,IAAuC,CAAC;AACxB,SAAAD,EAAA,QAAQ,CAACH,MAAW;AACzC,IAAAI,EAAYJ,EAAO,MAAM,IAAI,IAAIA,EAAO;AAAA,EAAA,CACxC,GAEMI;AACR;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("../errors/UserFacingErrors.cjs"),V=require("../utils/object.cjs"),f=require("../utils/validationMessages.cjs"),b=(g,r)=>{const i=g.request.body||{},s=V.keysOf(r).map(e=>({name:e,validator:r[e]})),o=s.filter(e=>i[e.name]===void 0&&!r[e.name].optional);if(o.length>0)throw new v.ValidationError(`Missing body params: ${o.map(e=>f.getMissingParamMessage(e)).join(", ")}`);const n=s.map(e=>{const a=i[e.name];if(a===void 0)return{param:e,validated:!0};try{const c=a===null?null:typeof a=="object"?JSON.stringify(a):String(a),t=e.validator,m=!t.prevalidate||t.prevalidate(c),u=t.parse(c),y=!t.validate||t.validate(u);return{param:e,validated:m&&y,parsedValue:u}}catch{return{param:e,validated:!1}}}),l=n.filter(e=>!e.validated);if(l.length>0)throw new v.ValidationError(`Failed body param validation: ${l.map(e=>f.getValidationResultMessage(e.param)).join(", ")}`);const p=n.filter(e=>e.validated),d={};return p.forEach(e=>{d[e.param.name]=e.parsedValue}),d};exports.useRequestBody=b;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("../errors/UserFacingErrors.cjs"),c=require("../utils/object.cjs"),v=require("../utils/validationMessages.cjs"),m=require("../validators/validateMissingParams.cjs"),p=require("../validators/validateParam.cjs"),f=(d,a)=>{const t=d.request.body||{},i=c.keysOf(a).map(e=>({name:e,validator:a[e]}));m.validateMissingParams(i,t,a,"body");const r=i.map(e=>{const n=t[e.name];return n===void 0?{param:e,validated:!0,parsedValue:void 0,exception:null}:{...p.validateParam(e.validator,n),param:e}}),s=r.filter(e=>!e.validated);if(s.length>0)throw new u.ValidationError(`Failed body param validation: ${s.map(e=>v.getValidationResultMessage(e.param,e.exception)).join(", ")}`);const l=r.filter(e=>e.validated),o={};return l.forEach(e=>{o[e.param.name]=e.parsedValue}),o};exports.useRequestBody=f;
2
2
  //# sourceMappingURL=useRequestBody.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRequestBody.cjs","sources":["../../src/hooks/useRequestBody.ts"],"sourcesContent":["import { ParameterizedContext } from 'koa'\n\nimport { ValidationError } from '../errors/UserFacingErrors'\nimport { keysOf } from '../utils/object'\nimport { getMissingParamMessage, getValidationResultMessage } from '../utils/validationMessages'\nimport { Validator } from '../validators/types'\n\ntype CheckIfOptional<T, B extends boolean | undefined> = B extends false ? T : T | undefined\n\ntype ValidatedData<T extends Record<string, Validator<any>>> = {\n\t[K in keyof T]: CheckIfOptional<ReturnType<T[K]['parse']>, T[K]['optional']>\n}\n\n/**\n * Hook to access request body data in JSON or form formats.\n *\n * Supported content types:\n * - `application/json`\n * - `application/x-www-form-urlencoded`\n *\n * @param ctx Koa context\n * @param validators Validator definitions\n * @returns Validated parameters\n */\nexport const useRequestBody = <ValidatorsT extends Record<string, Validator<any>>>(\n\tctx: ParameterizedContext,\n\tvalidators: ValidatorsT,\n): ValidatedData<ValidatorsT> => {\n\tconst providedParams = (ctx.request.body || {}) as Record<string, string | number | boolean | object>\n\tconst params = keysOf(validators).map((name) => ({\n\t\tname,\n\t\tvalidator: validators[name],\n\t}))\n\n\tconst missingParams = params.filter(\n\t\t(param) => providedParams[param.name] === undefined && !validators[param.name].optional,\n\t)\n\n\tif (missingParams.length > 0) {\n\t\tthrow new ValidationError(\n\t\t\t`Missing body params: ${missingParams.map((param) => getMissingParamMessage(param)).join(', ')}`,\n\t\t)\n\t}\n\n\tconst validationResults = params.map((param) => {\n\t\tconst paramValue = providedParams[param.name]\n\n\t\t// Param is optional and is not provided - skip validation\n\t\tif (paramValue === undefined) {\n\t\t\treturn { param, validated: true }\n\t\t}\n\n\t\ttry {\n\t\t\tconst convertedValue = (() => {\n\t\t\t\tif (paramValue === null) {\n\t\t\t\t\treturn null\n\t\t\t\t} else if (typeof paramValue === 'object') {\n\t\t\t\t\treturn JSON.stringify(paramValue)\n\t\t\t\t}\n\t\t\t\treturn String(paramValue)\n\t\t\t})()\n\t\t\tconst validatorObject = param.validator\n\t\t\tconst prevalidatorSuccess = !validatorObject.prevalidate || validatorObject.prevalidate(convertedValue)\n\t\t\tconst parsedValue = validatorObject.parse(convertedValue)\n\t\t\tconst validatorSuccess = !validatorObject.validate || validatorObject.validate(parsedValue)\n\t\t\treturn {\n\t\t\t\tparam,\n\t\t\t\tvalidated: prevalidatorSuccess && validatorSuccess,\n\t\t\t\tparsedValue,\n\t\t\t}\n\t\t} catch {\n\t\t\treturn { param, validated: false }\n\t\t}\n\t})\n\n\tconst failedValidations = validationResults.filter((result) => !result.validated)\n\n\tif (failedValidations.length > 0) {\n\t\tthrow new ValidationError(\n\t\t\t`Failed body param validation: ${failedValidations\n\t\t\t\t.map((result) => getValidationResultMessage(result.param))\n\t\t\t\t.join(', ')}`,\n\t\t)\n\t}\n\n\tconst successfulValidations = validationResults.filter((result) => result.validated)\n\n\tconst returnValue: Record<string, unknown> = {}\n\tsuccessfulValidations.forEach((result) => {\n\t\treturnValue[result.param.name] = result.parsedValue\n\t})\n\n\treturn returnValue as ValidatedData<ValidatorsT>\n}\n"],"names":["useRequestBody","ctx","validators","providedParams","params","keysOf","name","missingParams","param","ValidationError","getMissingParamMessage","validationResults","paramValue","convertedValue","validatorObject","prevalidatorSuccess","parsedValue","validatorSuccess","failedValidations","result","getValidationResultMessage","successfulValidations","returnValue"],"mappings":"gNAwBaA,EAAiB,CAC7BC,EACAC,IACgC,CAChC,MAAMC,EAAkBF,EAAI,QAAQ,MAAQ,CAAC,EACvCG,EAASC,EAAAA,OAAOH,CAAU,EAAE,IAAKI,IAAU,CAChD,KAAAA,EACA,UAAWJ,EAAWI,CAAI,CAAA,EACzB,EAEIC,EAAgBH,EAAO,OAC3BI,GAAUL,EAAeK,EAAM,IAAI,IAAM,QAAa,CAACN,EAAWM,EAAM,IAAI,EAAE,QAChF,EAEI,GAAAD,EAAc,OAAS,EAC1B,MAAM,IAAIE,EAAA,gBACT,wBAAwBF,EAAc,IAAKC,GAAUE,yBAAuBF,CAAK,CAAC,EAAE,KAAK,IAAI,CAAC,EAC/F,EAGD,MAAMG,EAAoBP,EAAO,IAAKI,GAAU,CACzC,MAAAI,EAAaT,EAAeK,EAAM,IAAI,EAG5C,GAAII,IAAe,OACX,MAAA,CAAE,MAAAJ,EAAO,UAAW,EAAK,EAG7B,GAAA,CACH,MAAMK,EACDD,IAAe,KACX,KACG,OAAOA,GAAe,SACzB,KAAK,UAAUA,CAAU,EAE1B,OAAOA,CAAU,EAEnBE,EAAkBN,EAAM,UACxBO,EAAsB,CAACD,EAAgB,aAAeA,EAAgB,YAAYD,CAAc,EAChGG,EAAcF,EAAgB,MAAMD,CAAc,EAClDI,EAAmB,CAACH,EAAgB,UAAYA,EAAgB,SAASE,CAAW,EACnF,MAAA,CACN,MAAAR,EACA,UAAWO,GAAuBE,EAClC,YAAAD,CACD,CAAA,MACO,CACA,MAAA,CAAE,MAAAR,EAAO,UAAW,EAAM,CAAA,CAClC,CACA,EAEKU,EAAoBP,EAAkB,OAAQQ,GAAW,CAACA,EAAO,SAAS,EAE5E,GAAAD,EAAkB,OAAS,EAC9B,MAAM,IAAIT,EAAA,gBACT,iCAAiCS,EAC/B,IAAKC,GAAWC,EAAAA,2BAA2BD,EAAO,KAAK,CAAC,EACxD,KAAK,IAAI,CAAC,EACb,EAGD,MAAME,EAAwBV,EAAkB,OAAQQ,GAAWA,EAAO,SAAS,EAE7EG,EAAuC,CAAC,EACxB,OAAAD,EAAA,QAASF,GAAW,CACzCG,EAAYH,EAAO,MAAM,IAAI,EAAIA,EAAO,WAAA,CACxC,EAEMG,CACR"}
1
+ {"version":3,"file":"useRequestBody.cjs","sources":["../../src/hooks/useRequestBody.ts"],"sourcesContent":["import { ParameterizedContext } from 'koa'\nimport z from 'zod'\n\nimport { ValidationError } from '../errors/UserFacingErrors'\nimport { keysOf } from '../utils/object'\nimport { getValidationResultMessage } from '../utils/validationMessages'\nimport { Validator } from '../validators/types'\nimport { validateMissingParams } from '../validators/validateMissingParams'\nimport { validateParam } from '../validators/validateParam'\n\ntype CheckIfOptional<T, B extends boolean | undefined> = B extends false ? T : T | undefined\n\ntype ValidatedData<T extends Record<string, Validator<any> | z.ZodType<any>>> = {\n\t[K in keyof T]: CheckIfOptional<\n\t\tReturnType<T[K] extends Validator<any> ? T[K]['parse'] : T[K]['parse']>,\n\t\tT[K] extends Validator<any> ? T[K]['optional'] : false\n\t>\n}\n\n/**\n * Hook to access request body data in JSON or form formats.\n *\n * Supported content types:\n * - `application/json`\n * - `application/x-www-form-urlencoded`\n *\n * @param ctx Koa context\n * @param validators Validator definitions\n * @returns Validated parameters\n */\nexport const useRequestBody = <ValidatorsT extends Record<string, Validator<any> | z.ZodType<any>>>(\n\tctx: ParameterizedContext,\n\tvalidators: ValidatorsT,\n): ValidatedData<ValidatorsT> => {\n\tconst providedParams = (ctx.request.body || {}) as Record<string, string | number | boolean | object>\n\tconst params = keysOf(validators).map((name) => ({\n\t\tname,\n\t\tvalidator: validators[name],\n\t}))\n\n\tvalidateMissingParams(params, providedParams, validators, 'body')\n\n\tconst validationResults = params.map((param) => {\n\t\tconst paramValue = providedParams[param.name]\n\n\t\t// Param is optional and is not provided - skip validation\n\t\tif (paramValue === undefined) {\n\t\t\treturn { param, validated: true, parsedValue: undefined, exception: null }\n\t\t}\n\n\t\treturn {\n\t\t\t...validateParam(param.validator, paramValue),\n\t\t\tparam,\n\t\t}\n\t})\n\n\tconst failedValidations = validationResults.filter((result) => !result.validated)\n\n\tif (failedValidations.length > 0) {\n\t\tthrow new ValidationError(\n\t\t\t`Failed body param validation: ${failedValidations\n\t\t\t\t.map((result) => getValidationResultMessage(result.param, result.exception))\n\t\t\t\t.join(', ')}`,\n\t\t)\n\t}\n\n\tconst successfulValidations = validationResults.filter((result) => result.validated)\n\n\tconst returnValue: Record<string, unknown> = {}\n\tsuccessfulValidations.forEach((result) => {\n\t\treturnValue[result.param.name] = result.parsedValue\n\t})\n\n\treturn returnValue as ValidatedData<ValidatorsT>\n}\n"],"names":["useRequestBody","ctx","validators","providedParams","params","keysOf","name","validateMissingParams","validationResults","param","paramValue","validateParam","failedValidations","result","ValidationError","getValidationResultMessage","successfulValidations","returnValue"],"mappings":"kTA8BaA,EAAiB,CAC7BC,EACAC,IACgC,CAChC,MAAMC,EAAkBF,EAAI,QAAQ,MAAQ,CAAC,EACvCG,EAASC,EAAAA,OAAOH,CAAU,EAAE,IAAKI,IAAU,CAChD,KAAAA,EACA,UAAWJ,EAAWI,CAAI,CAAA,EACzB,EAEoBC,EAAAA,sBAAAH,EAAQD,EAAgBD,EAAY,MAAM,EAEhE,MAAMM,EAAoBJ,EAAO,IAAKK,GAAU,CACzC,MAAAC,EAAaP,EAAeM,EAAM,IAAI,EAG5C,OAAIC,IAAe,OACX,CAAE,MAAAD,EAAO,UAAW,GAAM,YAAa,OAAW,UAAW,IAAK,EAGnE,CACN,GAAGE,gBAAcF,EAAM,UAAWC,CAAU,EAC5C,MAAAD,CACD,CAAA,CACA,EAEKG,EAAoBJ,EAAkB,OAAQK,GAAW,CAACA,EAAO,SAAS,EAE5E,GAAAD,EAAkB,OAAS,EAC9B,MAAM,IAAIE,EAAA,gBACT,iCAAiCF,EAC/B,IAAKC,GAAWE,EAAAA,2BAA2BF,EAAO,MAAOA,EAAO,SAAS,CAAC,EAC1E,KAAK,IAAI,CAAC,EACb,EAGD,MAAMG,EAAwBR,EAAkB,OAAQK,GAAWA,EAAO,SAAS,EAE7EI,EAAuC,CAAC,EACxB,OAAAD,EAAA,QAASH,GAAW,CACzCI,EAAYJ,EAAO,MAAM,IAAI,EAAIA,EAAO,WAAA,CACxC,EAEMI,CACR"}
@@ -1,10 +1,11 @@
1
1
  import { ParameterizedContext } from 'koa';
2
+ import { default as z } from 'zod';
2
3
  import { Validator } from '../validators/types';
3
4
 
4
5
  type CheckIfOptional<T, B extends boolean | undefined> = B extends false ? T : T | undefined;
5
- type ValidatedData<T extends Record<string, Validator<any>>> = {
6
- [K in keyof T]: CheckIfOptional<ReturnType<T[K]['parse']>, T[K]['optional']>;
6
+ type ValidatedData<T extends Record<string, Validator<any> | z.ZodType<any>>> = {
7
+ [K in keyof T]: CheckIfOptional<ReturnType<T[K] extends Validator<any> ? T[K]['parse'] : T[K]['parse']>, T[K] extends Validator<any> ? T[K]['optional'] : false>;
7
8
  };
8
- export declare const useRequestBody: <ValidatorsT extends Record<string, Validator<any>>>(ctx: ParameterizedContext, validators: ValidatorsT) => ValidatedData<ValidatorsT>;
9
+ export declare const useRequestBody: <ValidatorsT extends Record<string, Validator<any> | z.ZodType<any>>>(ctx: ParameterizedContext, validators: ValidatorsT) => ValidatedData<ValidatorsT>;
9
10
  export {};
10
11
  //# sourceMappingURL=useRequestBody.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRequestBody.d.ts","sourceRoot":"","sources":["../../src/hooks/useRequestBody.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,KAAK,CAAA;AAK1C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/C,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,GAAG,SAAS,IAAI,CAAC,SAAS,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;AAE5F,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI;KAC7D,CAAC,IAAI,MAAM,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;CAC5E,CAAA;AAaD,eAAO,MAAM,cAAc,GAAI,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,OAC3E,oBAAoB,cACb,WAAW,KACrB,aAAa,CAAC,WAAW,CAkE3B,CAAA"}
1
+ {"version":3,"file":"useRequestBody.d.ts","sourceRoot":"","sources":["../../src/hooks/useRequestBody.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,KAAK,CAAA;AAC1C,OAAO,CAAC,MAAM,KAAK,CAAA;AAKnB,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAI/C,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,GAAG,SAAS,IAAI,CAAC,SAAS,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;AAE5F,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI;KAC9E,CAAC,IAAI,MAAM,CAAC,GAAG,eAAe,CAC9B,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EACvE,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CACtD;CACD,CAAA;AAaD,eAAO,MAAM,cAAc,GAAI,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAC5F,oBAAoB,cACb,WAAW,KACrB,aAAa,CAAC,WAAW,CAyC3B,CAAA"}
@@ -1,42 +1,31 @@
1
- import { ValidationError as f } from "../errors/UserFacingErrors.mjs";
2
- import { keysOf as V } from "../utils/object.mjs";
3
- import { getMissingParamMessage as y, getValidationResultMessage as h } from "../utils/validationMessages.mjs";
4
- const M = (m, i) => {
5
- const r = m.request.body || {}, o = V(i).map((a) => ({
1
+ import { ValidationError as m } from "../errors/UserFacingErrors.mjs";
2
+ import { keysOf as p } from "../utils/object.mjs";
3
+ import { getValidationResultMessage as u } from "../utils/validationMessages.mjs";
4
+ import { validateMissingParams as c } from "../validators/validateMissingParams.mjs";
5
+ import { validateParam as f } from "../validators/validateParam.mjs";
6
+ const h = (s, e) => {
7
+ const t = s.request.body || {}, o = p(e).map((a) => ({
6
8
  name: a,
7
- validator: i[a]
8
- })), s = o.filter(
9
- (a) => r[a.name] === void 0 && !i[a.name].optional
10
- );
11
- if (s.length > 0)
12
- throw new f(
13
- `Missing body params: ${s.map((a) => y(a)).join(", ")}`
9
+ validator: e[a]
10
+ }));
11
+ c(o, t, e, "body");
12
+ const i = o.map((a) => {
13
+ const n = t[a.name];
14
+ return n === void 0 ? { param: a, validated: !0, parsedValue: void 0, exception: null } : {
15
+ ...f(a.validator, n),
16
+ param: a
17
+ };
18
+ }), r = i.filter((a) => !a.validated);
19
+ if (r.length > 0)
20
+ throw new m(
21
+ `Failed body param validation: ${r.map((a) => u(a.param, a.exception)).join(", ")}`
14
22
  );
15
- const n = o.map((a) => {
16
- const e = r[a.name];
17
- if (e === void 0)
18
- return { param: a, validated: !0 };
19
- try {
20
- const c = e === null ? null : typeof e == "object" ? JSON.stringify(e) : String(e), t = a.validator, v = !t.prevalidate || t.prevalidate(c), u = t.parse(c), g = !t.validate || t.validate(u);
21
- return {
22
- param: a,
23
- validated: v && g,
24
- parsedValue: u
25
- };
26
- } catch {
27
- return { param: a, validated: !1 };
28
- }
29
- }), l = n.filter((a) => !a.validated);
30
- if (l.length > 0)
31
- throw new f(
32
- `Failed body param validation: ${l.map((a) => h(a.param)).join(", ")}`
33
- );
34
- const p = n.filter((a) => a.validated), d = {};
35
- return p.forEach((a) => {
23
+ const l = i.filter((a) => a.validated), d = {};
24
+ return l.forEach((a) => {
36
25
  d[a.param.name] = a.parsedValue;
37
26
  }), d;
38
27
  };
39
28
  export {
40
- M as useRequestBody
29
+ h as useRequestBody
41
30
  };
42
31
  //# sourceMappingURL=useRequestBody.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRequestBody.mjs","sources":["../../src/hooks/useRequestBody.ts"],"sourcesContent":["import { ParameterizedContext } from 'koa'\n\nimport { ValidationError } from '../errors/UserFacingErrors'\nimport { keysOf } from '../utils/object'\nimport { getMissingParamMessage, getValidationResultMessage } from '../utils/validationMessages'\nimport { Validator } from '../validators/types'\n\ntype CheckIfOptional<T, B extends boolean | undefined> = B extends false ? T : T | undefined\n\ntype ValidatedData<T extends Record<string, Validator<any>>> = {\n\t[K in keyof T]: CheckIfOptional<ReturnType<T[K]['parse']>, T[K]['optional']>\n}\n\n/**\n * Hook to access request body data in JSON or form formats.\n *\n * Supported content types:\n * - `application/json`\n * - `application/x-www-form-urlencoded`\n *\n * @param ctx Koa context\n * @param validators Validator definitions\n * @returns Validated parameters\n */\nexport const useRequestBody = <ValidatorsT extends Record<string, Validator<any>>>(\n\tctx: ParameterizedContext,\n\tvalidators: ValidatorsT,\n): ValidatedData<ValidatorsT> => {\n\tconst providedParams = (ctx.request.body || {}) as Record<string, string | number | boolean | object>\n\tconst params = keysOf(validators).map((name) => ({\n\t\tname,\n\t\tvalidator: validators[name],\n\t}))\n\n\tconst missingParams = params.filter(\n\t\t(param) => providedParams[param.name] === undefined && !validators[param.name].optional,\n\t)\n\n\tif (missingParams.length > 0) {\n\t\tthrow new ValidationError(\n\t\t\t`Missing body params: ${missingParams.map((param) => getMissingParamMessage(param)).join(', ')}`,\n\t\t)\n\t}\n\n\tconst validationResults = params.map((param) => {\n\t\tconst paramValue = providedParams[param.name]\n\n\t\t// Param is optional and is not provided - skip validation\n\t\tif (paramValue === undefined) {\n\t\t\treturn { param, validated: true }\n\t\t}\n\n\t\ttry {\n\t\t\tconst convertedValue = (() => {\n\t\t\t\tif (paramValue === null) {\n\t\t\t\t\treturn null\n\t\t\t\t} else if (typeof paramValue === 'object') {\n\t\t\t\t\treturn JSON.stringify(paramValue)\n\t\t\t\t}\n\t\t\t\treturn String(paramValue)\n\t\t\t})()\n\t\t\tconst validatorObject = param.validator\n\t\t\tconst prevalidatorSuccess = !validatorObject.prevalidate || validatorObject.prevalidate(convertedValue)\n\t\t\tconst parsedValue = validatorObject.parse(convertedValue)\n\t\t\tconst validatorSuccess = !validatorObject.validate || validatorObject.validate(parsedValue)\n\t\t\treturn {\n\t\t\t\tparam,\n\t\t\t\tvalidated: prevalidatorSuccess && validatorSuccess,\n\t\t\t\tparsedValue,\n\t\t\t}\n\t\t} catch {\n\t\t\treturn { param, validated: false }\n\t\t}\n\t})\n\n\tconst failedValidations = validationResults.filter((result) => !result.validated)\n\n\tif (failedValidations.length > 0) {\n\t\tthrow new ValidationError(\n\t\t\t`Failed body param validation: ${failedValidations\n\t\t\t\t.map((result) => getValidationResultMessage(result.param))\n\t\t\t\t.join(', ')}`,\n\t\t)\n\t}\n\n\tconst successfulValidations = validationResults.filter((result) => result.validated)\n\n\tconst returnValue: Record<string, unknown> = {}\n\tsuccessfulValidations.forEach((result) => {\n\t\treturnValue[result.param.name] = result.parsedValue\n\t})\n\n\treturn returnValue as ValidatedData<ValidatorsT>\n}\n"],"names":["useRequestBody","ctx","validators","providedParams","params","keysOf","name","missingParams","param","ValidationError","getMissingParamMessage","validationResults","paramValue","convertedValue","validatorObject","prevalidatorSuccess","parsedValue","validatorSuccess","failedValidations","result","getValidationResultMessage","successfulValidations","returnValue"],"mappings":";;;AAwBa,MAAAA,IAAiB,CAC7BC,GACAC,MACgC;AAChC,QAAMC,IAAkBF,EAAI,QAAQ,QAAQ,CAAC,GACvCG,IAASC,EAAOH,CAAU,EAAE,IAAI,CAACI,OAAU;AAAA,IAChD,MAAAA;AAAA,IACA,WAAWJ,EAAWI,CAAI;AAAA,EAAA,EACzB,GAEIC,IAAgBH,EAAO;AAAA,IAC5B,CAACI,MAAUL,EAAeK,EAAM,IAAI,MAAM,UAAa,CAACN,EAAWM,EAAM,IAAI,EAAE;AAAA,EAChF;AAEI,MAAAD,EAAc,SAAS;AAC1B,UAAM,IAAIE;AAAA,MACT,wBAAwBF,EAAc,IAAI,CAACC,MAAUE,EAAuBF,CAAK,CAAC,EAAE,KAAK,IAAI,CAAC;AAAA,IAC/F;AAGD,QAAMG,IAAoBP,EAAO,IAAI,CAACI,MAAU;AACzC,UAAAI,IAAaT,EAAeK,EAAM,IAAI;AAG5C,QAAII,MAAe;AACX,aAAA,EAAE,OAAAJ,GAAO,WAAW,GAAK;AAG7B,QAAA;AACH,YAAMK,IACDD,MAAe,OACX,OACG,OAAOA,KAAe,WACzB,KAAK,UAAUA,CAAU,IAE1B,OAAOA,CAAU,GAEnBE,IAAkBN,EAAM,WACxBO,IAAsB,CAACD,EAAgB,eAAeA,EAAgB,YAAYD,CAAc,GAChGG,IAAcF,EAAgB,MAAMD,CAAc,GAClDI,IAAmB,CAACH,EAAgB,YAAYA,EAAgB,SAASE,CAAW;AACnF,aAAA;AAAA,QACN,OAAAR;AAAA,QACA,WAAWO,KAAuBE;AAAA,QAClC,aAAAD;AAAA,MACD;AAAA,IAAA,QACO;AACA,aAAA,EAAE,OAAAR,GAAO,WAAW,GAAM;AAAA,IAAA;AAAA,EAClC,CACA,GAEKU,IAAoBP,EAAkB,OAAO,CAACQ,MAAW,CAACA,EAAO,SAAS;AAE5E,MAAAD,EAAkB,SAAS;AAC9B,UAAM,IAAIT;AAAA,MACT,iCAAiCS,EAC/B,IAAI,CAACC,MAAWC,EAA2BD,EAAO,KAAK,CAAC,EACxD,KAAK,IAAI,CAAC;AAAA,IACb;AAGD,QAAME,IAAwBV,EAAkB,OAAO,CAACQ,MAAWA,EAAO,SAAS,GAE7EG,IAAuC,CAAC;AACxB,SAAAD,EAAA,QAAQ,CAACF,MAAW;AACzC,IAAAG,EAAYH,EAAO,MAAM,IAAI,IAAIA,EAAO;AAAA,EAAA,CACxC,GAEMG;AACR;"}
1
+ {"version":3,"file":"useRequestBody.mjs","sources":["../../src/hooks/useRequestBody.ts"],"sourcesContent":["import { ParameterizedContext } from 'koa'\nimport z from 'zod'\n\nimport { ValidationError } from '../errors/UserFacingErrors'\nimport { keysOf } from '../utils/object'\nimport { getValidationResultMessage } from '../utils/validationMessages'\nimport { Validator } from '../validators/types'\nimport { validateMissingParams } from '../validators/validateMissingParams'\nimport { validateParam } from '../validators/validateParam'\n\ntype CheckIfOptional<T, B extends boolean | undefined> = B extends false ? T : T | undefined\n\ntype ValidatedData<T extends Record<string, Validator<any> | z.ZodType<any>>> = {\n\t[K in keyof T]: CheckIfOptional<\n\t\tReturnType<T[K] extends Validator<any> ? T[K]['parse'] : T[K]['parse']>,\n\t\tT[K] extends Validator<any> ? T[K]['optional'] : false\n\t>\n}\n\n/**\n * Hook to access request body data in JSON or form formats.\n *\n * Supported content types:\n * - `application/json`\n * - `application/x-www-form-urlencoded`\n *\n * @param ctx Koa context\n * @param validators Validator definitions\n * @returns Validated parameters\n */\nexport const useRequestBody = <ValidatorsT extends Record<string, Validator<any> | z.ZodType<any>>>(\n\tctx: ParameterizedContext,\n\tvalidators: ValidatorsT,\n): ValidatedData<ValidatorsT> => {\n\tconst providedParams = (ctx.request.body || {}) as Record<string, string | number | boolean | object>\n\tconst params = keysOf(validators).map((name) => ({\n\t\tname,\n\t\tvalidator: validators[name],\n\t}))\n\n\tvalidateMissingParams(params, providedParams, validators, 'body')\n\n\tconst validationResults = params.map((param) => {\n\t\tconst paramValue = providedParams[param.name]\n\n\t\t// Param is optional and is not provided - skip validation\n\t\tif (paramValue === undefined) {\n\t\t\treturn { param, validated: true, parsedValue: undefined, exception: null }\n\t\t}\n\n\t\treturn {\n\t\t\t...validateParam(param.validator, paramValue),\n\t\t\tparam,\n\t\t}\n\t})\n\n\tconst failedValidations = validationResults.filter((result) => !result.validated)\n\n\tif (failedValidations.length > 0) {\n\t\tthrow new ValidationError(\n\t\t\t`Failed body param validation: ${failedValidations\n\t\t\t\t.map((result) => getValidationResultMessage(result.param, result.exception))\n\t\t\t\t.join(', ')}`,\n\t\t)\n\t}\n\n\tconst successfulValidations = validationResults.filter((result) => result.validated)\n\n\tconst returnValue: Record<string, unknown> = {}\n\tsuccessfulValidations.forEach((result) => {\n\t\treturnValue[result.param.name] = result.parsedValue\n\t})\n\n\treturn returnValue as ValidatedData<ValidatorsT>\n}\n"],"names":["useRequestBody","ctx","validators","providedParams","params","keysOf","name","validateMissingParams","validationResults","param","paramValue","validateParam","failedValidations","result","ValidationError","getValidationResultMessage","successfulValidations","returnValue"],"mappings":";;;;;AA8Ba,MAAAA,IAAiB,CAC7BC,GACAC,MACgC;AAChC,QAAMC,IAAkBF,EAAI,QAAQ,QAAQ,CAAC,GACvCG,IAASC,EAAOH,CAAU,EAAE,IAAI,CAACI,OAAU;AAAA,IAChD,MAAAA;AAAA,IACA,WAAWJ,EAAWI,CAAI;AAAA,EAAA,EACzB;AAEoB,EAAAC,EAAAH,GAAQD,GAAgBD,GAAY,MAAM;AAEhE,QAAMM,IAAoBJ,EAAO,IAAI,CAACK,MAAU;AACzC,UAAAC,IAAaP,EAAeM,EAAM,IAAI;AAG5C,WAAIC,MAAe,SACX,EAAE,OAAAD,GAAO,WAAW,IAAM,aAAa,QAAW,WAAW,KAAK,IAGnE;AAAA,MACN,GAAGE,EAAcF,EAAM,WAAWC,CAAU;AAAA,MAC5C,OAAAD;AAAA,IACD;AAAA,EAAA,CACA,GAEKG,IAAoBJ,EAAkB,OAAO,CAACK,MAAW,CAACA,EAAO,SAAS;AAE5E,MAAAD,EAAkB,SAAS;AAC9B,UAAM,IAAIE;AAAA,MACT,iCAAiCF,EAC/B,IAAI,CAACC,MAAWE,EAA2BF,EAAO,OAAOA,EAAO,SAAS,CAAC,EAC1E,KAAK,IAAI,CAAC;AAAA,IACb;AAGD,QAAMG,IAAwBR,EAAkB,OAAO,CAACK,MAAWA,EAAO,SAAS,GAE7EI,IAAuC,CAAC;AACxB,SAAAD,EAAA,QAAQ,CAACH,MAAW;AACzC,IAAAI,EAAYJ,EAAO,MAAM,IAAI,IAAIA,EAAO;AAAA,EAAA,CACxC,GAEMI;AACR;"}
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./errors/HttpErrorHandler.cjs"),r=require("./errors/UserFacingErrors.cjs"),u=require("./hooks/authentication/useAuth.cjs"),i=require("./hooks/authentication/useOptionalAuth.cjs"),n=require("./hooks/useApiEndpoint.cjs"),l=require("./hooks/useApiHeader/useApiHeader.cjs"),d=require("./hooks/useCookieParams.cjs"),o=require("./hooks/useExposeApiModel.cjs"),t=require("./hooks/useHeaderParams.cjs"),p=require("./hooks/usePathParams.cjs"),E=require("./hooks/useQueryParams.cjs"),q=require("./hooks/useRequestBody.cjs"),m=require("./hooks/useRequestRawBody.cjs"),h=require("./hooks/useReturnValue.cjs"),c=require("./openapi/initOpenApiEngine.cjs"),V=require("./router/Router.cjs"),e=require("./validators/BuiltInValidators.cjs"),a=require("./validators/ParamWrappers.cjs"),P=require("./errors/StatusCodes.cjs");exports.HttpErrorHandler=s.HttpErrorHandler;exports.BadRequestError=r.BadRequestError;exports.InternalServerError=r.InternalServerError;exports.MoonflowerError=r.MoonflowerError;exports.NotFoundError=r.NotFoundError;exports.ServiceUnavailableError=r.ServiceUnavailableError;exports.UnauthorizedError=r.UnauthorizedError;exports.ValidationError=r.ValidationError;exports.useAuth=u.useAuth;exports.useOptionalAuth=i.useOptionalAuth;exports.useApiEndpoint=n.useApiEndpoint;exports.useApiHeader=l.useApiHeader;exports.useCookieParams=d.useCookieParams;exports.useExposeApiModel=o.useExposeApiModel;exports.useExposeNamedApiModels=o.useExposeNamedApiModels;exports.useHeaderParams=t.useHeaderParams;exports.useRequestHeaders=t.useRequestHeaders;exports.usePathParams=p.usePathParams;exports.useQueryParams=E.useQueryParams;exports.useRequestBody=q.useRequestBody;exports.useRequestRawBody=m.useRequestRawBody;exports.useReturnValue=h.useReturnValue;exports.initOpenApiEngine=c.initOpenApiEngine;exports.Router=V.Router;exports.BigIntValidator=e.BigIntValidator;exports.BooleanValidator=e.BooleanValidator;exports.EmailValidator=e.EmailValidator;exports.NonEmptyStringValidator=e.NonEmptyStringValidator;exports.NullableBigIntValidator=e.NullableBigIntValidator;exports.NullableBooleanValidator=e.NullableBooleanValidator;exports.NullableNumberValidator=e.NullableNumberValidator;exports.NullableStringValidator=e.NullableStringValidator;exports.NumberValidator=e.NumberValidator;exports.StringValidator=e.StringValidator;exports.OptionalParam=a.OptionalParam;exports.PathParam=a.PathParam;exports.RequiredParam=a.RequiredParam;exports.HttpStatusCodes=P.StatusCodes;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./errors/HttpErrorHandler.cjs"),r=require("./errors/UserFacingErrors.cjs"),u=require("./hooks/authentication/useAuth.cjs"),i=require("./hooks/authentication/useOptionalAuth.cjs"),n=require("./hooks/useApiEndpoint.cjs"),l=require("./hooks/useApiHeader/useApiHeader.cjs"),d=require("./hooks/useCookieParams.cjs"),a=require("./hooks/useExposeApiModel.cjs"),t=require("./hooks/useHeaderParams.cjs"),E=require("./hooks/usePathParams.cjs"),p=require("./hooks/useQueryParams.cjs"),m=require("./hooks/useRequestBody.cjs"),q=require("./hooks/useRequestRawBody.cjs"),c=require("./hooks/useReturnValue.cjs"),h=require("./openapi/initOpenApiEngine.cjs"),V=require("./router/Router.cjs"),e=require("./validators/BuiltInValidators.cjs"),o=require("./validators/ParamWrappers.cjs"),P=require("./errors/StatusCodes.cjs");exports.HttpErrorHandler=s.HttpErrorHandler;exports.BadGatewayError=r.BadGatewayError;exports.BadRequestError=r.BadRequestError;exports.ConflictError=r.ConflictError;exports.ForbiddenError=r.ForbiddenError;exports.GatewayTimeoutError=r.GatewayTimeoutError;exports.GoneError=r.GoneError;exports.InternalServerError=r.InternalServerError;exports.MethodNotAllowedError=r.MethodNotAllowedError;exports.MoonflowerError=r.MoonflowerError;exports.NotFoundError=r.NotFoundError;exports.NotImplementedError=r.NotImplementedError;exports.ServiceUnavailableError=r.ServiceUnavailableError;exports.TooManyRequestsError=r.TooManyRequestsError;exports.UnauthorizedError=r.UnauthorizedError;exports.UnprocessableEntityError=r.UnprocessableEntityError;exports.ValidationError=r.ValidationError;exports.useAuth=u.useAuth;exports.useOptionalAuth=i.useOptionalAuth;exports.useApiEndpoint=n.useApiEndpoint;exports.useApiHeader=l.useApiHeader;exports.useCookieParams=d.useCookieParams;exports.useExposeApiModel=a.useExposeApiModel;exports.useExposeNamedApiModels=a.useExposeNamedApiModels;exports.useHeaderParams=t.useHeaderParams;exports.useRequestHeaders=t.useRequestHeaders;exports.usePathParams=E.usePathParams;exports.useQueryParams=p.useQueryParams;exports.useRequestBody=m.useRequestBody;exports.useRequestRawBody=q.useRequestRawBody;exports.useReturnValue=c.useReturnValue;exports.initOpenApiEngine=h.initOpenApiEngine;exports.Router=V.Router;exports.BigIntValidator=e.BigIntValidator;exports.BooleanValidator=e.BooleanValidator;exports.EmailValidator=e.EmailValidator;exports.NonEmptyStringValidator=e.NonEmptyStringValidator;exports.NullableBigIntValidator=e.NullableBigIntValidator;exports.NullableBooleanValidator=e.NullableBooleanValidator;exports.NullableNumberValidator=e.NullableNumberValidator;exports.NullableStringValidator=e.NullableStringValidator;exports.NumberValidator=e.NumberValidator;exports.StringValidator=e.StringValidator;exports.OptionalParam=o.OptionalParam;exports.PathParam=o.PathParam;exports.RequiredParam=o.RequiredParam;exports.HttpStatusCodes=P.StatusCodes;
2
2
  //# sourceMappingURL=index.cjs.map
package/dist/index.mjs CHANGED
@@ -1,60 +1,69 @@
1
1
  import { HttpErrorHandler as e } from "./errors/HttpErrorHandler.mjs";
2
- import { BadRequestError as t, InternalServerError as l, MoonflowerError as u, NotFoundError as i, ServiceUnavailableError as p, UnauthorizedError as m, ValidationError as s } from "./errors/UserFacingErrors.mjs";
3
- import { useAuth as n } from "./hooks/authentication/useAuth.mjs";
4
- import { useOptionalAuth as f } from "./hooks/authentication/useOptionalAuth.mjs";
5
- import { useApiEndpoint as V } from "./hooks/useApiEndpoint.mjs";
6
- import { useApiHeader as P } from "./hooks/useApiHeader/useApiHeader.mjs";
7
- import { useCookieParams as b } from "./hooks/useCookieParams.mjs";
8
- import { useExposeApiModel as B, useExposeNamedApiModels as S } from "./hooks/useExposeApiModel.mjs";
9
- import { useHeaderParams as H, useRequestHeaders as h } from "./hooks/useHeaderParams.mjs";
10
- import { usePathParams as y } from "./hooks/usePathParams.mjs";
11
- import { useQueryParams as C } from "./hooks/useQueryParams.mjs";
12
- import { useRequestBody as M } from "./hooks/useRequestBody.mjs";
13
- import { useRequestRawBody as w } from "./hooks/useRequestRawBody.mjs";
14
- import { useReturnValue as c } from "./hooks/useReturnValue.mjs";
15
- import { initOpenApiEngine as z } from "./openapi/initOpenApiEngine.mjs";
16
- import { Router as Q } from "./router/Router.mjs";
17
- import { BigIntValidator as D, BooleanValidator as G, EmailValidator as J, NonEmptyStringValidator as K, NullableBigIntValidator as L, NullableBooleanValidator as T, NullableNumberValidator as W, NullableStringValidator as X, NumberValidator as Y, StringValidator as Z } from "./validators/BuiltInValidators.mjs";
18
- import { OptionalParam as $, PathParam as rr, RequiredParam as or } from "./validators/ParamWrappers.mjs";
19
- import { StatusCodes as ar } from "./errors/StatusCodes.mjs";
2
+ import { BadGatewayError as a, BadRequestError as l, ConflictError as i, ForbiddenError as u, GatewayTimeoutError as p, GoneError as s, InternalServerError as m, MethodNotAllowedError as d, MoonflowerError as n, NotFoundError as E, NotImplementedError as f, ServiceUnavailableError as x, TooManyRequestsError as V, UnauthorizedError as N, UnprocessableEntityError as b, ValidationError as P } from "./errors/UserFacingErrors.mjs";
3
+ import { useAuth as y } from "./hooks/authentication/useAuth.mjs";
4
+ import { useOptionalAuth as B } from "./hooks/authentication/useOptionalAuth.mjs";
5
+ import { useApiEndpoint as g } from "./hooks/useApiEndpoint.mjs";
6
+ import { useApiHeader as q } from "./hooks/useApiHeader/useApiHeader.mjs";
7
+ import { useCookieParams as w } from "./hooks/useCookieParams.mjs";
8
+ import { useExposeApiModel as C, useExposeNamedApiModels as I } from "./hooks/useExposeApiModel.mjs";
9
+ import { useHeaderParams as v, useRequestHeaders as G } from "./hooks/useHeaderParams.mjs";
10
+ import { usePathParams as U } from "./hooks/usePathParams.mjs";
11
+ import { useQueryParams as T } from "./hooks/useQueryParams.mjs";
12
+ import { useRequestBody as z } from "./hooks/useRequestBody.mjs";
13
+ import { useRequestRawBody as j } from "./hooks/useRequestRawBody.mjs";
14
+ import { useReturnValue as J } from "./hooks/useReturnValue.mjs";
15
+ import { initOpenApiEngine as L } from "./openapi/initOpenApiEngine.mjs";
16
+ import { Router as X } from "./router/Router.mjs";
17
+ import { BigIntValidator as Z, BooleanValidator as _, EmailValidator as $, NonEmptyStringValidator as rr, NullableBigIntValidator as or, NullableBooleanValidator as er, NullableNumberValidator as tr, NullableStringValidator as ar, NumberValidator as lr, StringValidator as ir } from "./validators/BuiltInValidators.mjs";
18
+ import { OptionalParam as pr, PathParam as sr, RequiredParam as mr } from "./validators/ParamWrappers.mjs";
19
+ import { StatusCodes as nr } from "./errors/StatusCodes.mjs";
20
20
  export {
21
- t as BadRequestError,
22
- D as BigIntValidator,
23
- G as BooleanValidator,
24
- J as EmailValidator,
21
+ a as BadGatewayError,
22
+ l as BadRequestError,
23
+ Z as BigIntValidator,
24
+ _ as BooleanValidator,
25
+ i as ConflictError,
26
+ $ as EmailValidator,
27
+ u as ForbiddenError,
28
+ p as GatewayTimeoutError,
29
+ s as GoneError,
25
30
  e as HttpErrorHandler,
26
- ar as HttpStatusCodes,
27
- l as InternalServerError,
28
- u as MoonflowerError,
29
- K as NonEmptyStringValidator,
30
- i as NotFoundError,
31
- L as NullableBigIntValidator,
32
- T as NullableBooleanValidator,
33
- W as NullableNumberValidator,
34
- X as NullableStringValidator,
35
- Y as NumberValidator,
36
- $ as OptionalParam,
37
- rr as PathParam,
38
- or as RequiredParam,
39
- Q as Router,
40
- p as ServiceUnavailableError,
41
- Z as StringValidator,
42
- m as UnauthorizedError,
43
- s as ValidationError,
44
- z as initOpenApiEngine,
45
- V as useApiEndpoint,
46
- P as useApiHeader,
47
- n as useAuth,
48
- b as useCookieParams,
49
- B as useExposeApiModel,
50
- S as useExposeNamedApiModels,
51
- H as useHeaderParams,
52
- f as useOptionalAuth,
53
- y as usePathParams,
54
- C as useQueryParams,
55
- M as useRequestBody,
56
- h as useRequestHeaders,
57
- w as useRequestRawBody,
58
- c as useReturnValue
31
+ nr as HttpStatusCodes,
32
+ m as InternalServerError,
33
+ d as MethodNotAllowedError,
34
+ n as MoonflowerError,
35
+ rr as NonEmptyStringValidator,
36
+ E as NotFoundError,
37
+ f as NotImplementedError,
38
+ or as NullableBigIntValidator,
39
+ er as NullableBooleanValidator,
40
+ tr as NullableNumberValidator,
41
+ ar as NullableStringValidator,
42
+ lr as NumberValidator,
43
+ pr as OptionalParam,
44
+ sr as PathParam,
45
+ mr as RequiredParam,
46
+ X as Router,
47
+ x as ServiceUnavailableError,
48
+ ir as StringValidator,
49
+ V as TooManyRequestsError,
50
+ N as UnauthorizedError,
51
+ b as UnprocessableEntityError,
52
+ P as ValidationError,
53
+ L as initOpenApiEngine,
54
+ g as useApiEndpoint,
55
+ q as useApiHeader,
56
+ y as useAuth,
57
+ w as useCookieParams,
58
+ C as useExposeApiModel,
59
+ I as useExposeNamedApiModels,
60
+ v as useHeaderParams,
61
+ B as useOptionalAuth,
62
+ U as usePathParams,
63
+ T as useQueryParams,
64
+ z as useRequestBody,
65
+ G as useRequestHeaders,
66
+ j as useRequestRawBody,
67
+ J as useReturnValue
59
68
  };
60
69
  //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./v4/classic/external.cjs");exports.default=e;exports.z=e;
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import * as a from "./v4/classic/external.mjs";
2
+ export {
3
+ a as default,
4
+ a as z
5
+ };
6
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../core/registries.cjs");const e=require("../core/api.cjs");exports.endsWith=e._endsWith;exports.gt=e._gt;exports.gte=e._gte;exports.includes=e._includes;exports.length=e._length;exports.lowercase=e._lowercase;exports.lt=e._lt;exports.lte=e._lte;exports.maxLength=e._maxLength;exports.maxSize=e._maxSize;exports.mime=e._mime;exports.minLength=e._minLength;exports.minSize=e._minSize;exports.multipleOf=e._multipleOf;exports.negative=e._negative;exports.nonnegative=e._nonnegative;exports.nonpositive=e._nonpositive;exports.normalize=e._normalize;exports.overwrite=e._overwrite;exports.positive=e._positive;exports.property=e._property;exports.regex=e._regex;exports.size=e._size;exports.slugify=e._slugify;exports.startsWith=e._startsWith;exports.toLowerCase=e._toLowerCase;exports.toUpperCase=e._toUpperCase;exports.trim=e._trim;exports.uppercase=e._uppercase;
2
+ //# sourceMappingURL=checks.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checks.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ import "../core/registries.mjs";
2
+ import { _endsWith as t, _gt as i, _gte as _, _includes as n, _length as r, _lowercase as o, _lt as m, _lte as p, _maxLength as g, _maxSize as l, _mime as h, _minLength as v, _minSize as u, _multipleOf as z, _negative as x, _nonnegative as c, _nonpositive as w, _normalize as L, _overwrite as f, _positive as d, _property as y, _regex as C, _size as S, _slugify as W, _startsWith as O, _toLowerCase as U, _toUpperCase as b, _trim as j, _uppercase as k } from "../core/api.mjs";
3
+ export {
4
+ t as endsWith,
5
+ i as gt,
6
+ _ as gte,
7
+ n as includes,
8
+ r as length,
9
+ o as lowercase,
10
+ m as lt,
11
+ p as lte,
12
+ g as maxLength,
13
+ l as maxSize,
14
+ h as mime,
15
+ v as minLength,
16
+ u as minSize,
17
+ z as multipleOf,
18
+ x as negative,
19
+ c as nonnegative,
20
+ w as nonpositive,
21
+ L as normalize,
22
+ f as overwrite,
23
+ d as positive,
24
+ y as property,
25
+ C as regex,
26
+ S as size,
27
+ W as slugify,
28
+ O as startsWith,
29
+ U as toLowerCase,
30
+ b as toUpperCase,
31
+ j as trim,
32
+ k as uppercase
33
+ };
34
+ //# sourceMappingURL=checks.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checks.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../core/registries.cjs");const n=require("../core/api.cjs"),r=require("./schemas.cjs");function t(e){return n._coercedString(r.ZodString,e)}function o(e){return n._coercedNumber(r.ZodNumber,e)}function i(e){return n._coercedBoolean(r.ZodBoolean,e)}function c(e){return n._coercedBigint(r.ZodBigInt,e)}function u(e){return n._coercedDate(r.ZodDate,e)}exports.bigint=c;exports.boolean=i;exports.date=u;exports.number=o;exports.string=t;
2
+ //# sourceMappingURL=coerce.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coerce.cjs","sources":["../../../../../node_modules/zod/v4/classic/coerce.js"],"sourcesContent":["import * as core from \"../core/index.js\";\nimport * as schemas from \"./schemas.js\";\nexport function string(params) {\n return core._coercedString(schemas.ZodString, params);\n}\nexport function number(params) {\n return core._coercedNumber(schemas.ZodNumber, params);\n}\nexport function boolean(params) {\n return core._coercedBoolean(schemas.ZodBoolean, params);\n}\nexport function bigint(params) {\n return core._coercedBigint(schemas.ZodBigInt, params);\n}\nexport function date(params) {\n return core._coercedDate(schemas.ZodDate, params);\n}\n"],"names":["string","params","core._coercedString","schemas.ZodString","number","core._coercedNumber","schemas.ZodNumber","boolean","core._coercedBoolean","schemas.ZodBoolean","bigint","core._coercedBigint","schemas.ZodBigInt","date","core._coercedDate","schemas.ZodDate"],"mappings":"gLAEO,SAASA,EAAOC,EAAQ,CAC3B,OAAOC,EAAmB,eAACC,EAAiB,UAAEF,CAAM,CACxD,CACO,SAASG,EAAOH,EAAQ,CAC3B,OAAOI,EAAmB,eAACC,EAAiB,UAAEL,CAAM,CACxD,CACO,SAASM,EAAQN,EAAQ,CAC5B,OAAOO,EAAoB,gBAACC,EAAkB,WAAER,CAAM,CAC1D,CACO,SAASS,EAAOT,EAAQ,CAC3B,OAAOU,EAAmB,eAACC,EAAiB,UAAEX,CAAM,CACxD,CACO,SAASY,EAAKZ,EAAQ,CACzB,OAAOa,EAAiB,aAACC,EAAe,QAAEd,CAAM,CACpD","x_google_ignoreList":[0]}
@@ -0,0 +1,26 @@
1
+ import "../core/registries.mjs";
2
+ import { _coercedString as r, _coercedNumber as e, _coercedBoolean as n, _coercedBigint as t, _coercedDate as i } from "../core/api.mjs";
3
+ import { ZodString as c, ZodNumber as u, ZodBoolean as d, ZodBigInt as m, ZodDate as f } from "./schemas.mjs";
4
+ function Z(o) {
5
+ return r(c, o);
6
+ }
7
+ function _(o) {
8
+ return e(u, o);
9
+ }
10
+ function p(o) {
11
+ return n(d, o);
12
+ }
13
+ function B(o) {
14
+ return t(m, o);
15
+ }
16
+ function l(o) {
17
+ return i(f, o);
18
+ }
19
+ export {
20
+ B as bigint,
21
+ p as boolean,
22
+ l as date,
23
+ _ as number,
24
+ Z as string
25
+ };
26
+ //# sourceMappingURL=coerce.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coerce.mjs","sources":["../../../../../node_modules/zod/v4/classic/coerce.js"],"sourcesContent":["import * as core from \"../core/index.js\";\nimport * as schemas from \"./schemas.js\";\nexport function string(params) {\n return core._coercedString(schemas.ZodString, params);\n}\nexport function number(params) {\n return core._coercedNumber(schemas.ZodNumber, params);\n}\nexport function boolean(params) {\n return core._coercedBoolean(schemas.ZodBoolean, params);\n}\nexport function bigint(params) {\n return core._coercedBigint(schemas.ZodBigInt, params);\n}\nexport function date(params) {\n return core._coercedDate(schemas.ZodDate, params);\n}\n"],"names":["string","params","core._coercedString","schemas.ZodString","number","core._coercedNumber","schemas.ZodNumber","boolean","core._coercedBoolean","schemas.ZodBoolean","bigint","core._coercedBigint","schemas.ZodBigInt","date","core._coercedDate","schemas.ZodDate"],"mappings":";;;AAEO,SAASA,EAAOC,GAAQ;AAC3B,SAAOC,EAAoBC,GAAmBF,CAAM;AACxD;AACO,SAASG,EAAOH,GAAQ;AAC3B,SAAOI,EAAoBC,GAAmBL,CAAM;AACxD;AACO,SAASM,EAAQN,GAAQ;AAC5B,SAAOO,EAAqBC,GAAoBR,CAAM;AAC1D;AACO,SAASS,EAAOT,GAAQ;AAC3B,SAAOU,EAAoBC,GAAmBX,CAAM;AACxD;AACO,SAASY,EAAKZ,GAAQ;AACzB,SAAOa,EAAkBC,GAAiBd,CAAM;AACpD;","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../core/core.cjs");require("../core/registries.cjs");const e={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};function n(o){i.config({customError:o})}function r(){return i.config().customError}exports.ZodFirstPartyTypeKind=void 0;exports.ZodFirstPartyTypeKind||(exports.ZodFirstPartyTypeKind={});exports.$brand=i.$brand;exports.config=i.config;exports.ZodIssueCode=e;exports.getErrorMap=r;exports.setErrorMap=n;
2
+ //# sourceMappingURL=compat.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compat.cjs","sources":["../../../../../node_modules/zod/v4/classic/compat.js"],"sourcesContent":["// Zod 3 compat layer\nimport * as core from \"../core/index.js\";\n/** @deprecated Use the raw string literal codes instead, e.g. \"invalid_type\". */\nexport const ZodIssueCode = {\n invalid_type: \"invalid_type\",\n too_big: \"too_big\",\n too_small: \"too_small\",\n invalid_format: \"invalid_format\",\n not_multiple_of: \"not_multiple_of\",\n unrecognized_keys: \"unrecognized_keys\",\n invalid_union: \"invalid_union\",\n invalid_key: \"invalid_key\",\n invalid_element: \"invalid_element\",\n invalid_value: \"invalid_value\",\n custom: \"custom\",\n};\nexport { $brand, config } from \"../core/index.js\";\n/** @deprecated Use `z.config(params)` instead. */\nexport function setErrorMap(map) {\n core.config({\n customError: map,\n });\n}\n/** @deprecated Use `z.config()` instead. */\nexport function getErrorMap() {\n return core.config().customError;\n}\n/** @deprecated Do not use. Stub definition, only included for zod-to-json-schema compatibility. */\nexport var ZodFirstPartyTypeKind;\n(function (ZodFirstPartyTypeKind) {\n})(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));\n"],"names":["ZodIssueCode","setErrorMap","map","core.config","getErrorMap","ZodFirstPartyTypeKind"],"mappings":"sJAGY,MAACA,EAAe,CACxB,aAAc,eACd,QAAS,UACT,UAAW,YACX,eAAgB,iBAChB,gBAAiB,kBACjB,kBAAmB,oBACnB,cAAe,gBACf,YAAa,cACb,gBAAiB,kBACjB,cAAe,gBACf,OAAQ,QACZ,EAGO,SAASC,EAAYC,EAAK,CAC7BC,SAAY,CACR,YAAaD,CACrB,CAAK,CACL,CAEO,SAASE,GAAc,CAC1B,OAAOD,EAAAA,OAAa,EAAC,WACzB,CAEWE,QAAAA,sBAAAA,OAERA,QAAqB,wBAAKA,8BAAwB,CAAA","x_google_ignoreList":[0]}
@@ -0,0 +1,35 @@
1
+ import { config as n } from "../core/core.mjs";
2
+ import { $brand as u } from "../core/core.mjs";
3
+ import "../core/registries.mjs";
4
+ const e = {
5
+ invalid_type: "invalid_type",
6
+ too_big: "too_big",
7
+ too_small: "too_small",
8
+ invalid_format: "invalid_format",
9
+ not_multiple_of: "not_multiple_of",
10
+ unrecognized_keys: "unrecognized_keys",
11
+ invalid_union: "invalid_union",
12
+ invalid_key: "invalid_key",
13
+ invalid_element: "invalid_element",
14
+ invalid_value: "invalid_value",
15
+ custom: "custom"
16
+ };
17
+ function a(i) {
18
+ n({
19
+ customError: i
20
+ });
21
+ }
22
+ function l() {
23
+ return n().customError;
24
+ }
25
+ var o;
26
+ o || (o = {});
27
+ export {
28
+ u as $brand,
29
+ o as ZodFirstPartyTypeKind,
30
+ e as ZodIssueCode,
31
+ n as config,
32
+ l as getErrorMap,
33
+ a as setErrorMap
34
+ };
35
+ //# sourceMappingURL=compat.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compat.mjs","sources":["../../../../../node_modules/zod/v4/classic/compat.js"],"sourcesContent":["// Zod 3 compat layer\nimport * as core from \"../core/index.js\";\n/** @deprecated Use the raw string literal codes instead, e.g. \"invalid_type\". */\nexport const ZodIssueCode = {\n invalid_type: \"invalid_type\",\n too_big: \"too_big\",\n too_small: \"too_small\",\n invalid_format: \"invalid_format\",\n not_multiple_of: \"not_multiple_of\",\n unrecognized_keys: \"unrecognized_keys\",\n invalid_union: \"invalid_union\",\n invalid_key: \"invalid_key\",\n invalid_element: \"invalid_element\",\n invalid_value: \"invalid_value\",\n custom: \"custom\",\n};\nexport { $brand, config } from \"../core/index.js\";\n/** @deprecated Use `z.config(params)` instead. */\nexport function setErrorMap(map) {\n core.config({\n customError: map,\n });\n}\n/** @deprecated Use `z.config()` instead. */\nexport function getErrorMap() {\n return core.config().customError;\n}\n/** @deprecated Do not use. Stub definition, only included for zod-to-json-schema compatibility. */\nexport var ZodFirstPartyTypeKind;\n(function (ZodFirstPartyTypeKind) {\n})(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));\n"],"names":["ZodIssueCode","setErrorMap","map","core.config","getErrorMap","ZodFirstPartyTypeKind"],"mappings":";;;AAGY,MAACA,IAAe;AAAA,EACxB,cAAc;AAAA,EACd,SAAS;AAAA,EACT,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,eAAe;AAAA,EACf,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,eAAe;AAAA,EACf,QAAQ;AACZ;AAGO,SAASC,EAAYC,GAAK;AAC7BC,EAAAA,EAAY;AAAA,IACR,aAAaD;AAAA,EACrB,CAAK;AACL;AAEO,SAASE,IAAc;AAC1B,SAAOD,EAAa,EAAC;AACzB;AAEU,IAACE;AAERA,MAA0BA,IAAwB,CAAA;","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../core/core.cjs"),o=require("../core/errors.cjs"),s=require("../core/util.cjs");require("../core/registries.cjs");const u=(r,a)=>{o.$ZodError.init(r,a),r.name="ZodError",Object.defineProperties(r,{format:{value:e=>o.formatError(r,e)},flatten:{value:e=>o.flattenError(r,e)},addIssue:{value:e=>{r.issues.push(e),r.message=JSON.stringify(r.issues,s.jsonStringifyReplacer,2)}},addIssues:{value:e=>{r.issues.push(...e),r.message=JSON.stringify(r.issues,s.jsonStringifyReplacer,2)}},isEmpty:{get(){return r.issues.length===0}}})},i=t.$constructor("ZodError",u),c=t.$constructor("ZodError",u,{Parent:Error});exports.ZodError=i;exports.ZodRealError=c;
2
+ //# sourceMappingURL=errors.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.cjs","sources":["../../../../../node_modules/zod/v4/classic/errors.js"],"sourcesContent":["import * as core from \"../core/index.js\";\nimport { $ZodError } from \"../core/index.js\";\nimport * as util from \"../core/util.js\";\nconst initializer = (inst, issues) => {\n $ZodError.init(inst, issues);\n inst.name = \"ZodError\";\n Object.defineProperties(inst, {\n format: {\n value: (mapper) => core.formatError(inst, mapper),\n // enumerable: false,\n },\n flatten: {\n value: (mapper) => core.flattenError(inst, mapper),\n // enumerable: false,\n },\n addIssue: {\n value: (issue) => {\n inst.issues.push(issue);\n inst.message = JSON.stringify(inst.issues, util.jsonStringifyReplacer, 2);\n },\n // enumerable: false,\n },\n addIssues: {\n value: (issues) => {\n inst.issues.push(...issues);\n inst.message = JSON.stringify(inst.issues, util.jsonStringifyReplacer, 2);\n },\n // enumerable: false,\n },\n isEmpty: {\n get() {\n return inst.issues.length === 0;\n },\n // enumerable: false,\n },\n });\n // Object.defineProperty(inst, \"isEmpty\", {\n // get() {\n // return inst.issues.length === 0;\n // },\n // });\n};\nexport const ZodError = core.$constructor(\"ZodError\", initializer);\nexport const ZodRealError = core.$constructor(\"ZodError\", initializer, {\n Parent: Error,\n});\n// /** @deprecated Use `z.core.$ZodErrorMapCtx` instead. */\n// export type ErrorMapCtx = core.$ZodErrorMapCtx;\n"],"names":["initializer","inst","issues","$ZodError","mapper","core.formatError","core.flattenError","issue","util.jsonStringifyReplacer","ZodError","core.$constructor","ZodRealError"],"mappings":"oNAGA,MAAMA,EAAc,CAACC,EAAMC,IAAW,CAClCC,YAAU,KAAKF,EAAMC,CAAM,EAC3BD,EAAK,KAAO,WACZ,OAAO,iBAAiBA,EAAM,CAC1B,OAAQ,CACJ,MAAQG,GAAWC,cAAiBJ,EAAMG,CAAM,CAEnD,EACD,QAAS,CACL,MAAQA,GAAWE,eAAkBL,EAAMG,CAAM,CAEpD,EACD,SAAU,CACN,MAAQG,GAAU,CACdN,EAAK,OAAO,KAAKM,CAAK,EACtBN,EAAK,QAAU,KAAK,UAAUA,EAAK,OAAQO,EAA0B,sBAAE,CAAC,CAC3E,CAEJ,EACD,UAAW,CACP,MAAQN,GAAW,CACfD,EAAK,OAAO,KAAK,GAAGC,CAAM,EAC1BD,EAAK,QAAU,KAAK,UAAUA,EAAK,OAAQO,EAA0B,sBAAE,CAAC,CAC3E,CAEJ,EACD,QAAS,CACL,KAAM,CACF,OAAOP,EAAK,OAAO,SAAW,CACjC,CAEJ,CACT,CAAK,CAML,EACaQ,EAAWC,EAAAA,aAAkB,WAAYV,CAAW,EACpDW,EAAeD,EAAAA,aAAkB,WAAYV,EAAa,CACnE,OAAQ,KACZ,CAAC","x_google_ignoreList":[0]}