create-croissant 0.1.8 → 0.1.9

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 (479) hide show
  1. package/package.json +1 -1
  2. package/template/apps/web/package.json +2 -0
  3. package/template/apps/web/src/components/login-form.tsx +95 -48
  4. package/template/apps/web/src/components/signup-form.tsx +149 -79
  5. package/template/apps/web/src/routes/__root.tsx +17 -12
  6. package/template/apps/web/src/routes/client-orpc-auth.tsx +8 -20
  7. package/template/apps/web/src/routes/client-orpc.tsx +203 -108
  8. package/template/apps/web/src/routes/ssr-orpc.tsx +169 -96
  9. package/template/package.json +3 -1
  10. package/template/apps/web/node_modules/@better-auth/core/LICENSE.md +0 -20
  11. package/template/apps/web/node_modules/@better-auth/core/README.md +0 -17
  12. package/template/apps/web/node_modules/@better-auth/core/dist/api/index.d.mts +0 -278
  13. package/template/apps/web/node_modules/@better-auth/core/dist/api/index.mjs +0 -56
  14. package/template/apps/web/node_modules/@better-auth/core/dist/async_hooks/index.d.mts +0 -6
  15. package/template/apps/web/node_modules/@better-auth/core/dist/async_hooks/index.mjs +0 -20
  16. package/template/apps/web/node_modules/@better-auth/core/dist/async_hooks/pure.index.d.mts +0 -6
  17. package/template/apps/web/node_modules/@better-auth/core/dist/async_hooks/pure.index.mjs +0 -33
  18. package/template/apps/web/node_modules/@better-auth/core/dist/context/endpoint-context.d.mts +0 -18
  19. package/template/apps/web/node_modules/@better-auth/core/dist/context/endpoint-context.mjs +0 -29
  20. package/template/apps/web/node_modules/@better-auth/core/dist/context/global.d.mts +0 -6
  21. package/template/apps/web/node_modules/@better-auth/core/dist/context/global.mjs +0 -36
  22. package/template/apps/web/node_modules/@better-auth/core/dist/context/index.d.mts +0 -5
  23. package/template/apps/web/node_modules/@better-auth/core/dist/context/index.mjs +0 -5
  24. package/template/apps/web/node_modules/@better-auth/core/dist/context/request-state.d.mts +0 -27
  25. package/template/apps/web/node_modules/@better-auth/core/dist/context/request-state.mjs +0 -47
  26. package/template/apps/web/node_modules/@better-auth/core/dist/context/transaction.d.mts +0 -24
  27. package/template/apps/web/node_modules/@better-auth/core/dist/context/transaction.mjs +0 -93
  28. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/factory.d.mts +0 -17
  29. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/factory.mjs +0 -754
  30. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/get-default-field-name.d.mts +0 -18
  31. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/get-default-field-name.mjs +0 -36
  32. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/get-default-model-name.d.mts +0 -12
  33. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/get-default-model-name.mjs +0 -30
  34. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/get-field-attributes.d.mts +0 -26
  35. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/get-field-attributes.mjs +0 -37
  36. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/get-field-name.d.mts +0 -18
  37. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/get-field-name.mjs +0 -31
  38. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/get-id-field.d.mts +0 -36
  39. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/get-id-field.mjs +0 -64
  40. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/get-model-name.d.mts +0 -12
  41. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/get-model-name.mjs +0 -21
  42. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/index.d.mts +0 -525
  43. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/index.mjs +0 -24
  44. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/types.d.mts +0 -105
  45. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/utils.d.mts +0 -7
  46. package/template/apps/web/node_modules/@better-auth/core/dist/db/adapter/utils.mjs +0 -37
  47. package/template/apps/web/node_modules/@better-auth/core/dist/db/get-tables.d.mts +0 -6
  48. package/template/apps/web/node_modules/@better-auth/core/dist/db/get-tables.mjs +0 -265
  49. package/template/apps/web/node_modules/@better-auth/core/dist/db/index.d.mts +0 -10
  50. package/template/apps/web/node_modules/@better-auth/core/dist/db/index.mjs +0 -8
  51. package/template/apps/web/node_modules/@better-auth/core/dist/db/plugin.d.mts +0 -12
  52. package/template/apps/web/node_modules/@better-auth/core/dist/db/schema/account.d.mts +0 -28
  53. package/template/apps/web/node_modules/@better-auth/core/dist/db/schema/account.mjs +0 -17
  54. package/template/apps/web/node_modules/@better-auth/core/dist/db/schema/rate-limit.d.mts +0 -18
  55. package/template/apps/web/node_modules/@better-auth/core/dist/db/schema/rate-limit.mjs +0 -9
  56. package/template/apps/web/node_modules/@better-auth/core/dist/db/schema/session.d.mts +0 -23
  57. package/template/apps/web/node_modules/@better-auth/core/dist/db/schema/session.mjs +0 -12
  58. package/template/apps/web/node_modules/@better-auth/core/dist/db/schema/shared.d.mts +0 -10
  59. package/template/apps/web/node_modules/@better-auth/core/dist/db/schema/shared.mjs +0 -9
  60. package/template/apps/web/node_modules/@better-auth/core/dist/db/schema/user.d.mts +0 -22
  61. package/template/apps/web/node_modules/@better-auth/core/dist/db/schema/user.mjs +0 -11
  62. package/template/apps/web/node_modules/@better-auth/core/dist/db/schema/verification.d.mts +0 -21
  63. package/template/apps/web/node_modules/@better-auth/core/dist/db/schema/verification.mjs +0 -10
  64. package/template/apps/web/node_modules/@better-auth/core/dist/db/type.d.mts +0 -167
  65. package/template/apps/web/node_modules/@better-auth/core/dist/env/color-depth.d.mts +0 -4
  66. package/template/apps/web/node_modules/@better-auth/core/dist/env/color-depth.mjs +0 -86
  67. package/template/apps/web/node_modules/@better-auth/core/dist/env/env-impl.d.mts +0 -32
  68. package/template/apps/web/node_modules/@better-auth/core/dist/env/env-impl.mjs +0 -81
  69. package/template/apps/web/node_modules/@better-auth/core/dist/env/index.d.mts +0 -4
  70. package/template/apps/web/node_modules/@better-auth/core/dist/env/index.mjs +0 -4
  71. package/template/apps/web/node_modules/@better-auth/core/dist/env/logger.d.mts +0 -48
  72. package/template/apps/web/node_modules/@better-auth/core/dist/env/logger.mjs +0 -79
  73. package/template/apps/web/node_modules/@better-auth/core/dist/error/codes.d.mts +0 -68
  74. package/template/apps/web/node_modules/@better-auth/core/dist/error/codes.mjs +0 -54
  75. package/template/apps/web/node_modules/@better-auth/core/dist/error/index.d.mts +0 -19
  76. package/template/apps/web/node_modules/@better-auth/core/dist/error/index.mjs +0 -27
  77. package/template/apps/web/node_modules/@better-auth/core/dist/index.d.mts +0 -9
  78. package/template/apps/web/node_modules/@better-auth/core/dist/index.mjs +0 -1
  79. package/template/apps/web/node_modules/@better-auth/core/dist/instrumentation/api.mjs +0 -12
  80. package/template/apps/web/node_modules/@better-auth/core/dist/instrumentation/attributes.d.mts +0 -11
  81. package/template/apps/web/node_modules/@better-auth/core/dist/instrumentation/attributes.mjs +0 -10
  82. package/template/apps/web/node_modules/@better-auth/core/dist/instrumentation/index.d.mts +0 -3
  83. package/template/apps/web/node_modules/@better-auth/core/dist/instrumentation/index.mjs +0 -3
  84. package/template/apps/web/node_modules/@better-auth/core/dist/instrumentation/noop.mjs +0 -42
  85. package/template/apps/web/node_modules/@better-auth/core/dist/instrumentation/pure.index.d.mts +0 -7
  86. package/template/apps/web/node_modules/@better-auth/core/dist/instrumentation/pure.index.mjs +0 -7
  87. package/template/apps/web/node_modules/@better-auth/core/dist/instrumentation/tracer.d.mts +0 -13
  88. package/template/apps/web/node_modules/@better-auth/core/dist/instrumentation/tracer.mjs +0 -53
  89. package/template/apps/web/node_modules/@better-auth/core/dist/oauth2/client-credentials-token.d.mts +0 -56
  90. package/template/apps/web/node_modules/@better-auth/core/dist/oauth2/client-credentials-token.mjs +0 -64
  91. package/template/apps/web/node_modules/@better-auth/core/dist/oauth2/create-authorization-url.d.mts +0 -44
  92. package/template/apps/web/node_modules/@better-auth/core/dist/oauth2/create-authorization-url.mjs +0 -41
  93. package/template/apps/web/node_modules/@better-auth/core/dist/oauth2/index.d.mts +0 -8
  94. package/template/apps/web/node_modules/@better-auth/core/dist/oauth2/index.mjs +0 -7
  95. package/template/apps/web/node_modules/@better-auth/core/dist/oauth2/oauth-provider.d.mts +0 -192
  96. package/template/apps/web/node_modules/@better-auth/core/dist/oauth2/refresh-access-token.d.mts +0 -54
  97. package/template/apps/web/node_modules/@better-auth/core/dist/oauth2/refresh-access-token.mjs +0 -73
  98. package/template/apps/web/node_modules/@better-auth/core/dist/oauth2/utils.d.mts +0 -16
  99. package/template/apps/web/node_modules/@better-auth/core/dist/oauth2/utils.mjs +0 -37
  100. package/template/apps/web/node_modules/@better-auth/core/dist/oauth2/validate-authorization-code.d.mts +0 -85
  101. package/template/apps/web/node_modules/@better-auth/core/dist/oauth2/validate-authorization-code.mjs +0 -79
  102. package/template/apps/web/node_modules/@better-auth/core/dist/oauth2/verify.d.mts +0 -42
  103. package/template/apps/web/node_modules/@better-auth/core/dist/oauth2/verify.mjs +0 -92
  104. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/apple.d.mts +0 -126
  105. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/apple.mjs +0 -107
  106. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/atlassian.d.mts +0 -70
  107. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/atlassian.mjs +0 -80
  108. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/cognito.d.mts +0 -85
  109. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/cognito.mjs +0 -162
  110. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/discord.d.mts +0 -124
  111. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/discord.mjs +0 -62
  112. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/dropbox.d.mts +0 -69
  113. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/dropbox.mjs +0 -72
  114. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/facebook.d.mts +0 -79
  115. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/facebook.mjs +0 -124
  116. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/figma.d.mts +0 -61
  117. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/figma.mjs +0 -83
  118. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/github.d.mts +0 -102
  119. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/github.mjs +0 -92
  120. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/gitlab.d.mts +0 -123
  121. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/gitlab.mjs +0 -79
  122. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/google.d.mts +0 -97
  123. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/google.mjs +0 -109
  124. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/huggingface.d.mts +0 -83
  125. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/huggingface.mjs +0 -73
  126. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/index.d.mts +0 -1834
  127. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/index.mjs +0 -78
  128. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/kakao.d.mts +0 -161
  129. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/kakao.mjs +0 -70
  130. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/kick.d.mts +0 -73
  131. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/kick.mjs +0 -68
  132. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/line.d.mts +0 -105
  133. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/line.mjs +0 -110
  134. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/linear.d.mts +0 -68
  135. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/linear.mjs +0 -85
  136. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/linkedin.d.mts +0 -67
  137. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/linkedin.mjs +0 -73
  138. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/microsoft-entra-id.d.mts +0 -174
  139. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/microsoft-entra-id.mjs +0 -140
  140. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/naver.d.mts +0 -92
  141. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/naver.mjs +0 -65
  142. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/notion.d.mts +0 -64
  143. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/notion.mjs +0 -72
  144. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/paybin.d.mts +0 -71
  145. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/paybin.mjs +0 -81
  146. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/paypal.d.mts +0 -129
  147. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/paypal.mjs +0 -140
  148. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/polar.d.mts +0 -74
  149. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/polar.mjs +0 -71
  150. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/railway.d.mts +0 -65
  151. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/railway.mjs +0 -74
  152. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/reddit.d.mts +0 -62
  153. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/reddit.mjs +0 -80
  154. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/roblox.d.mts +0 -70
  155. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/roblox.mjs +0 -57
  156. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/salesforce.d.mts +0 -79
  157. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/salesforce.mjs +0 -87
  158. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/slack.d.mts +0 -83
  159. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/slack.mjs +0 -66
  160. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/spotify.d.mts +0 -63
  161. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/spotify.mjs +0 -69
  162. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/tiktok.d.mts +0 -168
  163. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/tiktok.mjs +0 -60
  164. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/twitch.d.mts +0 -79
  165. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/twitch.mjs +0 -75
  166. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/twitter.d.mts +0 -126
  167. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/twitter.mjs +0 -85
  168. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/vercel.d.mts +0 -62
  169. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/vercel.mjs +0 -58
  170. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/vk.d.mts +0 -70
  171. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/vk.mjs +0 -81
  172. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/wechat.d.mts +0 -113
  173. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/wechat.mjs +0 -81
  174. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/zoom.d.mts +0 -163
  175. package/template/apps/web/node_modules/@better-auth/core/dist/social-providers/zoom.mjs +0 -69
  176. package/template/apps/web/node_modules/@better-auth/core/dist/types/context.d.mts +0 -277
  177. package/template/apps/web/node_modules/@better-auth/core/dist/types/cookie.d.mts +0 -15
  178. package/template/apps/web/node_modules/@better-auth/core/dist/types/helper.d.mts +0 -10
  179. package/template/apps/web/node_modules/@better-auth/core/dist/types/index.d.mts +0 -9
  180. package/template/apps/web/node_modules/@better-auth/core/dist/types/init-options.d.mts +0 -1358
  181. package/template/apps/web/node_modules/@better-auth/core/dist/types/plugin-client.d.mts +0 -113
  182. package/template/apps/web/node_modules/@better-auth/core/dist/types/plugin.d.mts +0 -124
  183. package/template/apps/web/node_modules/@better-auth/core/dist/types/secret.d.mts +0 -11
  184. package/template/apps/web/node_modules/@better-auth/core/dist/utils/async.d.mts +0 -22
  185. package/template/apps/web/node_modules/@better-auth/core/dist/utils/async.mjs +0 -32
  186. package/template/apps/web/node_modules/@better-auth/core/dist/utils/db.d.mts +0 -9
  187. package/template/apps/web/node_modules/@better-auth/core/dist/utils/db.mjs +0 -15
  188. package/template/apps/web/node_modules/@better-auth/core/dist/utils/deprecate.d.mts +0 -9
  189. package/template/apps/web/node_modules/@better-auth/core/dist/utils/deprecate.mjs +0 -16
  190. package/template/apps/web/node_modules/@better-auth/core/dist/utils/error-codes.d.mts +0 -13
  191. package/template/apps/web/node_modules/@better-auth/core/dist/utils/error-codes.mjs +0 -10
  192. package/template/apps/web/node_modules/@better-auth/core/dist/utils/fetch-metadata.d.mts +0 -4
  193. package/template/apps/web/node_modules/@better-auth/core/dist/utils/fetch-metadata.mjs +0 -6
  194. package/template/apps/web/node_modules/@better-auth/core/dist/utils/host.d.mts +0 -147
  195. package/template/apps/web/node_modules/@better-auth/core/dist/utils/host.mjs +0 -291
  196. package/template/apps/web/node_modules/@better-auth/core/dist/utils/id.d.mts +0 -4
  197. package/template/apps/web/node_modules/@better-auth/core/dist/utils/id.mjs +0 -7
  198. package/template/apps/web/node_modules/@better-auth/core/dist/utils/ip.d.mts +0 -54
  199. package/template/apps/web/node_modules/@better-auth/core/dist/utils/ip.mjs +0 -116
  200. package/template/apps/web/node_modules/@better-auth/core/dist/utils/is-api-error.d.mts +0 -6
  201. package/template/apps/web/node_modules/@better-auth/core/dist/utils/is-api-error.mjs +0 -8
  202. package/template/apps/web/node_modules/@better-auth/core/dist/utils/json.d.mts +0 -4
  203. package/template/apps/web/node_modules/@better-auth/core/dist/utils/json.mjs +0 -41
  204. package/template/apps/web/node_modules/@better-auth/core/dist/utils/string.d.mts +0 -4
  205. package/template/apps/web/node_modules/@better-auth/core/dist/utils/string.mjs +0 -6
  206. package/template/apps/web/node_modules/@better-auth/core/dist/utils/url.d.mts +0 -20
  207. package/template/apps/web/node_modules/@better-auth/core/dist/utils/url.mjs +0 -31
  208. package/template/apps/web/node_modules/@better-auth/core/package.json +0 -193
  209. package/template/apps/web/node_modules/@better-auth/core/src/api/index.ts +0 -140
  210. package/template/apps/web/node_modules/@better-auth/core/src/async_hooks/index.ts +0 -40
  211. package/template/apps/web/node_modules/@better-auth/core/src/async_hooks/pure.index.ts +0 -46
  212. package/template/apps/web/node_modules/@better-auth/core/src/context/endpoint-context.ts +0 -50
  213. package/template/apps/web/node_modules/@better-auth/core/src/context/global.ts +0 -57
  214. package/template/apps/web/node_modules/@better-auth/core/src/context/index.ts +0 -23
  215. package/template/apps/web/node_modules/@better-auth/core/src/context/request-state.ts +0 -91
  216. package/template/apps/web/node_modules/@better-auth/core/src/context/transaction.ts +0 -136
  217. package/template/apps/web/node_modules/@better-auth/core/src/db/adapter/factory.ts +0 -1440
  218. package/template/apps/web/node_modules/@better-auth/core/src/db/adapter/get-default-field-name.ts +0 -59
  219. package/template/apps/web/node_modules/@better-auth/core/src/db/adapter/get-default-model-name.ts +0 -51
  220. package/template/apps/web/node_modules/@better-auth/core/src/db/adapter/get-field-attributes.ts +0 -62
  221. package/template/apps/web/node_modules/@better-auth/core/src/db/adapter/get-field-name.ts +0 -43
  222. package/template/apps/web/node_modules/@better-auth/core/src/db/adapter/get-id-field.ts +0 -150
  223. package/template/apps/web/node_modules/@better-auth/core/src/db/adapter/get-model-name.ts +0 -36
  224. package/template/apps/web/node_modules/@better-auth/core/src/db/adapter/index.ts +0 -567
  225. package/template/apps/web/node_modules/@better-auth/core/src/db/adapter/types.ts +0 -132
  226. package/template/apps/web/node_modules/@better-auth/core/src/db/adapter/utils.ts +0 -61
  227. package/template/apps/web/node_modules/@better-auth/core/src/db/get-tables.ts +0 -296
  228. package/template/apps/web/node_modules/@better-auth/core/src/db/index.ts +0 -43
  229. package/template/apps/web/node_modules/@better-auth/core/src/db/plugin.ts +0 -11
  230. package/template/apps/web/node_modules/@better-auth/core/src/db/schema/account.ts +0 -47
  231. package/template/apps/web/node_modules/@better-auth/core/src/db/schema/rate-limit.ts +0 -36
  232. package/template/apps/web/node_modules/@better-auth/core/src/db/schema/session.ts +0 -29
  233. package/template/apps/web/node_modules/@better-auth/core/src/db/schema/shared.ts +0 -7
  234. package/template/apps/web/node_modules/@better-auth/core/src/db/schema/user.ts +0 -28
  235. package/template/apps/web/node_modules/@better-auth/core/src/db/schema/verification.ts +0 -28
  236. package/template/apps/web/node_modules/@better-auth/core/src/db/type.ts +0 -333
  237. package/template/apps/web/node_modules/@better-auth/core/src/env/color-depth.ts +0 -172
  238. package/template/apps/web/node_modules/@better-auth/core/src/env/env-impl.ts +0 -124
  239. package/template/apps/web/node_modules/@better-auth/core/src/env/index.ts +0 -23
  240. package/template/apps/web/node_modules/@better-auth/core/src/env/logger.ts +0 -145
  241. package/template/apps/web/node_modules/@better-auth/core/src/error/codes.ts +0 -71
  242. package/template/apps/web/node_modules/@better-auth/core/src/error/index.ts +0 -35
  243. package/template/apps/web/node_modules/@better-auth/core/src/index.ts +0 -1
  244. package/template/apps/web/node_modules/@better-auth/core/src/instrumentation/api.ts +0 -17
  245. package/template/apps/web/node_modules/@better-auth/core/src/instrumentation/attributes.ts +0 -22
  246. package/template/apps/web/node_modules/@better-auth/core/src/instrumentation/index.ts +0 -2
  247. package/template/apps/web/node_modules/@better-auth/core/src/instrumentation/noop.ts +0 -74
  248. package/template/apps/web/node_modules/@better-auth/core/src/instrumentation/pure.index.ts +0 -31
  249. package/template/apps/web/node_modules/@better-auth/core/src/instrumentation/tracer.ts +0 -95
  250. package/template/apps/web/node_modules/@better-auth/core/src/oauth2/client-credentials-token.ts +0 -126
  251. package/template/apps/web/node_modules/@better-auth/core/src/oauth2/create-authorization-url.ts +0 -89
  252. package/template/apps/web/node_modules/@better-auth/core/src/oauth2/index.ts +0 -33
  253. package/template/apps/web/node_modules/@better-auth/core/src/oauth2/oauth-provider.ts +0 -222
  254. package/template/apps/web/node_modules/@better-auth/core/src/oauth2/refresh-access-token.ts +0 -157
  255. package/template/apps/web/node_modules/@better-auth/core/src/oauth2/utils.ts +0 -51
  256. package/template/apps/web/node_modules/@better-auth/core/src/oauth2/validate-authorization-code.ts +0 -180
  257. package/template/apps/web/node_modules/@better-auth/core/src/oauth2/verify.ts +0 -221
  258. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/apple.ts +0 -231
  259. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/atlassian.ts +0 -133
  260. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/cognito.ts +0 -281
  261. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/discord.ts +0 -170
  262. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/dropbox.ts +0 -112
  263. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/facebook.ts +0 -215
  264. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/figma.ts +0 -118
  265. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/github.ts +0 -184
  266. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/gitlab.ts +0 -155
  267. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/google.ts +0 -204
  268. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/huggingface.ts +0 -119
  269. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/index.ts +0 -132
  270. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/kakao.ts +0 -179
  271. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/kick.ts +0 -109
  272. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/line.ts +0 -169
  273. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/linear.ts +0 -121
  274. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/linkedin.ts +0 -110
  275. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/microsoft-entra-id.ts +0 -352
  276. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/naver.ts +0 -113
  277. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/notion.ts +0 -108
  278. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/paybin.ts +0 -118
  279. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/paypal.ts +0 -263
  280. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/polar.ts +0 -111
  281. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/railway.ts +0 -100
  282. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/reddit.ts +0 -122
  283. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/roblox.ts +0 -112
  284. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/salesforce.ts +0 -159
  285. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/slack.ts +0 -112
  286. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/spotify.ts +0 -94
  287. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/tiktok.ts +0 -211
  288. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/twitch.ts +0 -112
  289. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/twitter.ts +0 -199
  290. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/vercel.ts +0 -87
  291. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/vk.ts +0 -125
  292. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/wechat.ts +0 -213
  293. package/template/apps/web/node_modules/@better-auth/core/src/social-providers/zoom.ts +0 -230
  294. package/template/apps/web/node_modules/@better-auth/core/src/types/context.ts +0 -415
  295. package/template/apps/web/node_modules/@better-auth/core/src/types/cookie.ts +0 -10
  296. package/template/apps/web/node_modules/@better-auth/core/src/types/helper.ts +0 -27
  297. package/template/apps/web/node_modules/@better-auth/core/src/types/index.ts +0 -40
  298. package/template/apps/web/node_modules/@better-auth/core/src/types/init-options.ts +0 -1610
  299. package/template/apps/web/node_modules/@better-auth/core/src/types/plugin-client.ts +0 -129
  300. package/template/apps/web/node_modules/@better-auth/core/src/types/plugin.ts +0 -163
  301. package/template/apps/web/node_modules/@better-auth/core/src/types/secret.ts +0 -8
  302. package/template/apps/web/node_modules/@better-auth/core/src/utils/async.ts +0 -53
  303. package/template/apps/web/node_modules/@better-auth/core/src/utils/db.ts +0 -20
  304. package/template/apps/web/node_modules/@better-auth/core/src/utils/deprecate.ts +0 -21
  305. package/template/apps/web/node_modules/@better-auth/core/src/utils/error-codes.ts +0 -68
  306. package/template/apps/web/node_modules/@better-auth/core/src/utils/fetch-metadata.ts +0 -3
  307. package/template/apps/web/node_modules/@better-auth/core/src/utils/host.ts +0 -401
  308. package/template/apps/web/node_modules/@better-auth/core/src/utils/id.ts +0 -5
  309. package/template/apps/web/node_modules/@better-auth/core/src/utils/ip.ts +0 -211
  310. package/template/apps/web/node_modules/@better-auth/core/src/utils/is-api-error.ts +0 -10
  311. package/template/apps/web/node_modules/@better-auth/core/src/utils/json.ts +0 -56
  312. package/template/apps/web/node_modules/@better-auth/core/src/utils/string.ts +0 -3
  313. package/template/apps/web/node_modules/@better-auth/core/src/utils/url.ts +0 -43
  314. package/template/apps/web/node_modules/@better-auth/utils/README.md +0 -384
  315. package/template/apps/web/node_modules/@better-auth/utils/dist/base32.cjs +0 -104
  316. package/template/apps/web/node_modules/@better-auth/utils/dist/base32.d.cts +0 -44
  317. package/template/apps/web/node_modules/@better-auth/utils/dist/base32.d.mts +0 -44
  318. package/template/apps/web/node_modules/@better-auth/utils/dist/base32.d.ts +0 -44
  319. package/template/apps/web/node_modules/@better-auth/utils/dist/base32.mjs +0 -101
  320. package/template/apps/web/node_modules/@better-auth/utils/dist/base64.cjs +0 -80
  321. package/template/apps/web/node_modules/@better-auth/utils/dist/base64.d.cts +0 -16
  322. package/template/apps/web/node_modules/@better-auth/utils/dist/base64.d.mts +0 -16
  323. package/template/apps/web/node_modules/@better-auth/utils/dist/base64.d.ts +0 -16
  324. package/template/apps/web/node_modules/@better-auth/utils/dist/base64.mjs +0 -77
  325. package/template/apps/web/node_modules/@better-auth/utils/dist/binary.cjs +0 -16
  326. package/template/apps/web/node_modules/@better-auth/utils/dist/binary.d.cts +0 -8
  327. package/template/apps/web/node_modules/@better-auth/utils/dist/binary.d.mts +0 -8
  328. package/template/apps/web/node_modules/@better-auth/utils/dist/binary.d.ts +0 -8
  329. package/template/apps/web/node_modules/@better-auth/utils/dist/binary.mjs +0 -14
  330. package/template/apps/web/node_modules/@better-auth/utils/dist/ecdsa.cjs +0 -90
  331. package/template/apps/web/node_modules/@better-auth/utils/dist/ecdsa.d.cts +0 -19
  332. package/template/apps/web/node_modules/@better-auth/utils/dist/ecdsa.d.mts +0 -19
  333. package/template/apps/web/node_modules/@better-auth/utils/dist/ecdsa.d.ts +0 -19
  334. package/template/apps/web/node_modules/@better-auth/utils/dist/ecdsa.mjs +0 -88
  335. package/template/apps/web/node_modules/@better-auth/utils/dist/hash.cjs +0 -31
  336. package/template/apps/web/node_modules/@better-auth/utils/dist/hash.d.cts +0 -7
  337. package/template/apps/web/node_modules/@better-auth/utils/dist/hash.d.mts +0 -7
  338. package/template/apps/web/node_modules/@better-auth/utils/dist/hash.d.ts +0 -7
  339. package/template/apps/web/node_modules/@better-auth/utils/dist/hash.mjs +0 -29
  340. package/template/apps/web/node_modules/@better-auth/utils/dist/hex.cjs +0 -40
  341. package/template/apps/web/node_modules/@better-auth/utils/dist/hex.d.cts +0 -8
  342. package/template/apps/web/node_modules/@better-auth/utils/dist/hex.d.mts +0 -8
  343. package/template/apps/web/node_modules/@better-auth/utils/dist/hex.d.ts +0 -8
  344. package/template/apps/web/node_modules/@better-auth/utils/dist/hex.mjs +0 -38
  345. package/template/apps/web/node_modules/@better-auth/utils/dist/hmac.cjs +0 -58
  346. package/template/apps/web/node_modules/@better-auth/utils/dist/hmac.d.cts +0 -9
  347. package/template/apps/web/node_modules/@better-auth/utils/dist/hmac.d.mts +0 -9
  348. package/template/apps/web/node_modules/@better-auth/utils/dist/hmac.d.ts +0 -9
  349. package/template/apps/web/node_modules/@better-auth/utils/dist/hmac.mjs +0 -56
  350. package/template/apps/web/node_modules/@better-auth/utils/dist/index.cjs +0 -10
  351. package/template/apps/web/node_modules/@better-auth/utils/dist/index.d.cts +0 -3
  352. package/template/apps/web/node_modules/@better-auth/utils/dist/index.d.mts +0 -3
  353. package/template/apps/web/node_modules/@better-auth/utils/dist/index.d.ts +0 -3
  354. package/template/apps/web/node_modules/@better-auth/utils/dist/index.mjs +0 -8
  355. package/template/apps/web/node_modules/@better-auth/utils/dist/otp.cjs +0 -90
  356. package/template/apps/web/node_modules/@better-auth/utils/dist/otp.d.cts +0 -13
  357. package/template/apps/web/node_modules/@better-auth/utils/dist/otp.d.mts +0 -13
  358. package/template/apps/web/node_modules/@better-auth/utils/dist/otp.d.ts +0 -13
  359. package/template/apps/web/node_modules/@better-auth/utils/dist/otp.mjs +0 -88
  360. package/template/apps/web/node_modules/@better-auth/utils/dist/password.cjs +0 -36
  361. package/template/apps/web/node_modules/@better-auth/utils/dist/password.d.cts +0 -4
  362. package/template/apps/web/node_modules/@better-auth/utils/dist/password.d.mts +0 -4
  363. package/template/apps/web/node_modules/@better-auth/utils/dist/password.d.ts +0 -4
  364. package/template/apps/web/node_modules/@better-auth/utils/dist/password.mjs +0 -33
  365. package/template/apps/web/node_modules/@better-auth/utils/dist/password.node.cjs +0 -47
  366. package/template/apps/web/node_modules/@better-auth/utils/dist/password.node.d.cts +0 -4
  367. package/template/apps/web/node_modules/@better-auth/utils/dist/password.node.d.mts +0 -4
  368. package/template/apps/web/node_modules/@better-auth/utils/dist/password.node.d.ts +0 -4
  369. package/template/apps/web/node_modules/@better-auth/utils/dist/password.node.mjs +0 -44
  370. package/template/apps/web/node_modules/@better-auth/utils/dist/random.cjs +0 -55
  371. package/template/apps/web/node_modules/@better-auth/utils/dist/random.d.cts +0 -4
  372. package/template/apps/web/node_modules/@better-auth/utils/dist/random.d.mts +0 -4
  373. package/template/apps/web/node_modules/@better-auth/utils/dist/random.d.ts +0 -4
  374. package/template/apps/web/node_modules/@better-auth/utils/dist/random.mjs +0 -53
  375. package/template/apps/web/node_modules/@better-auth/utils/dist/rsa.cjs +0 -76
  376. package/template/apps/web/node_modules/@better-auth/utils/dist/rsa.d.cts +0 -16
  377. package/template/apps/web/node_modules/@better-auth/utils/dist/rsa.d.mts +0 -16
  378. package/template/apps/web/node_modules/@better-auth/utils/dist/rsa.d.ts +0 -16
  379. package/template/apps/web/node_modules/@better-auth/utils/dist/rsa.mjs +0 -74
  380. package/template/apps/web/node_modules/@better-auth/utils/dist/shared/utils.ecd028f7.d.cts +0 -22
  381. package/template/apps/web/node_modules/@better-auth/utils/dist/shared/utils.ecd028f7.d.mts +0 -22
  382. package/template/apps/web/node_modules/@better-auth/utils/dist/shared/utils.ecd028f7.d.ts +0 -22
  383. package/template/apps/web/node_modules/@better-auth/utils/package.json +0 -95
  384. package/template/apps/web/node_modules/better-call/LICENSE +0 -21
  385. package/template/apps/web/node_modules/better-call/dist/_virtual/_rolldown/runtime.cjs +0 -29
  386. package/template/apps/web/node_modules/better-call/dist/adapters/node/request.cjs +0 -181
  387. package/template/apps/web/node_modules/better-call/dist/adapters/node/request.cjs.map +0 -1
  388. package/template/apps/web/node_modules/better-call/dist/adapters/node/request.d.cts +0 -16
  389. package/template/apps/web/node_modules/better-call/dist/adapters/node/request.d.mts +0 -16
  390. package/template/apps/web/node_modules/better-call/dist/adapters/node/request.mjs +0 -178
  391. package/template/apps/web/node_modules/better-call/dist/adapters/node/request.mjs.map +0 -1
  392. package/template/apps/web/node_modules/better-call/dist/client.cjs +0 -23
  393. package/template/apps/web/node_modules/better-call/dist/client.cjs.map +0 -1
  394. package/template/apps/web/node_modules/better-call/dist/client.d.cts +0 -53
  395. package/template/apps/web/node_modules/better-call/dist/client.d.mts +0 -53
  396. package/template/apps/web/node_modules/better-call/dist/client.mjs +0 -14
  397. package/template/apps/web/node_modules/better-call/dist/client.mjs.map +0 -1
  398. package/template/apps/web/node_modules/better-call/dist/context.cjs +0 -103
  399. package/template/apps/web/node_modules/better-call/dist/context.cjs.map +0 -1
  400. package/template/apps/web/node_modules/better-call/dist/context.d.cts +0 -341
  401. package/template/apps/web/node_modules/better-call/dist/context.d.mts +0 -341
  402. package/template/apps/web/node_modules/better-call/dist/context.mjs +0 -103
  403. package/template/apps/web/node_modules/better-call/dist/context.mjs.map +0 -1
  404. package/template/apps/web/node_modules/better-call/dist/cookies.cjs +0 -87
  405. package/template/apps/web/node_modules/better-call/dist/cookies.cjs.map +0 -1
  406. package/template/apps/web/node_modules/better-call/dist/cookies.d.cts +0 -103
  407. package/template/apps/web/node_modules/better-call/dist/cookies.d.mts +0 -103
  408. package/template/apps/web/node_modules/better-call/dist/cookies.mjs +0 -84
  409. package/template/apps/web/node_modules/better-call/dist/cookies.mjs.map +0 -1
  410. package/template/apps/web/node_modules/better-call/dist/crypto.cjs +0 -39
  411. package/template/apps/web/node_modules/better-call/dist/crypto.cjs.map +0 -1
  412. package/template/apps/web/node_modules/better-call/dist/crypto.mjs +0 -36
  413. package/template/apps/web/node_modules/better-call/dist/crypto.mjs.map +0 -1
  414. package/template/apps/web/node_modules/better-call/dist/endpoint.cjs +0 -70
  415. package/template/apps/web/node_modules/better-call/dist/endpoint.cjs.map +0 -1
  416. package/template/apps/web/node_modules/better-call/dist/endpoint.d.cts +0 -475
  417. package/template/apps/web/node_modules/better-call/dist/endpoint.d.mts +0 -475
  418. package/template/apps/web/node_modules/better-call/dist/endpoint.mjs +0 -70
  419. package/template/apps/web/node_modules/better-call/dist/endpoint.mjs.map +0 -1
  420. package/template/apps/web/node_modules/better-call/dist/error.cjs +0 -141
  421. package/template/apps/web/node_modules/better-call/dist/error.cjs.map +0 -1
  422. package/template/apps/web/node_modules/better-call/dist/error.d.cts +0 -103
  423. package/template/apps/web/node_modules/better-call/dist/error.d.mts +0 -103
  424. package/template/apps/web/node_modules/better-call/dist/error.mjs +0 -133
  425. package/template/apps/web/node_modules/better-call/dist/error.mjs.map +0 -1
  426. package/template/apps/web/node_modules/better-call/dist/helper.d.cts +0 -12
  427. package/template/apps/web/node_modules/better-call/dist/helper.d.mts +0 -12
  428. package/template/apps/web/node_modules/better-call/dist/index.cjs +0 -28
  429. package/template/apps/web/node_modules/better-call/dist/index.d.cts +0 -11
  430. package/template/apps/web/node_modules/better-call/dist/index.d.mts +0 -11
  431. package/template/apps/web/node_modules/better-call/dist/index.mjs +0 -10
  432. package/template/apps/web/node_modules/better-call/dist/middleware.cjs +0 -52
  433. package/template/apps/web/node_modules/better-call/dist/middleware.cjs.map +0 -1
  434. package/template/apps/web/node_modules/better-call/dist/middleware.d.cts +0 -123
  435. package/template/apps/web/node_modules/better-call/dist/middleware.d.mts +0 -123
  436. package/template/apps/web/node_modules/better-call/dist/middleware.mjs +0 -52
  437. package/template/apps/web/node_modules/better-call/dist/middleware.mjs.map +0 -1
  438. package/template/apps/web/node_modules/better-call/dist/node.cjs +0 -18
  439. package/template/apps/web/node_modules/better-call/dist/node.cjs.map +0 -1
  440. package/template/apps/web/node_modules/better-call/dist/node.d.cts +0 -9
  441. package/template/apps/web/node_modules/better-call/dist/node.d.mts +0 -9
  442. package/template/apps/web/node_modules/better-call/dist/node.mjs +0 -15
  443. package/template/apps/web/node_modules/better-call/dist/node.mjs.map +0 -1
  444. package/template/apps/web/node_modules/better-call/dist/openapi.cjs +0 -191
  445. package/template/apps/web/node_modules/better-call/dist/openapi.cjs.map +0 -1
  446. package/template/apps/web/node_modules/better-call/dist/openapi.d.cts +0 -113
  447. package/template/apps/web/node_modules/better-call/dist/openapi.d.mts +0 -113
  448. package/template/apps/web/node_modules/better-call/dist/openapi.mjs +0 -189
  449. package/template/apps/web/node_modules/better-call/dist/openapi.mjs.map +0 -1
  450. package/template/apps/web/node_modules/better-call/dist/router.cjs +0 -118
  451. package/template/apps/web/node_modules/better-call/dist/router.cjs.map +0 -1
  452. package/template/apps/web/node_modules/better-call/dist/router.d.cts +0 -103
  453. package/template/apps/web/node_modules/better-call/dist/router.d.mts +0 -103
  454. package/template/apps/web/node_modules/better-call/dist/router.mjs +0 -117
  455. package/template/apps/web/node_modules/better-call/dist/router.mjs.map +0 -1
  456. package/template/apps/web/node_modules/better-call/dist/standard-schema.d.cts +0 -59
  457. package/template/apps/web/node_modules/better-call/dist/standard-schema.d.mts +0 -59
  458. package/template/apps/web/node_modules/better-call/dist/to-response.cjs +0 -153
  459. package/template/apps/web/node_modules/better-call/dist/to-response.cjs.map +0 -1
  460. package/template/apps/web/node_modules/better-call/dist/to-response.d.cts +0 -12
  461. package/template/apps/web/node_modules/better-call/dist/to-response.d.mts +0 -12
  462. package/template/apps/web/node_modules/better-call/dist/to-response.mjs +0 -153
  463. package/template/apps/web/node_modules/better-call/dist/to-response.mjs.map +0 -1
  464. package/template/apps/web/node_modules/better-call/dist/utils.cjs +0 -86
  465. package/template/apps/web/node_modules/better-call/dist/utils.cjs.map +0 -1
  466. package/template/apps/web/node_modules/better-call/dist/utils.mjs +0 -82
  467. package/template/apps/web/node_modules/better-call/dist/utils.mjs.map +0 -1
  468. package/template/apps/web/node_modules/better-call/dist/validator.cjs +0 -58
  469. package/template/apps/web/node_modules/better-call/dist/validator.cjs.map +0 -1
  470. package/template/apps/web/node_modules/better-call/dist/validator.mjs +0 -57
  471. package/template/apps/web/node_modules/better-call/dist/validator.mjs.map +0 -1
  472. package/template/apps/web/node_modules/better-call/package.json +0 -96
  473. package/template/apps/web/node_modules/set-cookie-parser/LICENSE +0 -21
  474. package/template/apps/web/node_modules/set-cookie-parser/README.md +0 -169
  475. package/template/apps/web/node_modules/set-cookie-parser/dist/.eslintrc.cjs +0 -16
  476. package/template/apps/web/node_modules/set-cookie-parser/dist/set-cookie.cjs +0 -260
  477. package/template/apps/web/node_modules/set-cookie-parser/lib/set-cookie.d.ts +0 -119
  478. package/template/apps/web/node_modules/set-cookie-parser/lib/set-cookie.js +0 -265
  479. package/template/apps/web/node_modules/set-cookie-parser/package.json +0 -61
