@buenojs/bueno 0.8.10 → 0.8.11

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 (699) hide show
  1. package/dist/cache/index.d.ts +187 -0
  2. package/dist/cache/index.d.ts.map +1 -0
  3. package/dist/cache/index.js +595 -0
  4. package/dist/cache/index.js.map +1 -0
  5. package/dist/cli/bin.d.ts +8 -0
  6. package/dist/cli/bin.d.ts.map +1 -0
  7. package/dist/cli/bin.js +9 -9
  8. package/dist/cli/bin.js.map +1 -0
  9. package/dist/cli/commands/add-frontend.d.ts +7 -0
  10. package/dist/cli/commands/add-frontend.d.ts.map +1 -0
  11. package/dist/cli/commands/add-frontend.js +376 -0
  12. package/dist/cli/commands/add-frontend.js.map +1 -0
  13. package/dist/cli/commands/build.d.ts +7 -0
  14. package/dist/cli/commands/build.d.ts.map +1 -0
  15. package/dist/cli/commands/build.js +347 -0
  16. package/dist/cli/commands/build.js.map +1 -0
  17. package/dist/cli/commands/dev.d.ts +7 -0
  18. package/dist/cli/commands/dev.d.ts.map +1 -0
  19. package/dist/cli/commands/dev.js +205 -0
  20. package/dist/cli/commands/dev.js.map +1 -0
  21. package/dist/cli/commands/generate.d.ts +7 -0
  22. package/dist/cli/commands/generate.d.ts.map +1 -0
  23. package/dist/cli/commands/generate.js +491 -0
  24. package/dist/cli/commands/generate.js.map +1 -0
  25. package/dist/cli/commands/help.d.ts +7 -0
  26. package/dist/cli/commands/help.d.ts.map +1 -0
  27. package/dist/cli/commands/help.js +51 -0
  28. package/dist/cli/commands/help.js.map +1 -0
  29. package/dist/cli/commands/index.d.ts +59 -0
  30. package/dist/cli/commands/index.d.ts.map +1 -0
  31. package/dist/cli/commands/index.js +77 -0
  32. package/dist/cli/commands/index.js.map +1 -0
  33. package/dist/cli/commands/migration.d.ts +7 -0
  34. package/dist/cli/commands/migration.d.ts.map +1 -0
  35. package/dist/cli/commands/migration.js +295 -0
  36. package/dist/cli/commands/migration.js.map +1 -0
  37. package/dist/cli/commands/new.d.ts +7 -0
  38. package/dist/cli/commands/new.d.ts.map +1 -0
  39. package/dist/cli/commands/new.js +641 -0
  40. package/dist/cli/commands/new.js.map +1 -0
  41. package/dist/cli/commands/start.d.ts +7 -0
  42. package/dist/cli/commands/start.d.ts.map +1 -0
  43. package/dist/cli/commands/start.js +171 -0
  44. package/dist/cli/commands/start.js.map +1 -0
  45. package/dist/cli/core/args.d.ts +61 -0
  46. package/dist/cli/core/args.d.ts.map +1 -0
  47. package/dist/cli/core/args.js +224 -0
  48. package/dist/cli/core/args.js.map +1 -0
  49. package/dist/cli/core/console.d.ts +135 -0
  50. package/dist/cli/core/console.d.ts.map +1 -0
  51. package/dist/cli/core/console.js +268 -0
  52. package/dist/cli/core/console.js.map +1 -0
  53. package/dist/cli/core/index.d.ts +10 -0
  54. package/dist/cli/core/index.d.ts.map +1 -0
  55. package/dist/cli/core/index.js +10 -0
  56. package/dist/cli/core/index.js.map +1 -0
  57. package/dist/cli/core/prompt.d.ts +63 -0
  58. package/dist/cli/core/prompt.d.ts.map +1 -0
  59. package/dist/cli/core/prompt.js +338 -0
  60. package/dist/cli/core/prompt.js.map +1 -0
  61. package/dist/cli/core/spinner.d.ts +111 -0
  62. package/dist/cli/core/spinner.d.ts.map +1 -0
  63. package/dist/cli/core/spinner.js +208 -0
  64. package/dist/cli/core/spinner.js.map +1 -0
  65. package/dist/cli/index.d.ts +47 -0
  66. package/dist/cli/index.d.ts.map +1 -0
  67. package/dist/cli/index.js +127 -0
  68. package/dist/cli/index.js.map +1 -0
  69. package/dist/cli/templates/database/index.d.ts +24 -0
  70. package/dist/cli/templates/database/index.d.ts.map +1 -0
  71. package/dist/cli/templates/database/index.js +49 -0
  72. package/dist/cli/templates/database/index.js.map +1 -0
  73. package/dist/cli/templates/database/mysql.d.ts +6 -0
  74. package/dist/cli/templates/database/mysql.d.ts.map +1 -0
  75. package/dist/cli/templates/database/mysql.js +12 -0
  76. package/dist/cli/templates/database/mysql.js.map +1 -0
  77. package/dist/cli/templates/database/none.d.ts +8 -0
  78. package/dist/cli/templates/database/none.d.ts.map +1 -0
  79. package/dist/cli/templates/database/none.js +14 -0
  80. package/dist/cli/templates/database/none.js.map +1 -0
  81. package/dist/cli/templates/database/postgresql.d.ts +6 -0
  82. package/dist/cli/templates/database/postgresql.d.ts.map +1 -0
  83. package/dist/cli/templates/database/postgresql.js +12 -0
  84. package/dist/cli/templates/database/postgresql.js.map +1 -0
  85. package/dist/cli/templates/database/sqlite.d.ts +6 -0
  86. package/dist/cli/templates/database/sqlite.d.ts.map +1 -0
  87. package/dist/cli/templates/database/sqlite.js +12 -0
  88. package/dist/cli/templates/database/sqlite.js.map +1 -0
  89. package/dist/cli/templates/deploy.d.ts +41 -0
  90. package/dist/cli/templates/deploy.d.ts.map +1 -0
  91. package/dist/cli/templates/deploy.js +278 -0
  92. package/dist/cli/templates/deploy.js.map +1 -0
  93. package/dist/cli/templates/docker.d.ts +30 -0
  94. package/dist/cli/templates/docker.d.ts.map +1 -0
  95. package/dist/cli/templates/docker.js +298 -0
  96. package/dist/cli/templates/docker.js.map +1 -0
  97. package/dist/cli/templates/frontend/index.d.ts +25 -0
  98. package/dist/cli/templates/frontend/index.d.ts.map +1 -0
  99. package/dist/cli/templates/frontend/index.js +40 -0
  100. package/dist/cli/templates/frontend/index.js.map +1 -0
  101. package/dist/cli/templates/frontend/none.d.ts +8 -0
  102. package/dist/cli/templates/frontend/none.d.ts.map +1 -0
  103. package/dist/cli/templates/frontend/none.js +15 -0
  104. package/dist/cli/templates/frontend/none.js.map +1 -0
  105. package/dist/cli/templates/frontend/react.d.ts +6 -0
  106. package/dist/cli/templates/frontend/react.d.ts.map +1 -0
  107. package/dist/cli/templates/frontend/react.js +139 -0
  108. package/dist/cli/templates/frontend/react.js.map +1 -0
  109. package/dist/cli/templates/frontend/solid.d.ts +6 -0
  110. package/dist/cli/templates/frontend/solid.d.ts.map +1 -0
  111. package/dist/cli/templates/frontend/solid.js +133 -0
  112. package/dist/cli/templates/frontend/solid.js.map +1 -0
  113. package/dist/cli/templates/frontend/svelte.d.ts +6 -0
  114. package/dist/cli/templates/frontend/svelte.d.ts.map +1 -0
  115. package/dist/cli/templates/frontend/svelte.js +130 -0
  116. package/dist/cli/templates/frontend/svelte.js.map +1 -0
  117. package/dist/cli/templates/frontend/vue.d.ts +6 -0
  118. package/dist/cli/templates/frontend/vue.d.ts.map +1 -0
  119. package/dist/cli/templates/frontend/vue.js +129 -0
  120. package/dist/cli/templates/frontend/vue.js.map +1 -0
  121. package/dist/cli/templates/generators/index.d.ts +29 -0
  122. package/dist/cli/templates/generators/index.d.ts.map +1 -0
  123. package/dist/cli/templates/generators/index.js +308 -0
  124. package/dist/cli/templates/generators/index.js.map +1 -0
  125. package/dist/cli/templates/generators/types.d.ts +32 -0
  126. package/dist/cli/templates/generators/types.d.ts.map +1 -0
  127. package/dist/cli/templates/generators/types.js +21 -0
  128. package/dist/cli/templates/generators/types.js.map +1 -0
  129. package/dist/cli/templates/index.d.ts +12 -0
  130. package/dist/cli/templates/index.d.ts.map +1 -0
  131. package/dist/cli/templates/index.js +18 -0
  132. package/dist/cli/templates/index.js.map +1 -0
  133. package/dist/cli/templates/project/api.d.ts +6 -0
  134. package/dist/cli/templates/project/api.d.ts.map +1 -0
  135. package/dist/cli/templates/project/api.js +79 -0
  136. package/dist/cli/templates/project/api.js.map +1 -0
  137. package/dist/cli/templates/project/default.d.ts +6 -0
  138. package/dist/cli/templates/project/default.d.ts.map +1 -0
  139. package/dist/cli/templates/project/default.js +136 -0
  140. package/dist/cli/templates/project/default.js.map +1 -0
  141. package/dist/cli/templates/project/fullstack.d.ts +14 -0
  142. package/dist/cli/templates/project/fullstack.d.ts.map +1 -0
  143. package/dist/cli/templates/project/fullstack.js +19 -0
  144. package/dist/cli/templates/project/fullstack.js.map +1 -0
  145. package/dist/cli/templates/project/index.d.ts +26 -0
  146. package/dist/cli/templates/project/index.d.ts.map +1 -0
  147. package/dist/cli/templates/project/index.js +60 -0
  148. package/dist/cli/templates/project/index.js.map +1 -0
  149. package/dist/cli/templates/project/minimal.d.ts +6 -0
  150. package/dist/cli/templates/project/minimal.d.ts.map +1 -0
  151. package/dist/cli/templates/project/minimal.js +43 -0
  152. package/dist/cli/templates/project/minimal.js.map +1 -0
  153. package/dist/cli/templates/project/types.d.ts +80 -0
  154. package/dist/cli/templates/project/types.d.ts.map +1 -0
  155. package/dist/cli/templates/project/types.js +7 -0
  156. package/dist/cli/templates/project/types.js.map +1 -0
  157. package/dist/cli/templates/project/website.d.ts +8 -0
  158. package/dist/cli/templates/project/website.d.ts.map +1 -0
  159. package/dist/cli/templates/project/website.js +312 -0
  160. package/dist/cli/templates/project/website.js.map +1 -0
  161. package/dist/cli/utils/fs.d.ts +137 -0
  162. package/dist/cli/utils/fs.d.ts.map +1 -0
  163. package/dist/cli/utils/fs.js +350 -0
  164. package/dist/cli/utils/fs.js.map +1 -0
  165. package/dist/cli/utils/index.d.ts +9 -0
  166. package/dist/cli/utils/index.d.ts.map +1 -0
  167. package/dist/cli/utils/index.js +9 -0
  168. package/dist/cli/utils/index.js.map +1 -0
  169. package/dist/cli/utils/strings.d.ts +86 -0
  170. package/dist/cli/utils/strings.d.ts.map +1 -0
  171. package/dist/cli/utils/strings.js +190 -0
  172. package/dist/cli/utils/strings.js.map +1 -0
  173. package/dist/cli/utils/version.d.ts +15 -0
  174. package/dist/cli/utils/version.d.ts.map +1 -0
  175. package/dist/cli/utils/version.js +38 -0
  176. package/dist/cli/utils/version.js.map +1 -0
  177. package/dist/config/env-validation.d.ts +49 -0
  178. package/dist/config/env-validation.d.ts.map +1 -0
  179. package/dist/config/env-validation.js +77 -0
  180. package/dist/config/env-validation.js.map +1 -0
  181. package/dist/config/env.d.ts +167 -0
  182. package/dist/config/env.d.ts.map +1 -0
  183. package/dist/config/env.js +392 -0
  184. package/dist/config/env.js.map +1 -0
  185. package/dist/config/index.d.ts +168 -0
  186. package/dist/config/index.d.ts.map +1 -0
  187. package/dist/config/index.js +329 -0
  188. package/dist/config/index.js.map +1 -0
  189. package/dist/config/loader.d.ts +81 -0
  190. package/dist/config/loader.d.ts.map +1 -0
  191. package/dist/config/loader.js +242 -0
  192. package/dist/config/loader.js.map +1 -0
  193. package/dist/config/merge.d.ts +66 -0
  194. package/dist/config/merge.d.ts.map +1 -0
  195. package/dist/config/merge.js +226 -0
  196. package/dist/config/merge.js.map +1 -0
  197. package/dist/config/types.d.ts +322 -0
  198. package/dist/config/types.d.ts.map +1 -0
  199. package/dist/config/types.js +443 -0
  200. package/dist/config/types.js.map +1 -0
  201. package/dist/config/validation.d.ts +100 -0
  202. package/dist/config/validation.d.ts.map +1 -0
  203. package/dist/config/validation.js +548 -0
  204. package/dist/config/validation.js.map +1 -0
  205. package/dist/container/forward-ref.d.ts +116 -0
  206. package/dist/container/forward-ref.d.ts.map +1 -0
  207. package/dist/container/forward-ref.js +105 -0
  208. package/dist/container/forward-ref.js.map +1 -0
  209. package/dist/container/index.d.ts +95 -0
  210. package/dist/container/index.d.ts.map +1 -0
  211. package/dist/container/index.js.map +1 -0
  212. package/dist/context/index.d.ts +143 -0
  213. package/dist/context/index.d.ts.map +1 -0
  214. package/dist/context/index.js.map +1 -0
  215. package/dist/database/index.d.ts +219 -0
  216. package/dist/database/index.d.ts.map +1 -0
  217. package/dist/database/index.js.map +1 -0
  218. package/dist/database/migrations/index.d.ts +151 -0
  219. package/dist/database/migrations/index.d.ts.map +1 -0
  220. package/dist/database/migrations/index.js +258 -0
  221. package/dist/database/migrations/index.js.map +1 -0
  222. package/dist/database/orm/builder.d.ts +122 -0
  223. package/dist/database/orm/builder.d.ts.map +1 -0
  224. package/dist/database/orm/builder.js +355 -0
  225. package/dist/database/orm/builder.js.map +1 -0
  226. package/dist/database/orm/casts/index.d.ts +16 -0
  227. package/dist/database/orm/casts/index.d.ts.map +1 -0
  228. package/dist/database/orm/casts/index.js +131 -0
  229. package/dist/database/orm/casts/index.js.map +1 -0
  230. package/dist/database/orm/casts/types.d.ts +16 -0
  231. package/dist/database/orm/casts/types.d.ts.map +1 -0
  232. package/dist/database/orm/casts/types.js +5 -0
  233. package/dist/database/orm/casts/types.js.map +1 -0
  234. package/dist/database/orm/compiler.d.ts +90 -0
  235. package/dist/database/orm/compiler.d.ts.map +1 -0
  236. package/dist/database/orm/compiler.js +218 -0
  237. package/dist/database/orm/compiler.js.map +1 -0
  238. package/dist/database/orm/hooks/index.d.ts +53 -0
  239. package/dist/database/orm/hooks/index.d.ts.map +1 -0
  240. package/dist/database/orm/hooks/index.js +81 -0
  241. package/dist/database/orm/hooks/index.js.map +1 -0
  242. package/dist/database/orm/index.d.ts +21 -0
  243. package/dist/database/orm/index.d.ts.map +1 -0
  244. package/dist/database/orm/index.js +23 -0
  245. package/dist/database/orm/index.js.map +1 -0
  246. package/dist/database/orm/model-registry.d.ts +33 -0
  247. package/dist/database/orm/model-registry.d.ts.map +1 -0
  248. package/dist/database/orm/model-registry.js +49 -0
  249. package/dist/database/orm/model-registry.js.map +1 -0
  250. package/dist/database/orm/model.d.ts +245 -0
  251. package/dist/database/orm/model.d.ts.map +1 -0
  252. package/dist/database/orm/model.js +599 -0
  253. package/dist/database/orm/model.js.map +1 -0
  254. package/dist/database/orm/relationships/base.d.ts +69 -0
  255. package/dist/database/orm/relationships/base.d.ts.map +1 -0
  256. package/dist/database/orm/relationships/base.js +84 -0
  257. package/dist/database/orm/relationships/base.js.map +1 -0
  258. package/dist/database/orm/relationships/belongs-to-many.d.ts +47 -0
  259. package/dist/database/orm/relationships/belongs-to-many.d.ts.map +1 -0
  260. package/dist/database/orm/relationships/belongs-to-many.js +136 -0
  261. package/dist/database/orm/relationships/belongs-to-many.js.map +1 -0
  262. package/dist/database/orm/relationships/belongs-to.d.ts +17 -0
  263. package/dist/database/orm/relationships/belongs-to.d.ts.map +1 -0
  264. package/dist/database/orm/relationships/belongs-to.js +38 -0
  265. package/dist/database/orm/relationships/belongs-to.js.map +1 -0
  266. package/dist/database/orm/relationships/has-many.d.ts +14 -0
  267. package/dist/database/orm/relationships/has-many.d.ts.map +1 -0
  268. package/dist/database/orm/relationships/has-many.js +35 -0
  269. package/dist/database/orm/relationships/has-many.js.map +1 -0
  270. package/dist/database/orm/relationships/has-one.d.ts +14 -0
  271. package/dist/database/orm/relationships/has-one.d.ts.map +1 -0
  272. package/dist/database/orm/relationships/has-one.js +32 -0
  273. package/dist/database/orm/relationships/has-one.js.map +1 -0
  274. package/dist/database/orm/relationships/index.d.ts +10 -0
  275. package/dist/database/orm/relationships/index.d.ts.map +1 -0
  276. package/dist/database/orm/relationships/index.js +9 -0
  277. package/dist/database/orm/relationships/index.js.map +1 -0
  278. package/dist/database/orm/scopes/index.d.ts +36 -0
  279. package/dist/database/orm/scopes/index.d.ts.map +1 -0
  280. package/dist/database/orm/scopes/index.js +47 -0
  281. package/dist/database/orm/scopes/index.js.map +1 -0
  282. package/dist/database/schema/index.d.ts +155 -0
  283. package/dist/database/schema/index.d.ts.map +1 -0
  284. package/dist/database/schema/index.js +401 -0
  285. package/dist/database/schema/index.js.map +1 -0
  286. package/dist/frontend/api-routes.d.ts +189 -0
  287. package/dist/frontend/api-routes.d.ts.map +1 -0
  288. package/dist/frontend/api-routes.js +548 -0
  289. package/dist/frontend/api-routes.js.map +1 -0
  290. package/dist/frontend/bundler.d.ts +99 -0
  291. package/dist/frontend/bundler.d.ts.map +1 -0
  292. package/dist/frontend/bundler.js +555 -0
  293. package/dist/frontend/bundler.js.map +1 -0
  294. package/dist/frontend/console-client.d.ts +11 -0
  295. package/dist/frontend/console-client.d.ts.map +1 -0
  296. package/dist/frontend/console-client.js +414 -0
  297. package/dist/frontend/console-client.js.map +1 -0
  298. package/dist/frontend/console-stream.d.ts +138 -0
  299. package/dist/frontend/console-stream.d.ts.map +1 -0
  300. package/dist/frontend/console-stream.js +535 -0
  301. package/dist/frontend/console-stream.js.map +1 -0
  302. package/dist/frontend/dev-server.d.ts +174 -0
  303. package/dist/frontend/dev-server.d.ts.map +1 -0
  304. package/dist/frontend/dev-server.js +735 -0
  305. package/dist/frontend/dev-server.js.map +1 -0
  306. package/dist/frontend/file-router.d.ts +170 -0
  307. package/dist/frontend/file-router.d.ts.map +1 -0
  308. package/dist/frontend/file-router.js +531 -0
  309. package/dist/frontend/file-router.js.map +1 -0
  310. package/dist/frontend/frameworks/index.d.ts +41 -0
  311. package/dist/frontend/frameworks/index.d.ts.map +1 -0
  312. package/dist/frontend/frameworks/index.js +87 -0
  313. package/dist/frontend/frameworks/index.js.map +1 -0
  314. package/dist/frontend/frameworks/react.d.ts +32 -0
  315. package/dist/frontend/frameworks/react.d.ts.map +1 -0
  316. package/dist/frontend/frameworks/react.js +66 -0
  317. package/dist/frontend/frameworks/react.js.map +1 -0
  318. package/dist/frontend/frameworks/solid.d.ts +42 -0
  319. package/dist/frontend/frameworks/solid.d.ts.map +1 -0
  320. package/dist/frontend/frameworks/solid.js +84 -0
  321. package/dist/frontend/frameworks/solid.js.map +1 -0
  322. package/dist/frontend/frameworks/svelte.d.ts +57 -0
  323. package/dist/frontend/frameworks/svelte.d.ts.map +1 -0
  324. package/dist/frontend/frameworks/svelte.js +90 -0
  325. package/dist/frontend/frameworks/svelte.js.map +1 -0
  326. package/dist/frontend/frameworks/vue.d.ts +36 -0
  327. package/dist/frontend/frameworks/vue.d.ts.map +1 -0
  328. package/dist/frontend/frameworks/vue.js +72 -0
  329. package/dist/frontend/frameworks/vue.js.map +1 -0
  330. package/dist/frontend/hmr-client.d.ts +22 -0
  331. package/dist/frontend/hmr-client.d.ts.map +1 -0
  332. package/dist/frontend/hmr-client.js +654 -0
  333. package/dist/frontend/hmr-client.js.map +1 -0
  334. package/dist/frontend/hmr.d.ts +185 -0
  335. package/dist/frontend/hmr.d.ts.map +1 -0
  336. package/dist/frontend/hmr.js +619 -0
  337. package/dist/frontend/hmr.js.map +1 -0
  338. package/dist/frontend/index.d.ts +34 -0
  339. package/dist/frontend/index.d.ts.map +1 -0
  340. package/dist/frontend/index.js.map +1 -0
  341. package/dist/frontend/islands.d.ts +135 -0
  342. package/dist/frontend/islands.d.ts.map +1 -0
  343. package/dist/frontend/islands.js +455 -0
  344. package/dist/frontend/islands.js.map +1 -0
  345. package/dist/frontend/isr.d.ts +143 -0
  346. package/dist/frontend/isr.d.ts.map +1 -0
  347. package/dist/frontend/isr.js +440 -0
  348. package/dist/frontend/isr.js.map +1 -0
  349. package/dist/frontend/layout.d.ts +140 -0
  350. package/dist/frontend/layout.d.ts.map +1 -0
  351. package/dist/frontend/layout.js +392 -0
  352. package/dist/frontend/layout.js.map +1 -0
  353. package/dist/frontend/ssr/react.d.ts +118 -0
  354. package/dist/frontend/ssr/react.d.ts.map +1 -0
  355. package/dist/frontend/ssr/react.js +373 -0
  356. package/dist/frontend/ssr/react.js.map +1 -0
  357. package/dist/frontend/ssr/solid.d.ts +141 -0
  358. package/dist/frontend/ssr/solid.d.ts.map +1 -0
  359. package/dist/frontend/ssr/solid.js +440 -0
  360. package/dist/frontend/ssr/solid.js.map +1 -0
  361. package/dist/frontend/ssr/svelte.d.ts +158 -0
  362. package/dist/frontend/ssr/svelte.d.ts.map +1 -0
  363. package/dist/frontend/ssr/svelte.js +439 -0
  364. package/dist/frontend/ssr/svelte.js.map +1 -0
  365. package/dist/frontend/ssr/vue.d.ts +161 -0
  366. package/dist/frontend/ssr/vue.d.ts.map +1 -0
  367. package/dist/frontend/ssr/vue.js +385 -0
  368. package/dist/frontend/ssr/vue.js.map +1 -0
  369. package/dist/frontend/ssr.d.ts +147 -0
  370. package/dist/frontend/ssr.d.ts.map +1 -0
  371. package/dist/frontend/ssr.js +609 -0
  372. package/dist/frontend/ssr.js.map +1 -0
  373. package/dist/frontend/types.d.ts +1902 -0
  374. package/dist/frontend/types.d.ts.map +1 -0
  375. package/dist/frontend/types.js +8 -0
  376. package/dist/frontend/types.js.map +1 -0
  377. package/dist/graphql/built-in-engine.d.ts +36 -0
  378. package/dist/graphql/built-in-engine.d.ts.map +1 -0
  379. package/dist/graphql/built-in-engine.js +443 -0
  380. package/dist/graphql/built-in-engine.js.map +1 -0
  381. package/dist/graphql/context-builder.d.ts +44 -0
  382. package/dist/graphql/context-builder.d.ts.map +1 -0
  383. package/dist/graphql/context-builder.js +91 -0
  384. package/dist/graphql/context-builder.js.map +1 -0
  385. package/dist/graphql/decorators.d.ts +162 -0
  386. package/dist/graphql/decorators.d.ts.map +1 -0
  387. package/dist/graphql/decorators.js +291 -0
  388. package/dist/graphql/decorators.js.map +1 -0
  389. package/dist/graphql/execution-pipeline.d.ts +67 -0
  390. package/dist/graphql/execution-pipeline.d.ts.map +1 -0
  391. package/dist/graphql/execution-pipeline.js +127 -0
  392. package/dist/graphql/execution-pipeline.js.map +1 -0
  393. package/dist/graphql/graphql-module.d.ts +70 -0
  394. package/dist/graphql/graphql-module.d.ts.map +1 -0
  395. package/dist/graphql/graphql-module.js +442 -0
  396. package/dist/graphql/graphql-module.js.map +1 -0
  397. package/dist/graphql/index.d.ts +48 -0
  398. package/dist/graphql/index.d.ts.map +1 -0
  399. package/dist/graphql/index.js.map +1 -0
  400. package/dist/graphql/metadata.d.ts +37 -0
  401. package/dist/graphql/metadata.d.ts.map +1 -0
  402. package/dist/graphql/metadata.js +130 -0
  403. package/dist/graphql/metadata.js.map +1 -0
  404. package/dist/graphql/schema-builder.d.ts +34 -0
  405. package/dist/graphql/schema-builder.d.ts.map +1 -0
  406. package/dist/graphql/schema-builder.js +251 -0
  407. package/dist/graphql/schema-builder.js.map +1 -0
  408. package/dist/graphql/subscription-handler.d.ts +47 -0
  409. package/dist/graphql/subscription-handler.d.ts.map +1 -0
  410. package/dist/graphql/subscription-handler.js +201 -0
  411. package/dist/graphql/subscription-handler.js.map +1 -0
  412. package/dist/graphql/types.d.ts +252 -0
  413. package/dist/graphql/types.d.ts.map +1 -0
  414. package/dist/graphql/types.js +28 -0
  415. package/dist/graphql/types.js.map +1 -0
  416. package/dist/health/index.d.ts +176 -0
  417. package/dist/health/index.d.ts.map +1 -0
  418. package/dist/health/index.js.map +1 -0
  419. package/dist/i18n/engine.d.ts +105 -0
  420. package/dist/i18n/engine.d.ts.map +1 -0
  421. package/dist/i18n/engine.js +248 -0
  422. package/dist/i18n/engine.js.map +1 -0
  423. package/dist/i18n/index.d.ts +13 -0
  424. package/dist/i18n/index.d.ts.map +1 -0
  425. package/dist/i18n/index.js.map +1 -0
  426. package/dist/i18n/loader.d.ts +79 -0
  427. package/dist/i18n/loader.d.ts.map +1 -0
  428. package/dist/i18n/loader.js +192 -0
  429. package/dist/i18n/loader.js.map +1 -0
  430. package/dist/i18n/middleware.d.ts +96 -0
  431. package/dist/i18n/middleware.d.ts.map +1 -0
  432. package/dist/i18n/middleware.js +126 -0
  433. package/dist/i18n/middleware.js.map +1 -0
  434. package/dist/i18n/negotiator.d.ts +84 -0
  435. package/dist/i18n/negotiator.d.ts.map +1 -0
  436. package/dist/i18n/negotiator.js +139 -0
  437. package/dist/i18n/negotiator.js.map +1 -0
  438. package/dist/i18n/types.d.ts +129 -0
  439. package/dist/i18n/types.d.ts.map +1 -0
  440. package/dist/i18n/types.js +8 -0
  441. package/dist/i18n/types.js.map +1 -0
  442. package/dist/index.d.ts +48 -0
  443. package/dist/index.d.ts.map +1 -0
  444. package/dist/index.js.map +1 -0
  445. package/dist/jobs/drivers/memory.d.ts +38 -0
  446. package/dist/jobs/drivers/memory.d.ts.map +1 -0
  447. package/dist/jobs/drivers/memory.js +246 -0
  448. package/dist/jobs/drivers/memory.js.map +1 -0
  449. package/dist/jobs/drivers/redis.d.ts +34 -0
  450. package/dist/jobs/drivers/redis.d.ts.map +1 -0
  451. package/dist/jobs/drivers/redis.js +355 -0
  452. package/dist/jobs/drivers/redis.js.map +1 -0
  453. package/dist/jobs/index.d.ts +12 -0
  454. package/dist/jobs/index.d.ts.map +1 -0
  455. package/dist/jobs/index.js.map +1 -0
  456. package/dist/jobs/queue.d.ts +93 -0
  457. package/dist/jobs/queue.d.ts.map +1 -0
  458. package/dist/jobs/queue.js +233 -0
  459. package/dist/jobs/queue.js.map +1 -0
  460. package/dist/jobs/types.d.ts +193 -0
  461. package/dist/jobs/types.d.ts.map +1 -0
  462. package/dist/jobs/types.js +8 -0
  463. package/dist/jobs/types.js.map +1 -0
  464. package/dist/jobs/worker.d.ts +91 -0
  465. package/dist/jobs/worker.d.ts.map +1 -0
  466. package/dist/jobs/worker.js +300 -0
  467. package/dist/jobs/worker.js.map +1 -0
  468. package/dist/lock/index.d.ts +141 -0
  469. package/dist/lock/index.d.ts.map +1 -0
  470. package/dist/lock/index.js.map +1 -0
  471. package/dist/logger/index.d.ts +156 -0
  472. package/dist/logger/index.d.ts.map +1 -0
  473. package/dist/logger/index.js.map +1 -0
  474. package/dist/logger/transports/index.d.ts +371 -0
  475. package/dist/logger/transports/index.d.ts.map +1 -0
  476. package/dist/logger/transports/index.js +740 -0
  477. package/dist/logger/transports/index.js.map +1 -0
  478. package/dist/metrics/index.d.ts +163 -0
  479. package/dist/metrics/index.d.ts.map +1 -0
  480. package/dist/metrics/index.js.map +1 -0
  481. package/dist/middleware/built-in.d.ts +50 -0
  482. package/dist/middleware/built-in.d.ts.map +1 -0
  483. package/dist/middleware/built-in.js +220 -0
  484. package/dist/middleware/built-in.js.map +1 -0
  485. package/dist/middleware/index.d.ts +40 -0
  486. package/dist/middleware/index.d.ts.map +1 -0
  487. package/dist/middleware/index.js.map +1 -0
  488. package/dist/migrations/index.d.ts +48 -0
  489. package/dist/migrations/index.d.ts.map +1 -0
  490. package/dist/migrations/index.js +3 -0
  491. package/dist/migrations/index.js.map +1 -0
  492. package/dist/modules/filters.d.ts +150 -0
  493. package/dist/modules/filters.d.ts.map +1 -0
  494. package/dist/modules/filters.js +338 -0
  495. package/dist/modules/filters.js.map +1 -0
  496. package/dist/modules/guards.d.ts +188 -0
  497. package/dist/modules/guards.d.ts.map +1 -0
  498. package/dist/modules/guards.js +278 -0
  499. package/dist/modules/guards.js.map +1 -0
  500. package/dist/modules/index.d.ts +266 -0
  501. package/dist/modules/index.d.ts.map +1 -0
  502. package/dist/modules/index.js.map +1 -0
  503. package/dist/modules/interceptors.d.ts +242 -0
  504. package/dist/modules/interceptors.d.ts.map +1 -0
  505. package/dist/modules/interceptors.js +407 -0
  506. package/dist/modules/interceptors.js.map +1 -0
  507. package/dist/modules/lazy.d.ts +187 -0
  508. package/dist/modules/lazy.d.ts.map +1 -0
  509. package/dist/modules/lazy.js +305 -0
  510. package/dist/modules/lazy.js.map +1 -0
  511. package/dist/modules/lifecycle.d.ts +221 -0
  512. package/dist/modules/lifecycle.d.ts.map +1 -0
  513. package/dist/modules/lifecycle.js +314 -0
  514. package/dist/modules/lifecycle.js.map +1 -0
  515. package/dist/modules/metadata.d.ts +32 -0
  516. package/dist/modules/metadata.d.ts.map +1 -0
  517. package/dist/modules/metadata.js +59 -0
  518. package/dist/modules/metadata.js.map +1 -0
  519. package/dist/modules/pipes.d.ts +287 -0
  520. package/dist/modules/pipes.d.ts.map +1 -0
  521. package/dist/modules/pipes.js +443 -0
  522. package/dist/modules/pipes.js.map +1 -0
  523. package/dist/notification/channels/base.d.ts +32 -0
  524. package/dist/notification/channels/base.d.ts.map +1 -0
  525. package/dist/notification/channels/base.js +37 -0
  526. package/dist/notification/channels/base.js.map +1 -0
  527. package/dist/notification/channels/email.d.ts +37 -0
  528. package/dist/notification/channels/email.d.ts.map +1 -0
  529. package/dist/notification/channels/email.js +85 -0
  530. package/dist/notification/channels/email.js.map +1 -0
  531. package/dist/notification/channels/push.d.ts +37 -0
  532. package/dist/notification/channels/push.d.ts.map +1 -0
  533. package/dist/notification/channels/push.js +84 -0
  534. package/dist/notification/channels/push.js.map +1 -0
  535. package/dist/notification/channels/sms.d.ts +37 -0
  536. package/dist/notification/channels/sms.d.ts.map +1 -0
  537. package/dist/notification/channels/sms.js +83 -0
  538. package/dist/notification/channels/sms.js.map +1 -0
  539. package/dist/notification/channels/whatsapp.d.ts +37 -0
  540. package/dist/notification/channels/whatsapp.d.ts.map +1 -0
  541. package/dist/notification/channels/whatsapp.js +81 -0
  542. package/dist/notification/channels/whatsapp.js.map +1 -0
  543. package/dist/notification/index.d.ts +15 -0
  544. package/dist/notification/index.d.ts.map +1 -0
  545. package/dist/notification/index.js.map +1 -0
  546. package/dist/notification/service.d.ts +100 -0
  547. package/dist/notification/service.d.ts.map +1 -0
  548. package/dist/notification/service.js +279 -0
  549. package/dist/notification/service.js.map +1 -0
  550. package/dist/notification/types.d.ts +253 -0
  551. package/dist/notification/types.d.ts.map +1 -0
  552. package/dist/notification/types.js +14 -0
  553. package/dist/notification/types.js.map +1 -0
  554. package/dist/observability/__tests__/observability.test.d.ts +2 -0
  555. package/dist/observability/__tests__/observability.test.d.ts.map +1 -0
  556. package/dist/observability/__tests__/observability.test.js +404 -0
  557. package/dist/observability/__tests__/observability.test.js.map +1 -0
  558. package/dist/observability/breadcrumbs.d.ts +48 -0
  559. package/dist/observability/breadcrumbs.d.ts.map +1 -0
  560. package/dist/observability/breadcrumbs.js +97 -0
  561. package/dist/observability/breadcrumbs.js.map +1 -0
  562. package/dist/observability/index.d.ts +95 -0
  563. package/dist/observability/index.d.ts.map +1 -0
  564. package/dist/observability/index.js.map +1 -0
  565. package/dist/observability/interceptor.d.ts +19 -0
  566. package/dist/observability/interceptor.d.ts.map +1 -0
  567. package/dist/observability/interceptor.js +67 -0
  568. package/dist/observability/interceptor.js.map +1 -0
  569. package/dist/observability/service.d.ts +101 -0
  570. package/dist/observability/service.d.ts.map +1 -0
  571. package/dist/observability/service.js +249 -0
  572. package/dist/observability/service.js.map +1 -0
  573. package/dist/observability/trace.d.ts +21 -0
  574. package/dist/observability/trace.d.ts.map +1 -0
  575. package/dist/observability/trace.js +35 -0
  576. package/dist/observability/trace.js.map +1 -0
  577. package/dist/observability/types.d.ts +172 -0
  578. package/dist/observability/types.d.ts.map +1 -0
  579. package/dist/observability/types.js +8 -0
  580. package/dist/observability/types.js.map +1 -0
  581. package/dist/openapi/decorators.d.ts +173 -0
  582. package/dist/openapi/decorators.d.ts.map +1 -0
  583. package/dist/openapi/decorators.js +276 -0
  584. package/dist/openapi/decorators.js.map +1 -0
  585. package/dist/openapi/document-builder.d.ts +82 -0
  586. package/dist/openapi/document-builder.d.ts.map +1 -0
  587. package/dist/openapi/document-builder.js +228 -0
  588. package/dist/openapi/document-builder.js.map +1 -0
  589. package/dist/openapi/index.d.ts +48 -0
  590. package/dist/openapi/index.d.ts.map +1 -0
  591. package/dist/openapi/index.js.map +1 -0
  592. package/dist/openapi/metadata.d.ts +36 -0
  593. package/dist/openapi/metadata.d.ts.map +1 -0
  594. package/dist/openapi/metadata.js +78 -0
  595. package/dist/openapi/metadata.js.map +1 -0
  596. package/dist/openapi/route-scanner.d.ts +34 -0
  597. package/dist/openapi/route-scanner.d.ts.map +1 -0
  598. package/dist/openapi/route-scanner.js +174 -0
  599. package/dist/openapi/route-scanner.js.map +1 -0
  600. package/dist/openapi/schema-generator.d.ts +53 -0
  601. package/dist/openapi/schema-generator.d.ts.map +1 -0
  602. package/dist/openapi/schema-generator.js +236 -0
  603. package/dist/openapi/schema-generator.js.map +1 -0
  604. package/dist/openapi/swagger-module.d.ts +57 -0
  605. package/dist/openapi/swagger-module.d.ts.map +1 -0
  606. package/dist/openapi/swagger-module.js +143 -0
  607. package/dist/openapi/swagger-module.js.map +1 -0
  608. package/dist/openapi/types.d.ts +344 -0
  609. package/dist/openapi/types.d.ts.map +1 -0
  610. package/dist/openapi/types.js +7 -0
  611. package/dist/openapi/types.js.map +1 -0
  612. package/dist/orm/index.d.ts +10 -0
  613. package/dist/orm/index.d.ts.map +1 -0
  614. package/dist/orm/index.js.map +1 -0
  615. package/dist/router/index.d.ts +73 -0
  616. package/dist/router/index.d.ts.map +1 -0
  617. package/dist/router/index.js.map +1 -0
  618. package/dist/router/linear.d.ts +54 -0
  619. package/dist/router/linear.d.ts.map +1 -0
  620. package/dist/router/linear.js +261 -0
  621. package/dist/router/linear.js.map +1 -0
  622. package/dist/router/regex.d.ts +49 -0
  623. package/dist/router/regex.d.ts.map +1 -0
  624. package/dist/router/regex.js +201 -0
  625. package/dist/router/regex.js.map +1 -0
  626. package/dist/router/tree.d.ts +112 -0
  627. package/dist/router/tree.d.ts.map +1 -0
  628. package/dist/router/tree.js +360 -0
  629. package/dist/router/tree.js.map +1 -0
  630. package/dist/rpc/index.d.ts +321 -0
  631. package/dist/rpc/index.d.ts.map +1 -0
  632. package/dist/rpc/index.js.map +1 -0
  633. package/dist/schema/index.d.ts +10 -0
  634. package/dist/schema/index.d.ts.map +1 -0
  635. package/dist/schema/index.js.map +1 -0
  636. package/dist/security/index.d.ts +126 -0
  637. package/dist/security/index.d.ts.map +1 -0
  638. package/dist/security/index.js +309 -0
  639. package/dist/security/index.js.map +1 -0
  640. package/dist/ssg/index.d.ts +73 -0
  641. package/dist/ssg/index.d.ts.map +1 -0
  642. package/dist/ssg/index.js +464 -0
  643. package/dist/ssg/index.js.map +1 -0
  644. package/dist/storage/index.d.ts +99 -0
  645. package/dist/storage/index.d.ts.map +1 -0
  646. package/dist/storage/index.js +338 -0
  647. package/dist/storage/index.js.map +1 -0
  648. package/dist/telemetry/index.d.ts +376 -0
  649. package/dist/telemetry/index.d.ts.map +1 -0
  650. package/dist/telemetry/index.js.map +1 -0
  651. package/dist/template/index.d.ts +7 -0
  652. package/dist/template/index.d.ts.map +1 -0
  653. package/dist/template/index.js.map +1 -0
  654. package/dist/templates/engine.d.ts +60 -0
  655. package/dist/templates/engine.d.ts.map +1 -0
  656. package/dist/templates/engine.js +177 -0
  657. package/dist/templates/engine.js.map +1 -0
  658. package/dist/templates/index.d.ts +9 -0
  659. package/dist/templates/index.d.ts.map +1 -0
  660. package/dist/templates/index.js.map +1 -0
  661. package/dist/templates/loader.d.ts +45 -0
  662. package/dist/templates/loader.d.ts.map +1 -0
  663. package/dist/templates/loader.js +274 -0
  664. package/dist/templates/loader.js.map +1 -0
  665. package/dist/templates/renderers/markdown.d.ts +46 -0
  666. package/dist/templates/renderers/markdown.d.ts.map +1 -0
  667. package/dist/templates/renderers/markdown.js +181 -0
  668. package/dist/templates/renderers/markdown.js.map +1 -0
  669. package/dist/templates/renderers/simple.d.ts +35 -0
  670. package/dist/templates/renderers/simple.d.ts.map +1 -0
  671. package/dist/templates/renderers/simple.js +245 -0
  672. package/dist/templates/renderers/simple.js.map +1 -0
  673. package/dist/templates/types.d.ts +138 -0
  674. package/dist/templates/types.d.ts.map +1 -0
  675. package/dist/templates/types.js +8 -0
  676. package/dist/templates/types.js.map +1 -0
  677. package/dist/testing/index.d.ts +539 -0
  678. package/dist/testing/index.d.ts.map +1 -0
  679. package/dist/testing/index.js.map +1 -0
  680. package/dist/types/index.d.ts +116 -0
  681. package/dist/types/index.d.ts.map +1 -0
  682. package/dist/types/index.js.map +1 -0
  683. package/dist/validation/index.d.ts +89 -0
  684. package/dist/validation/index.d.ts.map +1 -0
  685. package/dist/validation/index.js +276 -0
  686. package/dist/validation/index.js.map +1 -0
  687. package/dist/validation/schemas.d.ts +283 -0
  688. package/dist/validation/schemas.d.ts.map +1 -0
  689. package/dist/validation/schemas.js +407 -0
  690. package/dist/validation/schemas.js.map +1 -0
  691. package/dist/websocket/index.d.ts +252 -0
  692. package/dist/websocket/index.d.ts.map +1 -0
  693. package/dist/websocket/index.js +749 -0
  694. package/dist/websocket/index.js.map +1 -0
  695. package/package.json +3 -3
  696. package/src/database/migrations/index.ts +8 -0
  697. package/src/migrations/index.ts +40 -1
  698. package/src/types/index.ts +1 -1
  699. package/tsconfig.json +2 -6
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Core type definitions for Bueno Framework
3
+ */
4
+ export type HTTPMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | "OPTIONS";
5
+ export type StatusCode = 200 | 201 | 202 | 204 | 301 | 302 | 303 | 307 | 308 | 400 | 401 | 403 | 404 | 405 | 409 | 422 | 429 | 500 | 502 | 503 | 504;
6
+ export type PathParams = Record<string, string>;
7
+ export type RouteHandler<T = unknown, C extends object = import("../context").Context> = (context: C) => T | Promise<T>;
8
+ export type RoutePath = string;
9
+ export interface RouteDefinition {
10
+ method: HTTPMethod;
11
+ path: RoutePath;
12
+ handler: RouteHandler;
13
+ middleware?: MiddlewareHandler[];
14
+ }
15
+ export type MiddlewareHandler<T = unknown> = (context: unknown, next: () => Promise<unknown>) => T | Promise<T>;
16
+ export type MiddlewareChain = MiddlewareHandler[];
17
+ /**
18
+ * Typed middleware function that receives a Context
19
+ */
20
+ export type Middleware<T = Response> = (context: import("../context").Context, next: () => Promise<Response>) => T | Promise<T>;
21
+ export type Token<T = unknown> = string | symbol | (abstract new (...args: unknown[]) => T);
22
+ export interface Provider<T = unknown> {
23
+ token: Token<T>;
24
+ useClass?: abstract new (...args: unknown[]) => T;
25
+ useValue?: T;
26
+ useFactory?: (...args: unknown[]) => T | Promise<T>;
27
+ inject?: Token[];
28
+ scope?: "singleton" | "transient" | "request";
29
+ }
30
+ export interface ModuleMetadata {
31
+ imports?: Token[];
32
+ providers?: Provider[];
33
+ controllers?: Token[];
34
+ exports?: Token[];
35
+ }
36
+ export interface ContextVariableMap {
37
+ [key: string]: unknown;
38
+ }
39
+ export interface ContextDefaults {
40
+ status: StatusCode;
41
+ headers: Headers;
42
+ }
43
+ /**
44
+ * Standard Schema v1 interface
45
+ * Works with Zod 4, Valibot v1, ArkType, Typia, and any Standard Schema compliant validator
46
+ */
47
+ export interface StandardSchema<Input = unknown, Output = Input> {
48
+ readonly "~standard": {
49
+ readonly version: 1;
50
+ readonly vendor: string;
51
+ readonly validate: (value: unknown, options?: StandardSchemaOptions) => StandardResult<Output> | Promise<StandardResult<Output>>;
52
+ readonly types?: StandardTypes<Input, Output>;
53
+ };
54
+ }
55
+ export interface StandardSchemaOptions {
56
+ readonly libraryOptions?: Record<string, unknown>;
57
+ }
58
+ export interface StandardTypes<Input = unknown, Output = Input> {
59
+ readonly input: Input;
60
+ readonly output: Output;
61
+ }
62
+ export type StandardResult<Output> = StandardSuccessResult<Output> | StandardFailureResult;
63
+ export interface StandardSuccessResult<Output> {
64
+ readonly value: Output;
65
+ readonly issues?: undefined;
66
+ }
67
+ export interface StandardFailureResult {
68
+ readonly issues: ReadonlyArray<StandardIssue>;
69
+ }
70
+ export interface StandardIssue {
71
+ readonly message: string;
72
+ readonly path?: ReadonlyArray<PropertyKey | StandardPathSegment>;
73
+ }
74
+ export interface StandardPathSegment {
75
+ readonly key: PropertyKey;
76
+ }
77
+ export type ValidationTarget = "body" | "query" | "params" | "headers" | "cookies";
78
+ export type InferInput<Schema extends StandardSchema> = NonNullable<Schema["~standard"]["types"]>["input"];
79
+ export type InferOutput<Schema extends StandardSchema> = NonNullable<Schema["~standard"]["types"]>["output"];
80
+ export type DatabaseDriver = "postgresql" | "mysql" | "sqlite";
81
+ export interface DatabaseConfig {
82
+ url: string;
83
+ pool?: {
84
+ min?: number;
85
+ max?: number;
86
+ };
87
+ }
88
+ export interface ServerConfig {
89
+ port?: number;
90
+ hostname?: string;
91
+ development?: {
92
+ hmr?: boolean;
93
+ console?: boolean;
94
+ };
95
+ }
96
+ export interface AppOptions {
97
+ server?: ServerConfig;
98
+ database?: DatabaseConfig;
99
+ }
100
+ export interface RPCClientConfig {
101
+ baseUrl: string;
102
+ headers?: Record<string, string>;
103
+ }
104
+ export declare class BuenoError extends Error {
105
+ statusCode: StatusCode;
106
+ code?: string | undefined;
107
+ constructor(message: string, statusCode?: StatusCode, code?: string | undefined);
108
+ }
109
+ export declare class ValidationError extends BuenoError {
110
+ issues: StandardIssue[];
111
+ constructor(message: string, issues: StandardIssue[]);
112
+ }
113
+ export declare class NotFoundError extends BuenoError {
114
+ constructor(message?: string);
115
+ }
116
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AA6MH,0CAA0C;AAE1C,MAAM,OAAO,UAAW,SAAQ,KAAK;IAG5B;IACA;IAHR,YACC,OAAe,EACR,aAAyB,GAAG,EAC5B,IAAa;QAEpB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,eAAU,GAAV,UAAU,CAAkB;QAC5B,SAAI,GAAJ,IAAI,CAAS;QAGpB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC1B,CAAC;CACD;AAED,MAAM,OAAO,eAAgB,SAAQ,UAAU;IAGtC;IAFR,YACC,OAAe,EACR,MAAuB;QAE9B,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC;QAFjC,WAAM,GAAN,MAAM,CAAiB;QAG9B,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAC/B,CAAC;CACD;AAED,MAAM,OAAO,aAAc,SAAQ,UAAU;IAC5C,YAAY,OAAO,GAAG,WAAW;QAChC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC7B,CAAC;CACD"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Validation System
3
+ *
4
+ * Multi-validator support using Standard Schema interface.
5
+ * Works with Zod 4, Valibot v1, ArkType, Typia, and any Standard Schema compliant library.
6
+ */
7
+ import type { Context } from "../context";
8
+ import type { Middleware, StandardIssue, StandardSchema } from "../types";
9
+ export type ValidationResult<T> = {
10
+ readonly success: true;
11
+ readonly data: T;
12
+ } | {
13
+ readonly success: false;
14
+ readonly issues: StandardIssue[];
15
+ };
16
+ export interface ValidatorOptions {
17
+ body?: StandardSchema;
18
+ query?: StandardSchema;
19
+ params?: StandardSchema;
20
+ headers?: StandardSchema;
21
+ }
22
+ /**
23
+ * Validate data against any Standard Schema compliant schema
24
+ *
25
+ * Supports:
26
+ * - Zod 4+ (zod)
27
+ * - Valibot v1+ (valibot)
28
+ * - ArkType (arktype)
29
+ * - Typia 7+ (typia) - use typia.createValidate<T>() for Standard Schema compatibility
30
+ * - Any library implementing Standard Schema
31
+ */
32
+ export declare function validate<T>(schema: StandardSchema<unknown, T>, data: unknown): Promise<ValidationResult<T>>;
33
+ /**
34
+ * Synchronous validation (for sync validators only)
35
+ */
36
+ export declare function validateSync<T>(schema: StandardSchema<unknown, T>, data: unknown): ValidationResult<T>;
37
+ /**
38
+ * Validate request body
39
+ */
40
+ export declare function validateBody<T>(context: Context, schema: StandardSchema<unknown, T>): Promise<ValidationResult<T>>;
41
+ /**
42
+ * Validate query parameters
43
+ */
44
+ export declare function validateQuery<T>(context: Context, schema: StandardSchema<unknown, T>): ValidationResult<T>;
45
+ /**
46
+ * Validate path parameters
47
+ */
48
+ export declare function validateParams<T>(context: Context, schema: StandardSchema<unknown, T>): ValidationResult<T>;
49
+ /**
50
+ * Validate headers
51
+ */
52
+ export declare function validateHeaders<T>(context: Context, schema: StandardSchema<unknown, T>): ValidationResult<T>;
53
+ /**
54
+ * Create validation middleware
55
+ */
56
+ export declare function createValidator(options: ValidatorOptions): Middleware;
57
+ /**
58
+ * Body validation decorator for route handlers
59
+ */
60
+ export declare function WithBody(schema: StandardSchema): (_target: unknown, _propertyKey: string | symbol, descriptor: PropertyDescriptor) => PropertyDescriptor;
61
+ /**
62
+ * Query validation decorator for route handlers
63
+ */
64
+ export declare function WithQuery(schema: StandardSchema): (_target: unknown, _propertyKey: string | symbol, descriptor: PropertyDescriptor) => PropertyDescriptor;
65
+ /**
66
+ * Check if a value is a Standard Schema
67
+ */
68
+ export declare function isStandardSchema(value: unknown): value is StandardSchema;
69
+ /**
70
+ * Assert that a schema implements Standard Schema
71
+ */
72
+ export declare function assertStandardSchema(schema: unknown, name?: string): asserts schema is StandardSchema;
73
+ /**
74
+ * Validate environment variables against a schema
75
+ *
76
+ * @param schema - Validation schema for environment variables
77
+ * @param envVars - Environment variables to validate
78
+ * @returns Validation result with transformed values or error details
79
+ */
80
+ export declare function validateEnv<T>(schema: StandardSchema<unknown, T>, envVars: Record<string, string>): Promise<ValidationResult<T>>;
81
+ /**
82
+ * Validate environment variables with detailed error reporting
83
+ *
84
+ * @param schema - Validation schema for environment variables
85
+ * @param envVars - Environment variables to validate
86
+ * @returns Validation result with transformed values or detailed error information
87
+ */
88
+ export declare function validateEnvSync<T>(schema: StandardSchema<unknown, T>, envVars: Record<string, string>): ValidationResult<T>;
89
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,276 @@
1
+ /**
2
+ * Validation System
3
+ *
4
+ * Multi-validator support using Standard Schema interface.
5
+ * Works with Zod 4, Valibot v1, ArkType, Typia, and any Standard Schema compliant library.
6
+ */
7
+ // ============= Core Validation Function =============
8
+ /**
9
+ * Validate data against any Standard Schema compliant schema
10
+ *
11
+ * Supports:
12
+ * - Zod 4+ (zod)
13
+ * - Valibot v1+ (valibot)
14
+ * - ArkType (arktype)
15
+ * - Typia 7+ (typia) - use typia.createValidate<T>() for Standard Schema compatibility
16
+ * - Any library implementing Standard Schema
17
+ */
18
+ export async function validate(schema, data) {
19
+ try {
20
+ const result = await Promise.resolve(schema["~standard"].validate(data));
21
+ if ("value" in result) {
22
+ return { success: true, data: result.value };
23
+ }
24
+ return {
25
+ success: false,
26
+ issues: [...result.issues],
27
+ };
28
+ }
29
+ catch (error) {
30
+ return {
31
+ success: false,
32
+ issues: [
33
+ {
34
+ message: error instanceof Error ? error.message : "Validation failed",
35
+ },
36
+ ],
37
+ };
38
+ }
39
+ }
40
+ /**
41
+ * Synchronous validation (for sync validators only)
42
+ */
43
+ export function validateSync(schema, data) {
44
+ const result = schema["~standard"].validate(data);
45
+ // Check if it's a Promise (async validator)
46
+ if (result instanceof Promise) {
47
+ throw new Error("Schema uses async validation. Use validate() instead.");
48
+ }
49
+ if ("value" in result) {
50
+ return { success: true, data: result.value };
51
+ }
52
+ return { success: false, issues: [...result.issues] };
53
+ }
54
+ // ============= Request Validation Functions =============
55
+ /**
56
+ * Validate request body
57
+ */
58
+ export async function validateBody(context, schema) {
59
+ try {
60
+ const body = await context.body();
61
+ return validate(schema, body);
62
+ }
63
+ catch (error) {
64
+ return {
65
+ success: false,
66
+ issues: [{ message: "Failed to parse request body" }],
67
+ };
68
+ }
69
+ }
70
+ /**
71
+ * Validate query parameters
72
+ */
73
+ export function validateQuery(context, schema) {
74
+ return validateSync(schema, context.query);
75
+ }
76
+ /**
77
+ * Validate path parameters
78
+ */
79
+ export function validateParams(context, schema) {
80
+ return validateSync(schema, context.params);
81
+ }
82
+ /**
83
+ * Validate headers
84
+ */
85
+ export function validateHeaders(context, schema) {
86
+ const headers = {};
87
+ context.req.headers.forEach((value, key) => {
88
+ headers[key] = value;
89
+ });
90
+ return validateSync(schema, headers);
91
+ }
92
+ // ============= Validation Middleware =============
93
+ /**
94
+ * Create validation middleware
95
+ */
96
+ export function createValidator(options) {
97
+ return async (context, next) => {
98
+ // Validate body
99
+ if (options.body) {
100
+ const result = await validateBody(context, options.body);
101
+ if (!result.success) {
102
+ return context
103
+ .status(400)
104
+ .json({ error: "Validation failed", issues: result.issues });
105
+ }
106
+ context.set("validatedBody", result.data);
107
+ }
108
+ // Validate query
109
+ if (options.query) {
110
+ const result = validateQuery(context, options.query);
111
+ if (!result.success) {
112
+ return context
113
+ .status(400)
114
+ .json({ error: "Validation failed", issues: result.issues });
115
+ }
116
+ context.set("validatedQuery", result.data);
117
+ }
118
+ // Validate params
119
+ if (options.params) {
120
+ const result = validateParams(context, options.params);
121
+ if (!result.success) {
122
+ return context
123
+ .status(400)
124
+ .json({ error: "Validation failed", issues: result.issues });
125
+ }
126
+ context.set("validatedParams", result.data);
127
+ }
128
+ // Validate headers
129
+ if (options.headers) {
130
+ const result = validateHeaders(context, options.headers);
131
+ if (!result.success) {
132
+ return context
133
+ .status(400)
134
+ .json({ error: "Validation failed", issues: result.issues });
135
+ }
136
+ context.set("validatedHeaders", result.data);
137
+ }
138
+ return next();
139
+ };
140
+ }
141
+ // ============= Decorator Helpers =============
142
+ /**
143
+ * Body validation decorator for route handlers
144
+ */
145
+ export function WithBody(schema) {
146
+ return (_target, _propertyKey, descriptor) => {
147
+ const original = descriptor.value;
148
+ descriptor.value = async function (context) {
149
+ const result = await validateBody(context, schema);
150
+ if (!result.success) {
151
+ return context
152
+ .status(400)
153
+ .json({ error: "Validation failed", issues: result.issues });
154
+ }
155
+ context.set("body", result.data);
156
+ return original.call(this, context);
157
+ };
158
+ return descriptor;
159
+ };
160
+ }
161
+ /**
162
+ * Query validation decorator for route handlers
163
+ */
164
+ export function WithQuery(schema) {
165
+ return (_target, _propertyKey, descriptor) => {
166
+ const original = descriptor.value;
167
+ descriptor.value = async function (context) {
168
+ const result = validateQuery(context, schema);
169
+ if (!result.success) {
170
+ return context
171
+ .status(400)
172
+ .json({ error: "Validation failed", issues: result.issues });
173
+ }
174
+ context.set("query", result.data);
175
+ return original.call(this, context);
176
+ };
177
+ return descriptor;
178
+ };
179
+ }
180
+ // ============= Type Guards =============
181
+ /**
182
+ * Check if a value is a Standard Schema
183
+ */
184
+ export function isStandardSchema(value) {
185
+ return (typeof value === "object" &&
186
+ value !== null &&
187
+ "~standard" in value &&
188
+ typeof value["~standard"]?.validate === "function");
189
+ }
190
+ // ============= Utility: Assert Schema =============
191
+ /**
192
+ * Assert that a schema implements Standard Schema
193
+ */
194
+ export function assertStandardSchema(schema, name = "Schema") {
195
+ if (!isStandardSchema(schema)) {
196
+ throw new Error(`${name} must implement Standard Schema interface. Supported: Zod 4+, Valibot v1+, ArkType, Typia 7+`);
197
+ }
198
+ }
199
+ // ============= Environment Variable Validation =============
200
+ /**
201
+ * Validate environment variables against a schema
202
+ *
203
+ * @param schema - Validation schema for environment variables
204
+ * @param envVars - Environment variables to validate
205
+ * @returns Validation result with transformed values or error details
206
+ */
207
+ export async function validateEnv(schema, envVars) {
208
+ try {
209
+ // Validate the environment variables
210
+ const result = await validate(schema, envVars);
211
+ if (!result.success) {
212
+ // Format error messages with context
213
+ const formattedIssues = result.issues.map((issue) => {
214
+ const path = issue.path?.join(".") || "root";
215
+ return {
216
+ ...issue,
217
+ message: `Environment variable validation failed for ${path}: ${issue.message}`,
218
+ };
219
+ });
220
+ return {
221
+ success: false,
222
+ issues: formattedIssues,
223
+ };
224
+ }
225
+ return result;
226
+ }
227
+ catch (error) {
228
+ return {
229
+ success: false,
230
+ issues: [
231
+ {
232
+ message: `Environment variable validation failed: ${error instanceof Error ? error.message : "Unknown error"}`,
233
+ },
234
+ ],
235
+ };
236
+ }
237
+ }
238
+ /**
239
+ * Validate environment variables with detailed error reporting
240
+ *
241
+ * @param schema - Validation schema for environment variables
242
+ * @param envVars - Environment variables to validate
243
+ * @returns Validation result with transformed values or detailed error information
244
+ */
245
+ export function validateEnvSync(schema, envVars) {
246
+ try {
247
+ // Validate the environment variables
248
+ const result = validateSync(schema, envVars);
249
+ if (!result.success) {
250
+ // Format error messages with context
251
+ const formattedIssues = result.issues.map((issue) => {
252
+ const path = issue.path?.join(".") || "root";
253
+ return {
254
+ ...issue,
255
+ message: `Environment variable validation failed for ${path}: ${issue.message}`,
256
+ };
257
+ });
258
+ return {
259
+ success: false,
260
+ issues: formattedIssues,
261
+ };
262
+ }
263
+ return result;
264
+ }
265
+ catch (error) {
266
+ return {
267
+ success: false,
268
+ issues: [
269
+ {
270
+ message: `Environment variable validation failed: ${error instanceof Error ? error.message : "Unknown error"}`,
271
+ },
272
+ ],
273
+ };
274
+ }
275
+ }
276
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"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"}