@@ -1,475 +0,0 @@
1
- import { Prettify } from "./helper.mjs";
2
- import { StandardSchemaV1 } from "./standard-schema.mjs";
3
- import { APIError, Status, statusCodes } from "./error.mjs";
4
- import { CookieOptions, CookiePrefixOptions } from "./cookies.mjs";
5
- import { InferBody, InferHeaders, InferMethod, InferParam, InferQuery, InferRequest, InferUse, InputContext } from "./context.mjs";
6
- import { Middleware } from "./middleware.mjs";
7
- import { OpenAPIParameter, OpenAPISchemaType } from "./openapi.mjs";
8
-
9
- //#region src/endpoint.d.ts
10
- interface EndpointBaseOptions {
11
- /**
12
- * Query Schema
13
- */
14
- query?: StandardSchemaV1;
15
- /**
16
- * Error Schema
17
- */
18
- error?: StandardSchemaV1;
19
- /**
20
- * If true headers will be required to be passed in the context
21
- */
22
- requireHeaders?: boolean;
23
- /**
24
- * If true request object will be required
25
- */
26
- requireRequest?: boolean;
27
- /**
28
- * Clone the request object from the router
29
- */
30
- cloneRequest?: boolean;
31
- /**
32
- * If true the body will be undefined
33
- */
34
- disableBody?: boolean;
35
- /**
36
- * Endpoint metadata
37
- */
38
- metadata?: {
39
- /**
40
- * Open API definition
41
- */
42
- openapi?: {
43
- summary?: string;
44
- description?: string;
45
- tags?: string[];
46
- operationId?: string;
47
- parameters?: OpenAPIParameter[];
48
- requestBody?: {
49
- content: {
50
- "application/json": {
51
- schema: {
52
- type?: OpenAPISchemaType;
53
- properties?: Record<string, any>;
54
- required?: string[];
55
- $ref?: string;
56
- };
57
- };
58
- };
59
- };
60
- responses?: {
61
- [status: string]: {
62
- description: string;
63
- content?: {
64
- "application/json"?: {
65
- schema: {
66
- type?: OpenAPISchemaType;
67
- properties?: Record<string, any>;
68
- required?: string[];
69
- $ref?: string;
70
- };
71
- };
72
- "text/plain"?: {
73
- schema?: {
74
- type?: OpenAPISchemaType;
75
- properties?: Record<string, any>;
76
- required?: string[];
77
- $ref?: string;
78
- };
79
- };
80
- "text/html"?: {
81
- schema?: {
82
- type?: OpenAPISchemaType;
83
- properties?: Record<string, any>;
84
- required?: string[];
85
- $ref?: string;
86
- };
87
- };
88
- };
89
- };
90
- };
91
- };
92
- /**
93
- * Infer body and query type from ts interface
94
- *
95
- * useful for generic and dynamic types
96
- *
97
- * @example
98
- * ```ts
99
- * const endpoint = createEndpoint("/path", {
100
- * method: "POST",
101
- * body: z.record(z.string()),
102
- * $Infer: {
103
- * body: {} as {
104
- * type: InferTypeFromOptions<Option> // custom type inference
105
- * }
106
- * }
107
- * }, async(ctx)=>{
108
- * const body = ctx.body
109
- * })
110
- * ```
111
- */
112
- $Infer?: {
113
- /**
114
- * Body
115
- */
116
- body?: any;
117
- /**
118
- * Query
119
- */
120
- query?: Record<string, any>;
121
- };
122
- /**
123
- * If enabled, endpoint won't be exposed over a router
124
- * @deprecated Use path-less endpoints instead
125
- */
126
- SERVER_ONLY?: boolean;
127
- /**
128
- * If enabled, endpoint won't be exposed as an action to the client
129
- * @deprecated Use path-less endpoints instead
130
- */
131
- isAction?: boolean;
132
- /**
133
- * Defines the places where the endpoint will be available
134
- *
135
- * Possible options:
136
- * - `rpc` - the endpoint is exposed to the router, can be invoked directly and is available to the client
137
- * - `server` - the endpoint is exposed to the router, can be invoked directly, but is not available to the client
138
- * - `http` - the endpoint is only exposed to the router
139
- * @default "rpc"
140
- */
141
- scope?: "rpc" | "server" | "http";
142
- /**
143
- * List of allowed media types (MIME types) for the endpoint
144
- *
145
- * if provided, only the media types in the list will be allowed to be passed in the body
146
- *
147
- * @example
148
- * ```ts
149
- * const endpoint = createEndpoint("/path", {
150
- * method: "POST",
151
- * allowedMediaTypes: ["application/json", "application/x-www-form-urlencoded"],
152
- * }, async(ctx)=>{
153
- * const body = ctx.body
154
- * })
155
- * ```
156
- */
157
- allowedMediaTypes?: string[];
158
- /**
159
- * Extra metadata
160
- */
161
- [key: string]: any;
162
- };
163
- /**
164
- * List of middlewares to use
165
- */
166
- use?: Middleware[];
167
- /**
168
- * A callback to run before any API error is throw or returned
169
- *
170
- * @param e - The API error
171
- * @returns - The response to return
172
- */
173
- onAPIError?: (e: APIError) => void | Promise<void>;
174
- /**
175
- * A callback to run before a validation error is thrown
176
- * You can customize the validation error message by throwing your own APIError
177
- */
178
- onValidationError?: ({
179
- issues,
180
- message
181
- }: {
182
- message: string;
183
- issues: readonly StandardSchemaV1.Issue[];
184
- }) => void | Promise<void>;
185
- }
186
- type EndpointBodyMethodOptions = {
187
- /**
188
- * Request Method
189
- */
190
- method: "POST" | "PUT" | "DELETE" | "PATCH" | ("POST" | "PUT" | "DELETE" | "PATCH")[];
191
- /**
192
- * Body Schema
193
- */
194
- body?: StandardSchemaV1;
195
- } | {
196
- /**
197
- * Request Method
198
- */
199
- method: "GET" | "HEAD" | ("GET" | "HEAD")[];
200
- /**
201
- * Body Schema
202
- */
203
- body?: never;
204
- } | {
205
- /**
206
- * Request Method
207
- */
208
- method: "*";
209
- /**
210
- * Body Schema
211
- */
212
- body?: StandardSchemaV1;
213
- } | {
214
- /**
215
- * Request Method
216
- */
217
- method: ("POST" | "PUT" | "DELETE" | "PATCH" | "GET" | "HEAD")[];
218
- /**
219
- * Body Schema
220
- */
221
- body?: StandardSchemaV1;
222
- };
223
- type EndpointOptions = EndpointBaseOptions & EndpointBodyMethodOptions;
224
- type EndpointContext<Path extends string, Options extends EndpointOptions, Context = {}> = {
225
- /**
226
- * Method
227
- *
228
- * The request method
229
- */
230
- method: InferMethod<Options>;
231
- /**
232
- * Path
233
- *
234
- * The path of the endpoint
235
- */
236
- path: Path;
237
- /**
238
- * Body
239
- *
240
- * The body object will be the parsed JSON from the request and validated
241
- * against the body schema if it exists.
242
- */
243
- body: InferBody<Options>;
244
- /**
245
- * Query
246
- *
247
- * The query object will be the parsed query string from the request
248
- * and validated against the query schema if it exists
249
- */
250
- query: InferQuery<Options>;
251
- /**
252
- * Params
253
- *
254
- * If the path is `/user/:id` and the request is `/user/1` then the params will
255
- * be `{ id: "1" }` and if the path includes a wildcard like `/user/*` then the
256
- * params will be `{ _: "1" }` where `_` is the wildcard key. If the wildcard
257
- * is named like `/user/**:name` then the params will be `{ name: string }`
258
- */
259
- params: InferParam<Path>;
260
- /**
261
- * Request object
262
- *
263
- * If `requireRequest` is set to true in the endpoint options this will be
264
- * required
265
- */
266
- request: InferRequest<Options>;
267
- /**
268
- * Headers
269
- *
270
- * If `requireHeaders` is set to true in the endpoint options this will be
271
- * required
272
- */
273
- headers: InferHeaders<Options>;
274
- /**
275
- * Set header
276
- *
277
- * If it's called outside of a request it will just be ignored.
278
- */
279
- setHeader: (key: string, value: string) => void;
280
- /**
281
- * Set the response status code
282
- */
283
- setStatus: (status: Status) => void;
284
- /**
285
- * Get header
286
- *
287
- * If it's called outside of a request it will just return null
288
- *
289
- * @param key - The key of the header
290
- * @returns
291
- */
292
- getHeader: (key: string) => string | null;
293
- /**
294
- * Get a cookie value from the request
295
- *
296
- * @param key - The key of the cookie
297
- * @param prefix - The prefix of the cookie between `__Secure-` and `__Host-`
298
- * @returns - The value of the cookie
299
- */
300
- getCookie: (key: string, prefix?: CookiePrefixOptions) => string | null;
301
- /**
302
- * Get a signed cookie value from the request
303
- *
304
- * @param key - The key of the cookie
305
- * @param secret - The secret of the signed cookie
306
- * @param prefix - The prefix of the cookie between `__Secure-` and `__Host-`
307
- * @returns - The value of the cookie or null if the cookie is not found or false if the signature is invalid
308
- */
309
- getSignedCookie: (key: string, secret: string, prefix?: CookiePrefixOptions) => Promise<string | null | false>;
310
- /**
311
- * Set a cookie value in the response
312
- *
313
- * @param key - The key of the cookie
314
- * @param value - The value to set
315
- * @param options - The options of the cookie
316
- * @returns - The cookie string
317
- */
318
- setCookie: (key: string, value: string, options?: CookieOptions) => string;
319
- /**
320
- * Set signed cookie
321
- *
322
- * @param key - The key of the cookie
323
- * @param value - The value to set
324
- * @param secret - The secret to sign the cookie with
325
- * @param options - The options of the cookie
326
- * @returns - The cookie string
327
- */
328
- setSignedCookie: (key: string, value: string, secret: string, options?: CookieOptions) => Promise<string>;
329
- /**
330
- * JSON
331
- *
332
- * a helper function to create a JSON response with
333
- * the correct headers
334
- * and status code. If `asResponse` is set to true in
335
- * the context then
336
- * it will return a Response object instead of the
337
- * JSON object.
338
- *
339
- * @param json - The JSON object to return
340
- * @param routerResponse - The response object to
341
- * return if `asResponse` is
342
- * true in the context this will take precedence
343
- */
344
- json: <R extends Record<string, any> | null>(json: R, routerResponse?: {
345
- status?: number;
346
- headers?: Record<string, string>;
347
- response?: Response;
348
- body?: Record<string, string>;
349
- } | Response) => Promise<R>;
350
- /**
351
- * Middleware context
352
- */
353
- context: Prettify<Context & InferUse<Options["use"]>>;
354
- /**
355
- * Redirect to a new URL
356
- */
357
- redirect: (url: string) => APIError;
358
- /**
359
- * Return error
360
- */
361
- error: (status: keyof typeof statusCodes | Status, body?: {
362
- message?: string;
363
- code?: string;
364
- } & Record<string, any>, headers?: HeadersInit) => APIError;
365
- };
366
- type ExtractBody<E extends EndpointBodyMethodOptions> = E extends {
367
- method: ("POST" | "PUT" | "DELETE" | "PATCH" | "GET" | "HEAD")[];
368
- body?: StandardSchemaV1<infer B>;
369
- } ? E extends {
370
- method: infer M;
371
- body?: StandardSchemaV1<B>;
372
- } ? {
373
- method: M;
374
- body: StandardSchemaV1<B>;
375
- } : never : E extends {
376
- method: "POST" | "PUT" | "DELETE" | "PATCH" | ("POST" | "PUT" | "DELETE" | "PATCH")[];
377
- body?: StandardSchemaV1<infer B>;
378
- } ? E extends {
379
- method: infer M;
380
- body?: StandardSchemaV1<B>;
381
- } ? {
382
- method: M;
383
- body: StandardSchemaV1<B>;
384
- } : never : E extends {
385
- method: "*";
386
- body?: StandardSchemaV1<infer B>;
387
- } ? {
388
- method: "*";
389
- body?: StandardSchemaV1<B>;
390
- } : E extends {
391
- method: "GET" | "HEAD" | ("GET" | "HEAD")[];
392
- body?: never;
393
- } ? E extends {
394
- method: infer M;
395
- } ? {
396
- method: M;
397
- } : never : never;
398
- type ExtractError<E extends EndpointOptions> = E extends {
399
- error?: StandardSchemaV1<infer Err>;
400
- } ? {
401
- error: StandardSchemaV1<Err>;
402
- } : {};
403
- type ExtractQuery<E extends EndpointOptions> = E extends {
404
- query?: StandardSchemaV1<infer Q>;
405
- } ? {
406
- query: StandardSchemaV1<Q>;
407
- } : {};
408
- type ExtractOthers<E extends EndpointOptions> = Pick<E, Exclude<keyof E, "method" | "body" | "query" | "error">>;
409
- /**
410
- * DO NOT EXPORT THIS TYPE
411
- */
412
- type ExtractStandSchema<E extends EndpointOptions> = ExtractOthers<E> & ExtractBody<E> & ExtractQuery<E> & ExtractError<E>;
413
- type EndpointHandler<Path extends string, Options extends EndpointOptions, R> = (context: EndpointContext<Path, Options>) => Promise<R>;
414
- declare function createEndpoint<Path extends string, Options extends EndpointOptions, R>(path: Path, options: Options, handler: EndpointHandler<Path, Options, R>): StrictEndpoint<Path, ExtractStandSchema<Options>, R>;
415
- declare function createEndpoint<Options extends EndpointOptions, R>(options: Options, handler: EndpointHandler<never, Options, R>): StrictEndpoint<never, ExtractStandSchema<Options>, R>;
416
- declare namespace createEndpoint {
417
- var create: <E extends {
418
- use?: Middleware[];
419
- }>(opts?: E) => <Path extends string, Opts extends EndpointOptions, R extends Promise<any>>(path: Path, options: Opts, handler: (ctx: EndpointContext<Path, Opts, InferUse<E["use"]>>) => R) => StrictEndpoint<Path, ExtractStandSchema<Opts & {
420
- use: any[];
421
- }>, any>;
422
- }
423
- type StrictEndpoint<Path extends string, Options extends EndpointOptions, R = any> = {
424
- (context: InputContext<Path, Options> & {
425
- asResponse: true;
426
- }): Promise<Response>;
427
- (context: InputContext<Path, Options> & {
428
- returnHeaders: true;
429
- returnStatus: true;
430
- }): Promise<{
431
- headers: Headers;
432
- status: number;
433
- response: Awaited<R>;
434
- }>;
435
- (context: InputContext<Path, Options> & {
436
- returnHeaders: true;
437
- returnStatus: false;
438
- }): Promise<{
439
- headers: Headers;
440
- response: Awaited<R>;
441
- }>;
442
- (context: InputContext<Path, Options> & {
443
- returnHeaders: false;
444
- returnStatus: true;
445
- }): Promise<{
446
- status: number;
447
- response: Awaited<R>;
448
- }>;
449
- (context: InputContext<Path, Options> & {
450
- returnHeaders: false;
451
- returnStatus: false;
452
- }): Promise<R>;
453
- (context: InputContext<Path, Options> & {
454
- returnHeaders: true;
455
- }): Promise<{
456
- headers: Headers;
457
- response: Awaited<R>;
458
- }>;
459
- (context: InputContext<Path, Options> & {
460
- returnStatus: true;
461
- }): Promise<{
462
- status: number;
463
- response: Awaited<R>;
464
- }>;
465
- (context?: InputContext<Path, Options>): Promise<R>;
466
- options: Options;
467
- path: Path;
468
- };
469
- type Endpoint<Path extends string = string, Options extends EndpointOptions = EndpointOptions, Handler extends (inputCtx: any) => Promise<any> = (inputCtx: any) => Promise<any>> = Handler & {
470
- options: Options;
471
- path: Path;
472
- };
473
- //#endregion
474
- export { Endpoint, EndpointBaseOptions, EndpointBodyMethodOptions, EndpointContext, EndpointHandler, EndpointOptions, StrictEndpoint, createEndpoint };
475
- //# sourceMappingURL=endpoint.d.mts.map
@@ -1,70 +0,0 @@
1
- import { APIError, BetterCallError, ValidationError } from "./error.mjs";
2
- import { isAPIError, tryCatch } from "./utils.mjs";
3
- import { toResponse } from "./to-response.mjs";
4
- import { createInternalContext } from "./context.mjs";
5
-
6
- //#region src/endpoint.ts
7
- function createEndpoint(pathOrOptions, handlerOrOptions, handlerOrNever) {
8
- const path = typeof pathOrOptions === "string" ? pathOrOptions : void 0;
9
- const options = typeof handlerOrOptions === "object" ? handlerOrOptions : pathOrOptions;
10
- const handler = typeof handlerOrOptions === "function" ? handlerOrOptions : handlerOrNever;
11
- if ((options.method === "GET" || options.method === "HEAD") && options.body) throw new BetterCallError("Body is not allowed with GET or HEAD methods");
12
- if (path && /\/{2,}/.test(path)) throw new BetterCallError("Path cannot contain consecutive slashes");
13
- const internalHandler = async (...inputCtx) => {
14
- const context = inputCtx[0] || {};
15
- const { data: internalContext, error: validationError } = await tryCatch(createInternalContext(context, {
16
- options,
17
- path
18
- }));
19
- if (validationError) {
20
- if (!(validationError instanceof ValidationError)) throw validationError;
21
- if (options.onValidationError) await options.onValidationError({
22
- message: validationError.message,
23
- issues: validationError.issues
24
- });
25
- throw new APIError(400, {
26
- message: validationError.message,
27
- code: "VALIDATION_ERROR"
28
- });
29
- }
30
- const response = await handler(internalContext).catch(async (e) => {
31
- if (isAPIError(e)) {
32
- const onAPIError = options.onAPIError;
33
- if (onAPIError) await onAPIError(e);
34
- if (context.asResponse) return e;
35
- }
36
- throw e;
37
- });
38
- const headers = internalContext.responseHeaders;
39
- const status = internalContext.responseStatus;
40
- return context.asResponse ? toResponse(response, {
41
- headers,
42
- status
43
- }) : context.returnHeaders ? context.returnStatus ? {
44
- headers,
45
- response,
46
- status
47
- } : {
48
- headers,
49
- response
50
- } : context.returnStatus ? {
51
- response,
52
- status
53
- } : response;
54
- };
55
- internalHandler.options = options;
56
- internalHandler.path = path;
57
- return internalHandler;
58
- }
59
- createEndpoint.create = (opts) => {
60
- return (path, options, handler) => {
61
- return createEndpoint(path, {
62
- ...options,
63
- use: [...options?.use || [], ...opts?.use || []]
64
- }, handler);
65
- };
66
- };
67
-
68
- //#endregion
69
- export { createEndpoint };
70
- //# sourceMappingURL=endpoint.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"endpoint.mjs","names":[],"sources":["../src/endpoint.ts"],"sourcesContent":["import type { HasRequiredKeys, Prettify } from \"./helper\";\nimport { toResponse } from \"./to-response\";\nimport type { Middleware } from \"./middleware\";\nimport {\n\tcreateInternalContext,\n\ttype InferBody,\n\ttype InferHeaders,\n\ttype InferMethod,\n\ttype InferParam,\n\ttype InferQuery,\n\ttype InferRequest,\n\ttype InferUse,\n\ttype InputContext,\n\ttype Method,\n} from \"./context\";\nimport type { CookieOptions, CookiePrefixOptions } from \"./cookies\";\nimport {\n\tAPIError,\n\tValidationError,\n\ttype statusCodes,\n\ttype Status,\n\tBetterCallError,\n} from \"./error\";\nimport type { OpenAPIParameter, OpenAPISchemaType } from \"./openapi\";\nimport type { StandardSchemaV1 } from \"./standard-schema\";\nimport { isAPIError, tryCatch } from \"./utils\";\n\nexport interface EndpointBaseOptions {\n\t/**\n\t * Query Schema\n\t */\n\tquery?: StandardSchemaV1;\n\t/**\n\t * Error Schema\n\t */\n\terror?: StandardSchemaV1;\n\t/**\n\t * If true headers will be required to be passed in the context\n\t */\n\trequireHeaders?: boolean;\n\t/**\n\t * If true request object will be required\n\t */\n\trequireRequest?: boolean;\n\t/**\n\t * Clone the request object from the router\n\t */\n\tcloneRequest?: boolean;\n\t/**\n\t * If true the body will be undefined\n\t */\n\tdisableBody?: boolean;\n\t/**\n\t * Endpoint metadata\n\t */\n\tmetadata?: {\n\t\t/**\n\t\t * Open API definition\n\t\t */\n\t\topenapi?: {\n\t\t\tsummary?: string;\n\t\t\tdescription?: string;\n\t\t\ttags?: string[];\n\t\t\toperationId?: string;\n\t\t\tparameters?: OpenAPIParameter[];\n\t\t\trequestBody?: {\n\t\t\t\tcontent: {\n\t\t\t\t\t\"application/json\": {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype?: OpenAPISchemaType;\n\t\t\t\t\t\t\tproperties?: Record<string, any>;\n\t\t\t\t\t\t\trequired?: string[];\n\t\t\t\t\t\t\t$ref?: string;\n\t\t\t\t\t\t};\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tresponses?: {\n\t\t\t\t[status: string]: {\n\t\t\t\t\tdescription: string;\n\t\t\t\t\tcontent?: {\n\t\t\t\t\t\t\"application/json\"?: {\n\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\ttype?: OpenAPISchemaType;\n\t\t\t\t\t\t\t\tproperties?: Record<string, any>;\n\t\t\t\t\t\t\t\trequired?: string[];\n\t\t\t\t\t\t\t\t$ref?: string;\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t};\n\t\t\t\t\t\t\"text/plain\"?: {\n\t\t\t\t\t\t\tschema?: {\n\t\t\t\t\t\t\t\ttype?: OpenAPISchemaType;\n\t\t\t\t\t\t\t\tproperties?: Record<string, any>;\n\t\t\t\t\t\t\t\trequired?: string[];\n\t\t\t\t\t\t\t\t$ref?: string;\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t};\n\t\t\t\t\t\t\"text/html\"?: {\n\t\t\t\t\t\t\tschema?: {\n\t\t\t\t\t\t\t\ttype?: OpenAPISchemaType;\n\t\t\t\t\t\t\t\tproperties?: Record<string, any>;\n\t\t\t\t\t\t\t\trequired?: string[];\n\t\t\t\t\t\t\t\t$ref?: string;\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t};\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t};\n\t\t/**\n\t\t * Infer body and query type from ts interface\n\t\t *\n\t\t * useful for generic and dynamic types\n\t\t *\n\t\t * @example\n\t\t * ```ts\n\t\t * const endpoint = createEndpoint(\"/path\", {\n\t\t * \t\tmethod: \"POST\",\n\t\t * \t\tbody: z.record(z.string()),\n\t\t * \t\t$Infer: {\n\t\t * \t\t\tbody: {} as {\n\t\t * \t\t\t\ttype: InferTypeFromOptions<Option> // custom type inference\n\t\t * \t\t\t}\n\t\t * \t\t}\n\t\t * \t}, async(ctx)=>{\n\t\t * \t\tconst body = ctx.body\n\t\t * \t})\n\t\t * ```\n\t\t */\n\t\t$Infer?: {\n\t\t\t/**\n\t\t\t * Body\n\t\t\t */\n\t\t\tbody?: any;\n\t\t\t/**\n\t\t\t * Query\n\t\t\t */\n\t\t\tquery?: Record<string, any>;\n\t\t};\n\t\t/**\n\t\t * If enabled, endpoint won't be exposed over a router\n\t\t * @deprecated Use path-less endpoints instead\n\t\t */\n\t\tSERVER_ONLY?: boolean;\n\t\t/**\n\t\t * If enabled, endpoint won't be exposed as an action to the client\n\t\t * @deprecated Use path-less endpoints instead\n\t\t */\n\t\tisAction?: boolean;\n\t\t/**\n\t\t * Defines the places where the endpoint will be available\n\t\t *\n\t\t * Possible options:\n\t\t * - `rpc` - the endpoint is exposed to the router, can be invoked directly and is available to the client\n\t\t * - `server` - the endpoint is exposed to the router, can be invoked directly, but is not available to the client\n\t\t * - `http` - the endpoint is only exposed to the router\n\t\t * @default \"rpc\"\n\t\t */\n\t\tscope?: \"rpc\" | \"server\" | \"http\";\n\t\t/**\n\t\t * List of allowed media types (MIME types) for the endpoint\n\t\t *\n\t\t * if provided, only the media types in the list will be allowed to be passed in the body\n\t\t *\n\t\t * @example\n\t\t * ```ts\n\t\t * const endpoint = createEndpoint(\"/path\", {\n\t\t * \t\tmethod: \"POST\",\n\t\t * \t\tallowedMediaTypes: [\"application/json\", \"application/x-www-form-urlencoded\"],\n\t\t * \t}, async(ctx)=>{\n\t\t * \t\tconst body = ctx.body\n\t\t * \t})\n\t\t * ```\n\t\t */\n\t\tallowedMediaTypes?: string[];\n\t\t/**\n\t\t * Extra metadata\n\t\t */\n\t\t[key: string]: any;\n\t};\n\t/**\n\t * List of middlewares to use\n\t */\n\tuse?: Middleware[];\n\t/**\n\t * A callback to run before any API error is throw or returned\n\t *\n\t * @param e - The API error\n\t * @returns - The response to return\n\t */\n\tonAPIError?: (e: APIError) => void | Promise<void>;\n\t/**\n\t * A callback to run before a validation error is thrown\n\t * You can customize the validation error message by throwing your own APIError\n\t */\n\tonValidationError?: ({\n\t\tissues,\n\t\tmessage,\n\t}: {\n\t\tmessage: string;\n\t\tissues: readonly StandardSchemaV1.Issue[];\n\t}) => void | Promise<void>;\n}\n\nexport type EndpointBodyMethodOptions =\n\t| {\n\t\t\t/**\n\t\t\t * Request Method\n\t\t\t */\n\t\t\tmethod:\n\t\t\t\t| \"POST\"\n\t\t\t\t| \"PUT\"\n\t\t\t\t| \"DELETE\"\n\t\t\t\t| \"PATCH\"\n\t\t\t\t| (\"POST\" | \"PUT\" | \"DELETE\" | \"PATCH\")[];\n\t\t\t/**\n\t\t\t * Body Schema\n\t\t\t */\n\t\t\tbody?: StandardSchemaV1;\n\t }\n\t| {\n\t\t\t/**\n\t\t\t * Request Method\n\t\t\t */\n\t\t\tmethod: \"GET\" | \"HEAD\" | (\"GET\" | \"HEAD\")[];\n\t\t\t/**\n\t\t\t * Body Schema\n\t\t\t */\n\t\t\tbody?: never;\n\t }\n\t| {\n\t\t\t/**\n\t\t\t * Request Method\n\t\t\t */\n\t\t\tmethod: \"*\";\n\t\t\t/**\n\t\t\t * Body Schema\n\t\t\t */\n\t\t\tbody?: StandardSchemaV1;\n\t }\n\t| {\n\t\t\t/**\n\t\t\t * Request Method\n\t\t\t */\n\t\t\tmethod: (\"POST\" | \"PUT\" | \"DELETE\" | \"PATCH\" | \"GET\" | \"HEAD\")[];\n\t\t\t/**\n\t\t\t * Body Schema\n\t\t\t */\n\t\t\tbody?: StandardSchemaV1;\n\t };\n\nexport type EndpointOptions = EndpointBaseOptions & EndpointBodyMethodOptions;\n\nexport type EndpointContext<\n\tPath extends string,\n\tOptions extends EndpointOptions,\n\tContext = {},\n> = {\n\t/**\n\t * Method\n\t *\n\t * The request method\n\t */\n\tmethod: InferMethod<Options>;\n\t/**\n\t * Path\n\t *\n\t * The path of the endpoint\n\t */\n\tpath: Path;\n\t/**\n\t * Body\n\t *\n\t * The body object will be the parsed JSON from the request and validated\n\t * against the body schema if it exists.\n\t */\n\tbody: InferBody<Options>;\n\t/**\n\t * Query\n\t *\n\t * The query object will be the parsed query string from the request\n\t * and validated against the query schema if it exists\n\t */\n\tquery: InferQuery<Options>;\n\t/**\n\t * Params\n\t *\n\t * If the path is `/user/:id` and the request is `/user/1` then the params will\n\t * be `{ id: \"1\" }` and if the path includes a wildcard like `/user/*` then the\n\t * params will be `{ _: \"1\" }` where `_` is the wildcard key. If the wildcard\n\t * is named like `/user/**:name` then the params will be `{ name: string }`\n\t */\n\tparams: InferParam<Path>;\n\t/**\n\t * Request object\n\t *\n\t * If `requireRequest` is set to true in the endpoint options this will be\n\t * required\n\t */\n\trequest: InferRequest<Options>;\n\t/**\n\t * Headers\n\t *\n\t * If `requireHeaders` is set to true in the endpoint options this will be\n\t * required\n\t */\n\theaders: InferHeaders<Options>;\n\t/**\n\t * Set header\n\t *\n\t * If it's called outside of a request it will just be ignored.\n\t */\n\tsetHeader: (key: string, value: string) => void;\n\t/**\n\t * Set the response status code\n\t */\n\tsetStatus: (status: Status) => void;\n\t/**\n\t * Get header\n\t *\n\t * If it's called outside of a request it will just return null\n\t *\n\t * @param key - The key of the header\n\t * @returns\n\t */\n\tgetHeader: (key: string) => string | null;\n\t/**\n\t * Get a cookie value from the request\n\t *\n\t * @param key - The key of the cookie\n\t * @param prefix - The prefix of the cookie between `__Secure-` and `__Host-`\n\t * @returns - The value of the cookie\n\t */\n\tgetCookie: (key: string, prefix?: CookiePrefixOptions) => string | null;\n\t/**\n\t * Get a signed cookie value from the request\n\t *\n\t * @param key - The key of the cookie\n\t * @param secret - The secret of the signed cookie\n\t * @param prefix - The prefix of the cookie between `__Secure-` and `__Host-`\n\t * @returns - The value of the cookie or null if the cookie is not found or false if the signature is invalid\n\t */\n\tgetSignedCookie: (\n\t\tkey: string,\n\t\tsecret: string,\n\t\tprefix?: CookiePrefixOptions,\n\t) => Promise<string | null | false>;\n\t/**\n\t * Set a cookie value in the response\n\t *\n\t * @param key - The key of the cookie\n\t * @param value - The value to set\n\t * @param options - The options of the cookie\n\t * @returns - The cookie string\n\t */\n\tsetCookie: (key: string, value: string, options?: CookieOptions) => string;\n\t/**\n\t * Set signed cookie\n\t *\n\t * @param key - The key of the cookie\n\t * @param value - The value to set\n\t * @param secret - The secret to sign the cookie with\n\t * @param options - The options of the cookie\n\t * @returns - The cookie string\n\t */\n\tsetSignedCookie: (\n\t\tkey: string,\n\t\tvalue: string,\n\t\tsecret: string,\n\t\toptions?: CookieOptions,\n\t) => Promise<string>;\n\t/**\n\t * JSON\n\t *\n\t * a helper function to create a JSON response with\n\t * the correct headers\n\t * and status code. If `asResponse` is set to true in\n\t * the context then\n\t * it will return a Response object instead of the\n\t * JSON object.\n\t *\n\t * @param json - The JSON object to return\n\t * @param routerResponse - The response object to\n\t * return if `asResponse` is\n\t * true in the context this will take precedence\n\t */\n\tjson: <R extends Record<string, any> | null>(\n\t\tjson: R,\n\t\trouterResponse?:\n\t\t\t| {\n\t\t\t\t\tstatus?: number;\n\t\t\t\t\theaders?: Record<string, string>;\n\t\t\t\t\tresponse?: Response;\n\t\t\t\t\tbody?: Record<string, string>;\n\t\t\t }\n\t\t\t| Response,\n\t) => Promise<R>;\n\t/**\n\t * Middleware context\n\t */\n\tcontext: Prettify<Context & InferUse<Options[\"use\"]>>;\n\t/**\n\t * Redirect to a new URL\n\t */\n\tredirect: (url: string) => APIError;\n\t/**\n\t * Return error\n\t */\n\terror: (\n\t\tstatus: keyof typeof statusCodes | Status,\n\t\tbody?: {\n\t\t\tmessage?: string;\n\t\t\tcode?: string;\n\t\t} & Record<string, any>,\n\t\theaders?: HeadersInit,\n\t) => APIError;\n};\n\ntype ExtractBody<E extends EndpointBodyMethodOptions> = E extends {\n\tmethod: (\"POST\" | \"PUT\" | \"DELETE\" | \"PATCH\" | \"GET\" | \"HEAD\")[];\n\tbody?: StandardSchemaV1<infer B>;\n}\n\t? E extends {\n\t\t\tmethod: infer M;\n\t\t\tbody?: StandardSchemaV1<B>;\n\t\t}\n\t\t? { method: M; body: StandardSchemaV1<B> }\n\t\t: never\n\t: E extends {\n\t\t\t\tmethod:\n\t\t\t\t\t| \"POST\"\n\t\t\t\t\t| \"PUT\"\n\t\t\t\t\t| \"DELETE\"\n\t\t\t\t\t| \"PATCH\"\n\t\t\t\t\t| (\"POST\" | \"PUT\" | \"DELETE\" | \"PATCH\")[];\n\t\t\t\tbody?: StandardSchemaV1<infer B>;\n\t\t\t}\n\t\t? E extends {\n\t\t\t\tmethod: infer M;\n\t\t\t\tbody?: StandardSchemaV1<B>;\n\t\t\t}\n\t\t\t? { method: M; body: StandardSchemaV1<B> }\n\t\t\t: never\n\t\t: E extends {\n\t\t\t\t\tmethod: \"*\";\n\t\t\t\t\tbody?: StandardSchemaV1<infer B>;\n\t\t\t\t}\n\t\t\t? {\n\t\t\t\t\tmethod: \"*\";\n\t\t\t\t\tbody?: StandardSchemaV1<B>;\n\t\t\t\t}\n\t\t\t: E extends {\n\t\t\t\t\t\tmethod: \"GET\" | \"HEAD\" | (\"GET\" | \"HEAD\")[];\n\t\t\t\t\t\tbody?: never;\n\t\t\t\t\t}\n\t\t\t\t? E extends { method: infer M }\n\t\t\t\t\t? { method: M }\n\t\t\t\t\t: never\n\t\t\t\t: never;\ntype ExtractError<E extends EndpointOptions> = E extends {\n\terror?: StandardSchemaV1<infer Err>;\n}\n\t? {\n\t\t\terror: StandardSchemaV1<Err>;\n\t\t}\n\t: {};\ntype ExtractQuery<E extends EndpointOptions> = E extends {\n\tquery?: StandardSchemaV1<infer Q>;\n}\n\t? {\n\t\t\tquery: StandardSchemaV1<Q>;\n\t\t}\n\t: {};\n\ntype ExtractOthers<E extends EndpointOptions> = Pick<\n\tE,\n\tExclude<keyof E, \"method\" | \"body\" | \"query\" | \"error\">\n>;\n\n/**\n * DO NOT EXPORT THIS TYPE\n */\ntype ExtractStandSchema<E extends EndpointOptions> = ExtractOthers<E> &\n\tExtractBody<E> &\n\tExtractQuery<E> &\n\tExtractError<E>;\n\nexport type EndpointHandler<\n\tPath extends string,\n\tOptions extends EndpointOptions,\n\tR,\n> = (context: EndpointContext<Path, Options>) => Promise<R>;\n\nexport function createEndpoint<\n\tPath extends string,\n\tOptions extends EndpointOptions,\n\tR,\n>(\n\tpath: Path,\n\toptions: Options,\n\thandler: EndpointHandler<Path, Options, R>,\n): StrictEndpoint<Path, ExtractStandSchema<Options>, R>;\n\nexport function createEndpoint<Options extends EndpointOptions, R>(\n\toptions: Options,\n\thandler: EndpointHandler<never, Options, R>,\n): StrictEndpoint<never, ExtractStandSchema<Options>, R>;\n\nexport function createEndpoint<\n\tPath extends string,\n\tOptions extends EndpointOptions,\n\tR,\n>(\n\tpathOrOptions: Path | Options,\n\thandlerOrOptions: EndpointHandler<Path, Options, R> | Options,\n\thandlerOrNever?: any,\n): StrictEndpoint<Path, ExtractStandSchema<Options>, R> {\n\tconst path: string | undefined =\n\t\ttypeof pathOrOptions === \"string\" ? pathOrOptions : undefined;\n\tconst options: Options =\n\t\ttypeof handlerOrOptions === \"object\"\n\t\t\t? handlerOrOptions\n\t\t\t: (pathOrOptions as Options);\n\tconst handler: EndpointHandler<Path, Options, R> =\n\t\ttypeof handlerOrOptions === \"function\" ? handlerOrOptions : handlerOrNever;\n\n\tif ((options.method === \"GET\" || options.method === \"HEAD\") && options.body) {\n\t\tthrow new BetterCallError(\"Body is not allowed with GET or HEAD methods\");\n\t}\n\n\tif (path && /\\/{2,}/.test(path)) {\n\t\tthrow new BetterCallError(\"Path cannot contain consecutive slashes\");\n\t}\n\ttype Context = InputContext<Path, Options>;\n\n\ttype ResultType<\n\t\tAsResponse extends boolean,\n\t\tReturnHeaders extends boolean,\n\t\tReturnStatus extends boolean,\n\t> = AsResponse extends true\n\t\t? Response\n\t\t: ReturnHeaders extends true\n\t\t\t? ReturnStatus extends true\n\t\t\t\t? {\n\t\t\t\t\t\theaders: Headers;\n\t\t\t\t\t\tstatus: number;\n\t\t\t\t\t\tresponse: Awaited<R>;\n\t\t\t\t\t}\n\t\t\t\t: {\n\t\t\t\t\t\theaders: Headers;\n\t\t\t\t\t\tresponse: Awaited<R>;\n\t\t\t\t\t}\n\t\t\t: ReturnStatus extends true\n\t\t\t\t? {\n\t\t\t\t\t\tstatus: number;\n\t\t\t\t\t\tresponse: Awaited<R>;\n\t\t\t\t\t}\n\t\t\t\t: Awaited<R>;\n\n\tconst internalHandler = async <\n\t\tAsResponse extends boolean = false,\n\t\tReturnHeaders extends boolean = false,\n\t\tReturnStatus extends boolean = false,\n\t>(\n\t\t...inputCtx: HasRequiredKeys<Context> extends true\n\t\t\t? [\n\t\t\t\t\tContext & {\n\t\t\t\t\t\tasResponse?: AsResponse;\n\t\t\t\t\t\treturnHeaders?: ReturnHeaders;\n\t\t\t\t\t\treturnStatus?: ReturnStatus;\n\t\t\t\t\t},\n\t\t\t\t]\n\t\t\t: [\n\t\t\t\t\t(Context & {\n\t\t\t\t\t\tasResponse?: AsResponse;\n\t\t\t\t\t\treturnHeaders?: ReturnHeaders;\n\t\t\t\t\t\treturnStatus?: ReturnStatus;\n\t\t\t\t\t})?,\n\t\t\t\t]\n\t): Promise<ResultType<AsResponse, ReturnHeaders, ReturnStatus>> => {\n\t\tconst context = (inputCtx[0] || {}) as InputContext<any, any>;\n\t\tconst { data: internalContext, error: validationError } = await tryCatch(\n\t\t\tcreateInternalContext(context, {\n\t\t\t\toptions,\n\t\t\t\tpath,\n\t\t\t}),\n\t\t);\n\n\t\tif (validationError) {\n\t\t\t// If it's not a validation error, we throw it\n\t\t\tif (!(validationError instanceof ValidationError)) throw validationError;\n\n\t\t\t// Check if the endpoint has a custom onValidationError callback\n\t\t\tif (options.onValidationError) {\n\t\t\t\t// This can possibly throw an APIError in order to customize the validation error message\n\t\t\t\tawait options.onValidationError({\n\t\t\t\t\tmessage: validationError.message,\n\t\t\t\t\tissues: validationError.issues,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tthrow new APIError(400, {\n\t\t\t\tmessage: validationError.message,\n\t\t\t\tcode: \"VALIDATION_ERROR\",\n\t\t\t});\n\t\t}\n\t\tconst response = await handler(internalContext as any).catch(async (e) => {\n\t\t\tif (isAPIError(e)) {\n\t\t\t\tconst onAPIError = options.onAPIError;\n\t\t\t\tif (onAPIError) {\n\t\t\t\t\tawait onAPIError(e);\n\t\t\t\t}\n\t\t\t\tif (context.asResponse) {\n\t\t\t\t\treturn e;\n\t\t\t\t}\n\t\t\t}\n\t\t\tthrow e;\n\t\t});\n\t\tconst headers = internalContext.responseHeaders;\n\t\tconst status = internalContext.responseStatus;\n\n\t\treturn (\n\t\t\tcontext.asResponse\n\t\t\t\t? toResponse(response, {\n\t\t\t\t\t\theaders,\n\t\t\t\t\t\tstatus,\n\t\t\t\t\t})\n\t\t\t\t: context.returnHeaders\n\t\t\t\t\t? context.returnStatus\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\theaders,\n\t\t\t\t\t\t\t\tresponse,\n\t\t\t\t\t\t\t\tstatus,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\theaders,\n\t\t\t\t\t\t\t\tresponse,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t: context.returnStatus\n\t\t\t\t\t\t? { response, status }\n\t\t\t\t\t\t: response\n\t\t) as ResultType<AsResponse, ReturnHeaders, ReturnStatus>;\n\t};\n\tinternalHandler.options = options;\n\tinternalHandler.path = path;\n\treturn internalHandler as unknown as StrictEndpoint<\n\t\tPath,\n\t\tExtractStandSchema<Options>,\n\t\tR\n\t>;\n}\n\ncreateEndpoint.create = <E extends { use?: Middleware[] }>(opts?: E) => {\n\treturn <\n\t\tPath extends string,\n\t\tOpts extends EndpointOptions,\n\t\tR extends Promise<any>,\n\t>(\n\t\tpath: Path,\n\t\toptions: Opts,\n\t\thandler: (ctx: EndpointContext<Path, Opts, InferUse<E[\"use\"]>>) => R,\n\t) => {\n\t\treturn createEndpoint(\n\t\t\tpath,\n\t\t\t{\n\t\t\t\t...options,\n\t\t\t\tuse: [...(options?.use || []), ...(opts?.use || [])],\n\t\t\t},\n\t\t\thandler,\n\t\t);\n\t};\n};\n\nexport type StrictEndpoint<\n\tPath extends string,\n\tOptions extends EndpointOptions,\n\tR = any,\n> = {\n\t// asResponse cases\n\t(\n\t\tcontext: InputContext<Path, Options> & { asResponse: true },\n\t): Promise<Response>;\n\n\t// returnHeaders & returnStatus cases\n\t(\n\t\tcontext: InputContext<Path, Options> & {\n\t\t\treturnHeaders: true;\n\t\t\treturnStatus: true;\n\t\t},\n\t): Promise<{ headers: Headers; status: number; response: Awaited<R> }>;\n\t(\n\t\tcontext: InputContext<Path, Options> & {\n\t\t\treturnHeaders: true;\n\t\t\treturnStatus: false;\n\t\t},\n\t): Promise<{ headers: Headers; response: Awaited<R> }>;\n\t(\n\t\tcontext: InputContext<Path, Options> & {\n\t\t\treturnHeaders: false;\n\t\t\treturnStatus: true;\n\t\t},\n\t): Promise<{ status: number; response: Awaited<R> }>;\n\t(\n\t\tcontext: InputContext<Path, Options> & {\n\t\t\treturnHeaders: false;\n\t\t\treturnStatus: false;\n\t\t},\n\t): Promise<R>;\n\n\t// individual flag cases\n\t(\n\t\tcontext: InputContext<Path, Options> & { returnHeaders: true },\n\t): Promise<{ headers: Headers; response: Awaited<R> }>;\n\t(\n\t\tcontext: InputContext<Path, Options> & { returnStatus: true },\n\t): Promise<{ status: number; response: Awaited<R> }>;\n\n\t// default case\n\t(context?: InputContext<Path, Options>): Promise<R>;\n\n\toptions: Options;\n\tpath: Path;\n};\n\nexport type Endpoint<\n\tPath extends string = string,\n\tOptions extends EndpointOptions = EndpointOptions,\n\tHandler extends (inputCtx: any) => Promise<any> = (\n\t\tinputCtx: any,\n\t) => Promise<any>,\n> = Handler & {\n\toptions: Options;\n\tpath: Path;\n};\n"],"mappings":";;;;;;AA4fA,SAAgB,eAKf,eACA,kBACA,gBACuD;CACvD,MAAM,OACL,OAAO,kBAAkB,WAAW,gBAAgB;CACrD,MAAM,UACL,OAAO,qBAAqB,WACzB,mBACC;CACL,MAAM,UACL,OAAO,qBAAqB,aAAa,mBAAmB;AAE7D,MAAK,QAAQ,WAAW,SAAS,QAAQ,WAAW,WAAW,QAAQ,KACtE,OAAM,IAAI,gBAAgB,+CAA+C;AAG1E,KAAI,QAAQ,SAAS,KAAK,KAAK,CAC9B,OAAM,IAAI,gBAAgB,0CAA0C;CA4BrE,MAAM,kBAAkB,OAKvB,GAAG,aAe+D;EAClE,MAAM,UAAW,SAAS,MAAM,EAAE;EAClC,MAAM,EAAE,MAAM,iBAAiB,OAAO,oBAAoB,MAAM,SAC/D,sBAAsB,SAAS;GAC9B;GACA;GACA,CAAC,CACF;AAED,MAAI,iBAAiB;AAEpB,OAAI,EAAE,2BAA2B,iBAAkB,OAAM;AAGzD,OAAI,QAAQ,kBAEX,OAAM,QAAQ,kBAAkB;IAC/B,SAAS,gBAAgB;IACzB,QAAQ,gBAAgB;IACxB,CAAC;AAGH,SAAM,IAAI,SAAS,KAAK;IACvB,SAAS,gBAAgB;IACzB,MAAM;IACN,CAAC;;EAEH,MAAM,WAAW,MAAM,QAAQ,gBAAuB,CAAC,MAAM,OAAO,MAAM;AACzE,OAAI,WAAW,EAAE,EAAE;IAClB,MAAM,aAAa,QAAQ;AAC3B,QAAI,WACH,OAAM,WAAW,EAAE;AAEpB,QAAI,QAAQ,WACX,QAAO;;AAGT,SAAM;IACL;EACF,MAAM,UAAU,gBAAgB;EAChC,MAAM,SAAS,gBAAgB;AAE/B,SACC,QAAQ,aACL,WAAW,UAAU;GACrB;GACA;GACA,CAAC,GACD,QAAQ,gBACP,QAAQ,eACP;GACA;GACA;GACA;GACA,GACA;GACA;GACA;GACA,GACD,QAAQ,eACP;GAAE;GAAU;GAAQ,GACpB;;AAGP,iBAAgB,UAAU;AAC1B,iBAAgB,OAAO;AACvB,QAAO;;AAOR,eAAe,UAA4C,SAAa;AACvE,SAKC,MACA,SACA,YACI;AACJ,SAAO,eACN,MACA;GACC,GAAG;GACH,KAAK,CAAC,GAAI,SAAS,OAAO,EAAE,EAAG,GAAI,MAAM,OAAO,EAAE,CAAE;GACpD,EACD,QACA"}