@atproto/oauth-provider 0.6.6 → 0.7.0

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 (465) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/dist/access-token/access-token-mode.d.ts +5 -0
  3. package/dist/access-token/access-token-mode.d.ts.map +1 -0
  4. package/dist/access-token/access-token-mode.js +9 -0
  5. package/dist/access-token/access-token-mode.js.map +1 -0
  6. package/dist/account/account-manager.d.ts +13 -7
  7. package/dist/account/account-manager.d.ts.map +1 -1
  8. package/dist/account/account-manager.js +69 -52
  9. package/dist/account/account-manager.js.map +1 -1
  10. package/dist/account/account-store.d.ts +88 -77
  11. package/dist/account/account-store.d.ts.map +1 -1
  12. package/dist/account/account-store.js +24 -73
  13. package/dist/account/account-store.js.map +1 -1
  14. package/dist/account/sign-in-data.d.ts +4 -13
  15. package/dist/account/sign-in-data.d.ts.map +1 -1
  16. package/dist/account/sign-in-data.js +9 -9
  17. package/dist/account/sign-in-data.js.map +1 -1
  18. package/dist/account/sign-up-input.d.ts +4 -5
  19. package/dist/account/sign-up-input.d.ts.map +1 -1
  20. package/dist/account/sign-up-input.js +13 -3
  21. package/dist/account/sign-up-input.js.map +1 -1
  22. package/dist/client/client-manager.d.ts +4 -1
  23. package/dist/client/client-manager.d.ts.map +1 -1
  24. package/dist/client/client-manager.js +13 -1
  25. package/dist/client/client-manager.js.map +1 -1
  26. package/dist/client/client-store.d.ts +1 -1
  27. package/dist/client/client-store.d.ts.map +1 -1
  28. package/dist/constants.d.ts +5 -1
  29. package/dist/constants.d.ts.map +1 -1
  30. package/dist/constants.js +6 -2
  31. package/dist/constants.js.map +1 -1
  32. package/dist/customization/branding.d.ts +54 -0
  33. package/dist/customization/branding.d.ts.map +1 -0
  34. package/dist/customization/branding.js +13 -0
  35. package/dist/customization/branding.js.map +1 -0
  36. package/dist/customization/build-customization-css.d.ts +3 -0
  37. package/dist/customization/build-customization-css.d.ts.map +1 -0
  38. package/dist/customization/build-customization-css.js +27 -0
  39. package/dist/customization/build-customization-css.js.map +1 -0
  40. package/dist/customization/build-customization-data.d.ts +4 -0
  41. package/dist/customization/build-customization-data.d.ts.map +1 -0
  42. package/dist/customization/build-customization-data.js +18 -0
  43. package/dist/customization/build-customization-data.js.map +1 -0
  44. package/dist/customization/colors.d.ts +7 -0
  45. package/dist/customization/colors.d.ts.map +1 -0
  46. package/dist/customization/colors.js +27 -0
  47. package/dist/customization/colors.js.map +1 -0
  48. package/dist/customization/customization.d.ts +129 -0
  49. package/dist/customization/customization.d.ts.map +1 -0
  50. package/dist/customization/customization.js +26 -0
  51. package/dist/customization/customization.js.map +1 -0
  52. package/dist/customization/links.d.ts +26 -0
  53. package/dist/customization/links.d.ts.map +1 -0
  54. package/dist/customization/links.js +12 -0
  55. package/dist/customization/links.js.map +1 -0
  56. package/dist/device/device-id.d.ts +1 -0
  57. package/dist/device/device-id.d.ts.map +1 -1
  58. package/dist/device/device-id.js +4 -0
  59. package/dist/device/device-id.js.map +1 -1
  60. package/dist/device/device-manager.d.ts +6 -36
  61. package/dist/device/device-manager.d.ts.map +1 -1
  62. package/dist/device/device-manager.js +49 -43
  63. package/dist/device/device-manager.js.map +1 -1
  64. package/dist/device/device-store.d.ts +1 -0
  65. package/dist/device/device-store.d.ts.map +1 -1
  66. package/dist/device/device-store.js.map +1 -1
  67. package/dist/dpop/dpop-manager.d.ts +3 -3
  68. package/dist/dpop/dpop-nonce.d.ts +3 -3
  69. package/dist/dpop/dpop-nonce.d.ts.map +1 -1
  70. package/dist/errors/access-denied-error.d.ts +4 -3
  71. package/dist/errors/access-denied-error.d.ts.map +1 -1
  72. package/dist/errors/access-denied-error.js +5 -6
  73. package/dist/errors/access-denied-error.js.map +1 -1
  74. package/dist/{output/build-error-payload.d.ts → errors/error-parser.d.ts} +1 -1
  75. package/dist/errors/error-parser.d.ts.map +1 -0
  76. package/dist/{output/build-error-payload.js → errors/error-parser.js} +2 -2
  77. package/dist/errors/error-parser.js.map +1 -0
  78. package/dist/errors/invalid-grant-error.d.ts +1 -0
  79. package/dist/errors/invalid-grant-error.d.ts.map +1 -1
  80. package/dist/errors/invalid-grant-error.js +5 -0
  81. package/dist/errors/invalid-grant-error.js.map +1 -1
  82. package/dist/errors/login-required-error.d.ts +1 -0
  83. package/dist/errors/login-required-error.d.ts.map +1 -1
  84. package/dist/errors/login-required-error.js +5 -0
  85. package/dist/errors/login-required-error.js.map +1 -1
  86. package/dist/index.d.ts +1 -0
  87. package/dist/index.d.ts.map +1 -1
  88. package/dist/index.js +1 -0
  89. package/dist/index.js.map +1 -1
  90. package/dist/lib/html/build-document.d.ts +2 -2
  91. package/dist/lib/html/build-document.d.ts.map +1 -1
  92. package/dist/lib/html/build-document.js +4 -0
  93. package/dist/lib/html/build-document.js.map +1 -1
  94. package/dist/lib/html/hydration-data.d.ts +4 -0
  95. package/dist/lib/html/hydration-data.d.ts.map +1 -0
  96. package/dist/{output/backend-data.js → lib/html/hydration-data.js} +8 -8
  97. package/dist/lib/html/hydration-data.js.map +1 -0
  98. package/dist/lib/html/tags.d.ts +1 -1
  99. package/dist/lib/html/tags.d.ts.map +1 -1
  100. package/dist/lib/html/tags.js +1 -1
  101. package/dist/lib/html/tags.js.map +1 -1
  102. package/dist/lib/http/accept.d.ts +2 -2
  103. package/dist/lib/http/accept.d.ts.map +1 -1
  104. package/dist/lib/http/accept.js +1 -1
  105. package/dist/lib/http/accept.js.map +1 -1
  106. package/dist/lib/http/context.d.ts +2 -4
  107. package/dist/lib/http/context.d.ts.map +1 -1
  108. package/dist/lib/http/context.js +29 -4
  109. package/dist/lib/http/context.js.map +1 -1
  110. package/dist/lib/http/headers.d.ts +3 -0
  111. package/dist/lib/http/headers.d.ts.map +1 -0
  112. package/dist/lib/http/headers.js +14 -0
  113. package/dist/lib/http/headers.js.map +1 -0
  114. package/dist/lib/http/index.d.ts +1 -0
  115. package/dist/lib/http/index.d.ts.map +1 -1
  116. package/dist/lib/http/index.js +1 -0
  117. package/dist/lib/http/index.js.map +1 -1
  118. package/dist/lib/http/middleware.d.ts +1 -1
  119. package/dist/lib/http/middleware.d.ts.map +1 -1
  120. package/dist/lib/http/middleware.js +8 -24
  121. package/dist/lib/http/middleware.js.map +1 -1
  122. package/dist/lib/http/parser.d.ts +3 -3
  123. package/dist/lib/http/parser.d.ts.map +1 -1
  124. package/dist/lib/http/request.d.ts +13 -9
  125. package/dist/lib/http/request.d.ts.map +1 -1
  126. package/dist/lib/http/request.js +27 -49
  127. package/dist/lib/http/request.js.map +1 -1
  128. package/dist/lib/http/response.d.ts +6 -2
  129. package/dist/lib/http/response.d.ts.map +1 -1
  130. package/dist/lib/http/response.js +31 -11
  131. package/dist/lib/http/response.js.map +1 -1
  132. package/dist/lib/http/route.d.ts +3 -3
  133. package/dist/lib/http/route.d.ts.map +1 -1
  134. package/dist/lib/http/route.js +1 -1
  135. package/dist/lib/http/route.js.map +1 -1
  136. package/dist/lib/http/router.d.ts +12 -11
  137. package/dist/lib/http/router.d.ts.map +1 -1
  138. package/dist/lib/http/router.js +26 -34
  139. package/dist/lib/http/router.js.map +1 -1
  140. package/dist/lib/http/security-headers.js +1 -1
  141. package/dist/lib/http/security-headers.js.map +1 -1
  142. package/dist/lib/http/stream.d.ts +3 -3
  143. package/dist/lib/http/stream.d.ts.map +1 -1
  144. package/dist/lib/http/types.d.ts +1 -1
  145. package/dist/lib/http/types.d.ts.map +1 -1
  146. package/dist/lib/send-web-page.d.ts +8 -0
  147. package/dist/lib/send-web-page.d.ts.map +1 -0
  148. package/dist/{output → lib}/send-web-page.js +9 -7
  149. package/dist/lib/send-web-page.js.map +1 -0
  150. package/dist/lib/util/authorization-header.d.ts.map +1 -1
  151. package/dist/lib/util/color.d.ts +32 -0
  152. package/dist/lib/util/color.d.ts.map +1 -0
  153. package/dist/lib/util/color.js +116 -0
  154. package/dist/lib/util/color.js.map +1 -0
  155. package/dist/lib/util/crypto.d.ts +1 -0
  156. package/dist/lib/util/crypto.d.ts.map +1 -1
  157. package/dist/lib/util/crypto.js +8 -3
  158. package/dist/lib/util/crypto.js.map +1 -1
  159. package/dist/lib/util/function.d.ts +1 -0
  160. package/dist/lib/util/function.d.ts.map +1 -1
  161. package/dist/lib/util/function.js +12 -0
  162. package/dist/lib/util/function.js.map +1 -1
  163. package/dist/lib/util/locale.d.ts +20 -0
  164. package/dist/lib/util/locale.d.ts.map +1 -0
  165. package/dist/lib/util/locale.js +14 -0
  166. package/dist/lib/util/locale.js.map +1 -0
  167. package/dist/lib/util/time.d.ts +1 -1
  168. package/dist/lib/util/time.d.ts.map +1 -1
  169. package/dist/lib/util/time.js +1 -1
  170. package/dist/lib/util/time.js.map +1 -1
  171. package/dist/lib/util/type.d.ts +22 -0
  172. package/dist/lib/util/type.d.ts.map +1 -1
  173. package/dist/lib/util/type.js.map +1 -1
  174. package/dist/lib/util/ui8.d.ts +4 -0
  175. package/dist/lib/util/ui8.d.ts.map +1 -0
  176. package/dist/lib/util/ui8.js +17 -0
  177. package/dist/lib/util/ui8.js.map +1 -0
  178. package/dist/lib/util/zod-error.d.ts +2 -0
  179. package/dist/lib/util/zod-error.d.ts.map +1 -0
  180. package/dist/lib/util/zod-error.js +16 -0
  181. package/dist/lib/util/zod-error.js.map +1 -0
  182. package/dist/oauth-errors.d.ts +22 -22
  183. package/dist/oauth-errors.d.ts.map +1 -1
  184. package/dist/oauth-errors.js +37 -45
  185. package/dist/oauth-errors.js.map +1 -1
  186. package/dist/oauth-hooks.d.ts +11 -23
  187. package/dist/oauth-hooks.d.ts.map +1 -1
  188. package/dist/oauth-hooks.js.map +1 -1
  189. package/dist/oauth-middleware.d.ts +12 -0
  190. package/dist/oauth-middleware.d.ts.map +1 -0
  191. package/dist/oauth-middleware.js +32 -0
  192. package/dist/oauth-middleware.js.map +1 -0
  193. package/dist/oauth-provider.d.ts +109 -113
  194. package/dist/oauth-provider.d.ts.map +1 -1
  195. package/dist/oauth-provider.js +124 -542
  196. package/dist/oauth-provider.js.map +1 -1
  197. package/dist/oauth-verifier.d.ts +7 -26
  198. package/dist/oauth-verifier.d.ts.map +1 -1
  199. package/dist/oauth-verifier.js +6 -16
  200. package/dist/oauth-verifier.js.map +1 -1
  201. package/dist/request/code.d.ts.map +1 -1
  202. package/dist/request/request-data.d.ts +2 -4
  203. package/dist/request/request-data.d.ts.map +1 -1
  204. package/dist/request/request-data.js.map +1 -1
  205. package/dist/request/request-manager.d.ts +4 -2
  206. package/dist/request/request-manager.d.ts.map +1 -1
  207. package/dist/request/request-manager.js +9 -8
  208. package/dist/request/request-manager.js.map +1 -1
  209. package/dist/request/request-store.d.ts +6 -0
  210. package/dist/request/request-store.d.ts.map +1 -1
  211. package/dist/request/request-store.js +3 -1
  212. package/dist/request/request-store.js.map +1 -1
  213. package/dist/result/authorization-redirect-parameters.d.ts +18 -0
  214. package/dist/result/authorization-redirect-parameters.d.ts.map +1 -0
  215. package/dist/result/authorization-redirect-parameters.js +3 -0
  216. package/dist/result/authorization-redirect-parameters.js.map +1 -0
  217. package/dist/result/authorization-result-authorize-page.d.ts +13 -0
  218. package/dist/result/authorization-result-authorize-page.d.ts.map +1 -0
  219. package/dist/result/authorization-result-authorize-page.js +3 -0
  220. package/dist/result/authorization-result-authorize-page.js.map +1 -0
  221. package/dist/result/authorization-result-redirect.d.ts +8 -0
  222. package/dist/result/authorization-result-redirect.d.ts.map +1 -0
  223. package/dist/result/authorization-result-redirect.js +3 -0
  224. package/dist/result/authorization-result-redirect.js.map +1 -0
  225. package/dist/router/assets/assets-manifest.d.ts +10 -0
  226. package/dist/router/assets/assets-manifest.d.ts.map +1 -0
  227. package/dist/router/assets/assets-manifest.js +77 -0
  228. package/dist/router/assets/assets-manifest.js.map +1 -0
  229. package/dist/router/assets/assets.d.ts +16 -0
  230. package/dist/router/assets/assets.d.ts.map +1 -0
  231. package/dist/router/assets/assets.js +43 -0
  232. package/dist/router/assets/assets.js.map +1 -0
  233. package/dist/router/assets/csrf.d.ts +4 -0
  234. package/dist/router/assets/csrf.d.ts.map +1 -0
  235. package/dist/router/assets/csrf.js +51 -0
  236. package/dist/router/assets/csrf.js.map +1 -0
  237. package/dist/router/assets/send-account-page.d.ts +7 -0
  238. package/dist/router/assets/send-account-page.d.ts.map +1 -0
  239. package/dist/router/assets/send-account-page.js +34 -0
  240. package/dist/router/assets/send-account-page.js.map +1 -0
  241. package/dist/router/assets/send-authorization-page.d.ts +5 -0
  242. package/dist/router/assets/send-authorization-page.d.ts.map +1 -0
  243. package/dist/router/assets/send-authorization-page.js +49 -0
  244. package/dist/router/assets/send-authorization-page.js.map +1 -0
  245. package/dist/router/assets/send-error-page.d.ts +4 -0
  246. package/dist/router/assets/send-error-page.d.ts.map +1 -0
  247. package/dist/router/assets/send-error-page.js +34 -0
  248. package/dist/router/assets/send-error-page.js.map +1 -0
  249. package/dist/router/create-account-page-middleware.d.ts +6 -0
  250. package/dist/router/create-account-page-middleware.d.ts.map +1 -0
  251. package/dist/router/create-account-page-middleware.js +39 -0
  252. package/dist/router/create-account-page-middleware.js.map +1 -0
  253. package/dist/router/create-api-middleware.d.ts +8 -0
  254. package/dist/router/create-api-middleware.d.ts.map +1 -0
  255. package/dist/router/create-api-middleware.js +501 -0
  256. package/dist/router/create-api-middleware.js.map +1 -0
  257. package/dist/router/create-authorization-page-middleware.d.ts +6 -0
  258. package/dist/router/create-authorization-page-middleware.d.ts.map +1 -0
  259. package/dist/router/create-authorization-page-middleware.js +104 -0
  260. package/dist/router/create-authorization-page-middleware.js.map +1 -0
  261. package/dist/router/create-oauth-middleware.d.ts +6 -0
  262. package/dist/router/create-oauth-middleware.d.ts.map +1 -0
  263. package/dist/router/create-oauth-middleware.js +142 -0
  264. package/dist/router/create-oauth-middleware.js.map +1 -0
  265. package/dist/router/error-handler.d.ts +3 -0
  266. package/dist/router/error-handler.d.ts.map +1 -0
  267. package/dist/{account/account.js → router/error-handler.js} +1 -1
  268. package/dist/router/error-handler.js.map +1 -0
  269. package/dist/router/middleware-options.d.ts +6 -0
  270. package/dist/router/middleware-options.d.ts.map +1 -0
  271. package/dist/router/middleware-options.js +3 -0
  272. package/dist/router/middleware-options.js.map +1 -0
  273. package/dist/router/send-redirect.d.ts +16 -0
  274. package/dist/router/send-redirect.d.ts.map +1 -0
  275. package/dist/{output/send-authorize-redirect.js → router/send-redirect.js} +40 -24
  276. package/dist/router/send-redirect.js.map +1 -0
  277. package/dist/{token/token-claims.d.ts → signer/api-token-payload.d.ts} +237 -232
  278. package/dist/signer/api-token-payload.d.ts.map +1 -0
  279. package/dist/signer/api-token-payload.js +17 -0
  280. package/dist/signer/api-token-payload.js.map +1 -0
  281. package/dist/signer/signed-token-payload.d.ts +164 -159
  282. package/dist/signer/signed-token-payload.d.ts.map +1 -1
  283. package/dist/signer/signed-token-payload.js +10 -16
  284. package/dist/signer/signed-token-payload.js.map +1 -1
  285. package/dist/signer/signer.d.ts +42 -11246
  286. package/dist/signer/signer.d.ts.map +1 -1
  287. package/dist/signer/signer.js +30 -15
  288. package/dist/signer/signer.js.map +1 -1
  289. package/dist/token/refresh-token.d.ts.map +1 -1
  290. package/dist/token/token-data.d.ts +1 -1
  291. package/dist/token/token-data.d.ts.map +1 -1
  292. package/dist/token/token-id.d.ts.map +1 -1
  293. package/dist/token/token-manager.d.ts +28 -26
  294. package/dist/token/token-manager.d.ts.map +1 -1
  295. package/dist/token/token-manager.js +138 -196
  296. package/dist/token/token-manager.js.map +1 -1
  297. package/dist/token/token-store.d.ts +4 -4
  298. package/dist/token/token-store.d.ts.map +1 -1
  299. package/dist/token/token-store.js +1 -0
  300. package/dist/token/token-store.js.map +1 -1
  301. package/dist/token/verify-token-claims.d.ts +3 -3
  302. package/dist/token/verify-token-claims.d.ts.map +1 -1
  303. package/dist/token/verify-token-claims.js +1 -1
  304. package/dist/token/verify-token-claims.js.map +1 -1
  305. package/dist/types/email-otp.d.ts +3 -0
  306. package/dist/types/email-otp.d.ts.map +1 -0
  307. package/dist/types/email-otp.js +6 -0
  308. package/dist/types/email-otp.js.map +1 -0
  309. package/dist/types/email.d.ts +3 -0
  310. package/dist/types/email.d.ts.map +1 -0
  311. package/dist/types/email.js +29 -0
  312. package/dist/types/email.js.map +1 -0
  313. package/dist/types/handle.d.ts +3 -0
  314. package/dist/types/handle.d.ts.map +1 -0
  315. package/dist/types/handle.js +22 -0
  316. package/dist/types/handle.js.map +1 -0
  317. package/dist/types/invite-code.d.ts +4 -0
  318. package/dist/types/invite-code.d.ts.map +1 -0
  319. package/dist/types/invite-code.js +6 -0
  320. package/dist/types/invite-code.js.map +1 -0
  321. package/dist/types/password.d.ts +4 -0
  322. package/dist/types/password.d.ts.map +1 -0
  323. package/dist/types/password.js +7 -0
  324. package/dist/types/password.js.map +1 -0
  325. package/package.json +10 -7
  326. package/src/access-token/access-token-mode.ts +4 -0
  327. package/src/account/account-manager.ts +105 -75
  328. package/src/account/account-store.ts +118 -114
  329. package/src/account/sign-in-data.ts +10 -10
  330. package/src/account/sign-up-input.ts +13 -4
  331. package/src/client/client-manager.ts +34 -2
  332. package/src/client/client-store.ts +1 -1
  333. package/src/constants.ts +6 -1
  334. package/src/customization/branding.ts +12 -0
  335. package/src/customization/build-customization-css.ts +30 -0
  336. package/src/customization/build-customization-data.ts +22 -0
  337. package/src/customization/colors.ts +30 -0
  338. package/src/customization/customization.ts +25 -0
  339. package/src/customization/links.ts +10 -0
  340. package/src/device/device-id.ts +5 -0
  341. package/src/device/device-manager.ts +76 -66
  342. package/src/device/device-store.ts +2 -0
  343. package/src/errors/access-denied-error.ts +24 -17
  344. package/src/{output/build-error-payload.ts → errors/error-parser.ts} +1 -1
  345. package/src/errors/invalid-grant-error.ts +5 -0
  346. package/src/errors/login-required-error.ts +10 -0
  347. package/src/index.ts +1 -0
  348. package/src/lib/html/build-document.ts +6 -4
  349. package/src/{output/backend-data.ts → lib/html/hydration-data.ts} +7 -5
  350. package/src/lib/html/tags.ts +2 -2
  351. package/src/lib/http/accept.ts +3 -3
  352. package/src/lib/http/context.ts +41 -10
  353. package/src/lib/http/headers.ts +15 -0
  354. package/src/lib/http/index.ts +1 -0
  355. package/src/lib/http/middleware.ts +8 -23
  356. package/src/lib/http/request.ts +40 -75
  357. package/src/lib/http/response.ts +39 -15
  358. package/src/lib/http/route.ts +8 -5
  359. package/src/lib/http/router.ts +40 -46
  360. package/src/lib/http/security-headers.ts +1 -1
  361. package/src/lib/http/types.ts +1 -6
  362. package/src/{output → lib}/send-web-page.ts +10 -9
  363. package/src/lib/util/color.ts +132 -0
  364. package/src/lib/util/crypto.ts +9 -4
  365. package/src/lib/util/function.ts +14 -0
  366. package/src/lib/util/locale.ts +18 -0
  367. package/src/lib/util/time.ts +3 -4
  368. package/src/lib/util/type.ts +24 -0
  369. package/src/lib/util/ui8.ts +14 -0
  370. package/src/lib/util/zod-error.ts +14 -0
  371. package/src/oauth-errors.ts +22 -22
  372. package/src/oauth-hooks.ts +11 -24
  373. package/src/oauth-middleware.ts +53 -0
  374. package/src/oauth-provider.ts +290 -1061
  375. package/src/oauth-verifier.ts +9 -55
  376. package/src/request/request-data.ts +5 -4
  377. package/src/request/request-manager.ts +11 -11
  378. package/src/request/request-store.ts +7 -0
  379. package/src/result/authorization-redirect-parameters.ts +24 -0
  380. package/src/result/authorization-result-authorize-page.ts +14 -0
  381. package/src/result/authorization-result-redirect.ts +8 -0
  382. package/src/router/assets/assets-manifest.ts +108 -0
  383. package/src/router/assets/assets.ts +54 -0
  384. package/src/router/assets/csrf.ts +63 -0
  385. package/src/router/assets/send-account-page.ts +43 -0
  386. package/src/router/assets/send-authorization-page.ts +62 -0
  387. package/src/router/assets/send-error-page.ts +42 -0
  388. package/src/router/create-account-page-middleware.ts +69 -0
  389. package/src/router/create-api-middleware.ts +814 -0
  390. package/src/router/create-authorization-page-middleware.ts +173 -0
  391. package/src/router/create-oauth-middleware.ts +247 -0
  392. package/src/router/error-handler.ts +6 -0
  393. package/src/router/middleware-options.ts +9 -0
  394. package/src/router/send-redirect.ts +142 -0
  395. package/src/signer/api-token-payload.ts +18 -0
  396. package/src/signer/signed-token-payload.ts +18 -28
  397. package/src/signer/signer.ts +49 -34
  398. package/src/token/token-data.ts +1 -1
  399. package/src/token/token-manager.ts +190 -239
  400. package/src/token/token-store.ts +6 -4
  401. package/src/token/verify-token-claims.ts +4 -4
  402. package/src/types/email-otp.ts +3 -0
  403. package/src/types/email.ts +26 -0
  404. package/src/types/handle.ts +18 -0
  405. package/src/types/invite-code.ts +4 -0
  406. package/src/types/password.ts +4 -0
  407. package/tsconfig.build.tsbuildinfo +1 -0
  408. package/tsconfig.json +1 -1
  409. package/dist/access-token/access-token-type.d.ts +0 -6
  410. package/dist/access-token/access-token-type.d.ts.map +0 -1
  411. package/dist/access-token/access-token-type.js +0 -10
  412. package/dist/access-token/access-token-type.js.map +0 -1
  413. package/dist/account/account.d.ts +0 -2
  414. package/dist/account/account.d.ts.map +0 -1
  415. package/dist/account/account.js.map +0 -1
  416. package/dist/assets/assets-middleware.d.ts +0 -5
  417. package/dist/assets/assets-middleware.d.ts.map +0 -1
  418. package/dist/assets/assets-middleware.js +0 -41
  419. package/dist/assets/assets-middleware.js.map +0 -1
  420. package/dist/lib/locale.d.ts +0 -15
  421. package/dist/lib/locale.d.ts.map +0 -1
  422. package/dist/lib/locale.js +0 -17
  423. package/dist/lib/locale.js.map +0 -1
  424. package/dist/output/backend-data.d.ts +0 -4
  425. package/dist/output/backend-data.d.ts.map +0 -1
  426. package/dist/output/backend-data.js.map +0 -1
  427. package/dist/output/build-authorize-data.d.ts +0 -29
  428. package/dist/output/build-authorize-data.d.ts.map +0 -1
  429. package/dist/output/build-authorize-data.js +0 -21
  430. package/dist/output/build-authorize-data.js.map +0 -1
  431. package/dist/output/build-customization-data.d.ts +0 -234
  432. package/dist/output/build-customization-data.d.ts.map +0 -1
  433. package/dist/output/build-customization-data.js +0 -174
  434. package/dist/output/build-customization-data.js.map +0 -1
  435. package/dist/output/build-error-data.d.ts +0 -3
  436. package/dist/output/build-error-data.d.ts.map +0 -1
  437. package/dist/output/build-error-data.js +0 -10
  438. package/dist/output/build-error-data.js.map +0 -1
  439. package/dist/output/build-error-payload.d.ts.map +0 -1
  440. package/dist/output/build-error-payload.js.map +0 -1
  441. package/dist/output/output-manager.d.ts +0 -28
  442. package/dist/output/output-manager.d.ts.map +0 -1
  443. package/dist/output/output-manager.js +0 -134
  444. package/dist/output/output-manager.js.map +0 -1
  445. package/dist/output/send-authorize-redirect.d.ts +0 -25
  446. package/dist/output/send-authorize-redirect.d.ts.map +0 -1
  447. package/dist/output/send-authorize-redirect.js.map +0 -1
  448. package/dist/output/send-web-page.d.ts +0 -8
  449. package/dist/output/send-web-page.d.ts.map +0 -1
  450. package/dist/output/send-web-page.js.map +0 -1
  451. package/dist/token/token-claims.d.ts.map +0 -1
  452. package/dist/token/token-claims.js +0 -27
  453. package/dist/token/token-claims.js.map +0 -1
  454. package/src/access-token/access-token-type.ts +0 -5
  455. package/src/account/account.ts +0 -1
  456. package/src/assets/assets-middleware.ts +0 -44
  457. package/src/lib/locale.ts +0 -21
  458. package/src/output/build-authorize-data.ts +0 -53
  459. package/src/output/build-customization-data.ts +0 -217
  460. package/src/output/build-error-data.ts +0 -8
  461. package/src/output/output-manager.ts +0 -188
  462. package/src/output/send-authorize-redirect.ts +0 -137
  463. package/src/token/token-claims.ts +0 -30
  464. package/tsconfig.backend.tsbuildinfo +0 -1
  465. /package/{tsconfig.backend.json → tsconfig.build.json} +0 -0
@@ -1,8 +1,9 @@
1
- import { OAuthAuthorizationRequestParameters } from '@atproto/oauth-types';
1
+ import { OAuthAuthenticationErrorResponse, OAuthAuthorizationRequestParameters, OidcAuthenticationErrorResponse } from '@atproto/oauth-types';
2
2
  import { OAuthError } from './oauth-error.js';
3
+ export type AuthenticationErrorResponse = OAuthAuthenticationErrorResponse | OidcAuthenticationErrorResponse | 'invalid_authorization_details';
3
4
  export declare class AccessDeniedError extends OAuthError {
4
5
  readonly parameters: OAuthAuthorizationRequestParameters;
5
- constructor(parameters: OAuthAuthorizationRequestParameters, error_description: string, error?: string, cause?: unknown);
6
- static from(parameters: OAuthAuthorizationRequestParameters, cause?: unknown, fallbackError?: string): AccessDeniedError;
6
+ constructor(parameters: OAuthAuthorizationRequestParameters, error_description: string, error?: AuthenticationErrorResponse, cause?: unknown);
7
+ static from(parameters: OAuthAuthorizationRequestParameters, cause: unknown, error: AuthenticationErrorResponse): AccessDeniedError;
7
8
  }
8
9
  //# sourceMappingURL=access-denied-error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"access-denied-error.d.ts","sourceRoot":"","sources":["../../src/errors/access-denied-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mCAAmC,EAAE,MAAM,sBAAsB,CAAA;AAE1E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,qBAAa,iBAAkB,SAAQ,UAAU;aAE7B,UAAU,EAAE,mCAAmC;gBAA/C,UAAU,EAAE,mCAAmC,EAC/D,iBAAiB,EAAE,MAAM,EACzB,KAAK,SAAkB,EACvB,KAAK,CAAC,EAAE,OAAO;IAKjB,MAAM,CAAC,IAAI,CACT,UAAU,EAAE,mCAAmC,EAC/C,KAAK,CAAC,EAAE,OAAO,EACf,aAAa,CAAC,EAAE,MAAM;CAczB"}
1
+ {"version":3,"file":"access-denied-error.d.ts","sourceRoot":"","sources":["../../src/errors/access-denied-error.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,mCAAmC,EACnC,+BAA+B,EAChC,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,MAAM,MAAM,2BAA2B,GACnC,gCAAgC,GAIhC,+BAA+B,GAI/B,+BAA+B,CAAA;AAEnC,qBAAa,iBAAkB,SAAQ,UAAU;aAE7B,UAAU,EAAE,mCAAmC;gBAA/C,UAAU,EAAE,mCAAmC,EAC/D,iBAAiB,EAAE,MAAM,EACzB,KAAK,GAAE,2BAA6C,EACpD,KAAK,CAAC,EAAE,OAAO;IAKjB,MAAM,CAAC,IAAI,CACT,UAAU,EAAE,mCAAmC,EAC/C,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,2BAA2B,GACjC,iBAAiB;CAKrB"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AccessDeniedError = void 0;
4
- const build_error_payload_js_1 = require("../output/build-error-payload.js");
4
+ const error_parser_js_1 = require("./error-parser.js");
5
5
  const oauth_error_js_1 = require("./oauth-error.js");
6
6
  class AccessDeniedError extends oauth_error_js_1.OAuthError {
7
7
  parameters;
@@ -9,12 +9,11 @@ class AccessDeniedError extends oauth_error_js_1.OAuthError {
9
9
  super(error, error_description, 400, cause);
10
10
  this.parameters = parameters;
11
11
  }
12
- static from(parameters, cause, fallbackError) {
13
- if (cause && cause instanceof AccessDeniedError) {
12
+ static from(parameters, cause, error) {
13
+ if (cause instanceof AccessDeniedError)
14
14
  return cause;
15
- }
16
- const { error, error_description } = (0, build_error_payload_js_1.buildErrorPayload)(cause);
17
- return new AccessDeniedError(parameters, error_description, fallbackError ?? error, cause);
15
+ const { error_description } = (0, error_parser_js_1.buildErrorPayload)(cause);
16
+ return new AccessDeniedError(parameters, error_description, error, cause);
18
17
  }
19
18
  }
20
19
  exports.AccessDeniedError = AccessDeniedError;
@@ -1 +1 @@
1
- {"version":3,"file":"access-denied-error.js","sourceRoot":"","sources":["../../src/errors/access-denied-error.ts"],"names":[],"mappings":";;;AACA,6EAAoE;AACpE,qDAA6C;AAE7C,MAAa,iBAAkB,SAAQ,2BAAU;IAE7B;IADlB,YACkB,UAA+C,EAC/D,iBAAyB,EACzB,KAAK,GAAG,eAAe,EACvB,KAAe;QAEf,KAAK,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;QAL3B,eAAU,GAAV,UAAU,CAAqC;IAMjE,CAAC;IAED,MAAM,CAAC,IAAI,CACT,UAA+C,EAC/C,KAAe,EACf,aAAsB;QAEtB,IAAI,KAAK,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;YAChD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,IAAA,0CAAiB,EAAC,KAAK,CAAC,CAAA;QAC7D,OAAO,IAAI,iBAAiB,CAC1B,UAAU,EACV,iBAAiB,EACjB,aAAa,IAAI,KAAK,EACtB,KAAK,CACN,CAAA;IACH,CAAC;CACF;AA3BD,8CA2BC"}
1
+ {"version":3,"file":"access-denied-error.js","sourceRoot":"","sources":["../../src/errors/access-denied-error.ts"],"names":[],"mappings":";;;AAKA,uDAAqD;AACrD,qDAA6C;AAa7C,MAAa,iBAAkB,SAAQ,2BAAU;IAE7B;IADlB,YACkB,UAA+C,EAC/D,iBAAyB,EACzB,QAAqC,eAAe,EACpD,KAAe;QAEf,KAAK,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;QAL3B,eAAU,GAAV,UAAU,CAAqC;IAMjE,CAAC;IAED,MAAM,CAAC,IAAI,CACT,UAA+C,EAC/C,KAAc,EACd,KAAkC;QAElC,IAAI,KAAK,YAAY,iBAAiB;YAAE,OAAO,KAAK,CAAA;QACpD,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAA,mCAAiB,EAAC,KAAK,CAAC,CAAA;QACtD,OAAO,IAAI,iBAAiB,CAAC,UAAU,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;IAC3E,CAAC;CACF;AAnBD,8CAmBC"}
@@ -4,4 +4,4 @@ export type ErrorPayload = {
4
4
  error_description: string;
5
5
  };
6
6
  export declare function buildErrorPayload(error: unknown): ErrorPayload;
7
- //# sourceMappingURL=build-error-payload.d.ts.map
7
+ //# sourceMappingURL=error-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-parser.d.ts","sourceRoot":"","sources":["../../src/errors/error-parser.ts"],"names":[],"mappings":"AAUA,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAwCvD;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,iBAAiB,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAqD9D"}
@@ -5,7 +5,7 @@ exports.buildErrorPayload = buildErrorPayload;
5
5
  const jose_1 = require("jose");
6
6
  const zod_1 = require("zod");
7
7
  const jwk_1 = require("@atproto/jwk");
8
- const oauth_error_js_1 = require("../errors/oauth-error.js");
8
+ const oauth_error_js_1 = require("./oauth-error.js");
9
9
  const { JOSEError } = jose_1.errors;
10
10
  const INVALID_REQUEST = 'invalid_request';
11
11
  const SERVER_ERROR = 'server_error';
@@ -105,4 +105,4 @@ function isPayloadLike(v) {
105
105
  typeof v['error'] === 'string' &&
106
106
  typeof v['message'] === 'string');
107
107
  }
108
- //# sourceMappingURL=build-error-payload.js.map
108
+ //# sourceMappingURL=error-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-parser.js","sourceRoot":"","sources":["../../src/errors/error-parser.ts"],"names":[],"mappings":"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"}
@@ -10,5 +10,6 @@ import { OAuthError } from './oauth-error.js';
10
10
  */
11
11
  export declare class InvalidGrantError extends OAuthError {
12
12
  constructor(error_description: string, cause?: unknown);
13
+ static from(err: unknown, error_description: string): InvalidGrantError;
13
14
  }
14
15
  //# sourceMappingURL=invalid-grant-error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"invalid-grant-error.d.ts","sourceRoot":"","sources":["../../src/errors/invalid-grant-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C;;;;;;;;GAQG;AACH,qBAAa,iBAAkB,SAAQ,UAAU;gBACnC,iBAAiB,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAGvD"}
1
+ {"version":3,"file":"invalid-grant-error.d.ts","sourceRoot":"","sources":["../../src/errors/invalid-grant-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C;;;;;;;;GAQG;AACH,qBAAa,iBAAkB,SAAQ,UAAU;gBACnC,iBAAiB,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;IAItD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,GAAG,iBAAiB;CAIxE"}
@@ -15,6 +15,11 @@ class InvalidGrantError extends oauth_error_js_1.OAuthError {
15
15
  constructor(error_description, cause) {
16
16
  super('invalid_grant', error_description, 400, cause);
17
17
  }
18
+ static from(err, error_description) {
19
+ if (err instanceof InvalidGrantError)
20
+ return err;
21
+ return new InvalidGrantError(error_description, err);
22
+ }
18
23
  }
19
24
  exports.InvalidGrantError = InvalidGrantError;
20
25
  //# sourceMappingURL=invalid-grant-error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"invalid-grant-error.js","sourceRoot":"","sources":["../../src/errors/invalid-grant-error.ts"],"names":[],"mappings":";;;AAAA,qDAA6C;AAE7C;;;;;;;;GAQG;AACH,MAAa,iBAAkB,SAAQ,2BAAU;IAC/C,YAAY,iBAAyB,EAAE,KAAe;QACpD,KAAK,CAAC,eAAe,EAAE,iBAAiB,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;IACvD,CAAC;CACF;AAJD,8CAIC"}
1
+ {"version":3,"file":"invalid-grant-error.js","sourceRoot":"","sources":["../../src/errors/invalid-grant-error.ts"],"names":[],"mappings":";;;AAAA,qDAA6C;AAE7C;;;;;;;;GAQG;AACH,MAAa,iBAAkB,SAAQ,2BAAU;IAC/C,YAAY,iBAAyB,EAAE,KAAe;QACpD,KAAK,CAAC,eAAe,EAAE,iBAAiB,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;IACvD,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,GAAY,EAAE,iBAAyB;QACjD,IAAI,GAAG,YAAY,iBAAiB;YAAE,OAAO,GAAG,CAAA;QAChD,OAAO,IAAI,iBAAiB,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAA;IACtD,CAAC;CACF;AATD,8CASC"}
@@ -2,5 +2,6 @@ import { OAuthAuthorizationRequestParameters } from '@atproto/oauth-types';
2
2
  import { AccessDeniedError } from './access-denied-error.js';
3
3
  export declare class LoginRequiredError extends AccessDeniedError {
4
4
  constructor(parameters: OAuthAuthorizationRequestParameters, error_description?: string, cause?: unknown);
5
+ static from(parameters: OAuthAuthorizationRequestParameters, cause?: unknown, fallbackError?: string): LoginRequiredError;
5
6
  }
6
7
  //# sourceMappingURL=login-required-error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"login-required-error.d.ts","sourceRoot":"","sources":["../../src/errors/login-required-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mCAAmC,EAAE,MAAM,sBAAsB,CAAA;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAE5D,qBAAa,kBAAmB,SAAQ,iBAAiB;gBAErD,UAAU,EAAE,mCAAmC,EAC/C,iBAAiB,SAAsB,EACvC,KAAK,CAAC,EAAE,OAAO;CAIlB"}
1
+ {"version":3,"file":"login-required-error.d.ts","sourceRoot":"","sources":["../../src/errors/login-required-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mCAAmC,EAAE,MAAM,sBAAsB,CAAA;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAE5D,qBAAa,kBAAmB,SAAQ,iBAAiB;gBAErD,UAAU,EAAE,mCAAmC,EAC/C,iBAAiB,SAAsB,EACvC,KAAK,CAAC,EAAE,OAAO;IAKjB,MAAM,CAAC,IAAI,CACT,UAAU,EAAE,mCAAmC,EAC/C,KAAK,CAAC,EAAE,OAAO,EACf,aAAa,CAAC,EAAE,MAAM,GACrB,kBAAkB;CAKtB"}
@@ -6,6 +6,11 @@ class LoginRequiredError extends access_denied_error_js_1.AccessDeniedError {
6
6
  constructor(parameters, error_description = 'Login is required', cause) {
7
7
  super(parameters, error_description, 'login_required', cause);
8
8
  }
9
+ static from(parameters, cause, fallbackError) {
10
+ if (cause instanceof LoginRequiredError)
11
+ return cause;
12
+ return new LoginRequiredError(parameters, fallbackError, cause);
13
+ }
9
14
  }
10
15
  exports.LoginRequiredError = LoginRequiredError;
11
16
  //# sourceMappingURL=login-required-error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"login-required-error.js","sourceRoot":"","sources":["../../src/errors/login-required-error.ts"],"names":[],"mappings":";;;AACA,qEAA4D;AAE5D,MAAa,kBAAmB,SAAQ,0CAAiB;IACvD,YACE,UAA+C,EAC/C,iBAAiB,GAAG,mBAAmB,EACvC,KAAe;QAEf,KAAK,CAAC,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAA;IAC/D,CAAC;CACF;AARD,gDAQC"}
1
+ {"version":3,"file":"login-required-error.js","sourceRoot":"","sources":["../../src/errors/login-required-error.ts"],"names":[],"mappings":";;;AACA,qEAA4D;AAE5D,MAAa,kBAAmB,SAAQ,0CAAiB;IACvD,YACE,UAA+C,EAC/C,iBAAiB,GAAG,mBAAmB,EACvC,KAAe;QAEf,KAAK,CAAC,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAA;IAC/D,CAAC;IAED,MAAM,CAAC,IAAI,CACT,UAA+C,EAC/C,KAAe,EACf,aAAsB;QAEtB,IAAI,KAAK,YAAY,kBAAkB;YAAE,OAAO,KAAK,CAAA;QAErD,OAAO,IAAI,kBAAkB,CAAC,UAAU,EAAE,aAAa,EAAE,KAAK,CAAC,CAAA;IACjE,CAAC;CACF;AAlBD,gDAkBC"}
package/dist/index.d.ts CHANGED
@@ -8,6 +8,7 @@ export * from './oauth-client.js';
8
8
  export * from './oauth-dpop.js';
9
9
  export * from './oauth-errors.js';
10
10
  export * from './oauth-hooks.js';
11
+ export * from './oauth-middleware.js';
11
12
  export * from './oauth-provider.js';
12
13
  export * from './oauth-store.js';
13
14
  export * from './oauth-verifier.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AAEpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AAEpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA"}
package/dist/index.js CHANGED
@@ -25,6 +25,7 @@ __exportStar(require("./oauth-client.js"), exports);
25
25
  __exportStar(require("./oauth-dpop.js"), exports);
26
26
  __exportStar(require("./oauth-errors.js"), exports);
27
27
  __exportStar(require("./oauth-hooks.js"), exports);
28
+ __exportStar(require("./oauth-middleware.js"), exports);
28
29
  __exportStar(require("./oauth-provider.js"), exports);
29
30
  __exportStar(require("./oauth-store.js"), exports);
30
31
  __exportStar(require("./oauth-verifier.js"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAqD;AACrD,sDAAmC;AACnC,2DAAwC;AACxC,+CAA4B;AAC5B,oDAAiC;AACjC,uDAAoC;AAEpC,iDAA8B;AAC9B,oDAAiC;AACjC,kDAA+B;AAC/B,oDAAiC;AACjC,mDAAgC;AAChC,sDAAmC;AACnC,mDAAgC;AAChC,sDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAqD;AACrD,sDAAmC;AACnC,2DAAwC;AACxC,+CAA4B;AAC5B,oDAAiC;AACjC,uDAAoC;AAEpC,iDAA8B;AAC9B,oDAAiC;AACjC,kDAA+B;AAC/B,oDAAiC;AACjC,mDAAgC;AAChC,wDAAqC;AACrC,sDAAmC;AACnC,mDAAgC;AAChC,sDAAmC"}
@@ -29,8 +29,8 @@ export type BuildDocumentOptions = {
29
29
  preloads?: readonly AssetRef[];
30
30
  head?: HtmlValue;
31
31
  title?: HtmlValue;
32
- scripts?: readonly (Html | AssetRef)[];
33
- styles?: readonly (Html | AssetRef)[];
32
+ scripts?: readonly (Html | AssetRef | undefined)[];
33
+ styles?: readonly (Html | AssetRef | undefined)[];
34
34
  body?: HtmlValue;
35
35
  bodyAttrs?: Attrs;
36
36
  };
@@ -1 +1 @@
1
- {"version":3,"file":"build-document.d.ts","sourceRoot":"","sources":["../../../src/lib/html/build-document.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAGhC,MAAM,MAAM,QAAQ,GAAG;IACrB,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC,CAAA;AAEhE;;GAEG;AACH,QAAA,MAAM,uBAAuB,+RAwBlB,CAAA;AACX,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAA;AAC9D,eAAO,MAAM,SAAS,QAAS,OAAO,KAAG,GAAG,IAAI,OACe,CAAA;AAE/D,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,OAAO,CAAA;CACb,CAAA;AACD,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAO7C,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,CAAC,EAAE,KAAK,CAAA;IACjB,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,IAAI,CAAC,EAAE,SAAS,SAAS,EAAE,CAAA;IAC3B,KAAK,CAAC,EAAE,SAAS,SAAS,EAAE,CAAA;IAC5B,QAAQ,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAA;IAC9B,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,OAAO,CAAC,EAAE,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAA;IACtC,MAAM,CAAC,EAAE,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAA;IACrC,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,SAAS,CAAC,EAAE,KAAK,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,aAAa,+FAYvB,oBAAoB,SAcf,CAAA"}
1
+ {"version":3,"file":"build-document.d.ts","sourceRoot":"","sources":["../../../src/lib/html/build-document.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAGhC,MAAM,MAAM,QAAQ,GAAG;IACrB,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC,CAAA;AAEhE;;GAEG;AACH,QAAA,MAAM,uBAAuB,+RAwBlB,CAAA;AACX,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAA;AAC9D,eAAO,MAAM,SAAS,GAAI,KAAK,OAAO,KAAG,GAAG,IAAI,OACe,CAAA;AAE/D,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,OAAO,CAAA;CACb,CAAA;AACD,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAO7C,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,CAAC,EAAE,KAAK,CAAA;IACjB,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,IAAI,CAAC,EAAE,SAAS,SAAS,EAAE,CAAA;IAC3B,KAAK,CAAC,EAAE,SAAS,SAAS,EAAE,CAAA;IAC5B,QAAQ,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAA;IAC9B,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,OAAO,CAAC,EAAE,SAAS,CAAC,IAAI,GAAG,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAA;IAClD,MAAM,CAAC,EAAE,SAAS,CAAC,IAAI,GAAG,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAA;IACjD,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,SAAS,CAAC,EAAE,KAAK,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,4FAY3B,oBAAoB,SAcf,CAAA"}
@@ -87,12 +87,16 @@ function linkPreload(asset) {
87
87
  return undefined;
88
88
  }
89
89
  function scriptToHtml(script) {
90
+ if (script == null)
91
+ return undefined;
90
92
  return script instanceof html_js_1.Html
91
93
  ? // prettier-ignore
92
94
  (0, tags_js_1.html) `<script>${script}</script>` // hash validity requires no space around the content
93
95
  : (0, tags_js_1.html) `<script type="module" src="${script.url}"></script>`;
94
96
  }
95
97
  function styleToHtml(style) {
98
+ if (style == null)
99
+ return undefined;
96
100
  return style instanceof html_js_1.Html
97
101
  ? // prettier-ignore
98
102
  (0, tags_js_1.html) `<style>${style}</style>` // hash validity requires no space around the content
@@ -1 +1 @@
1
- {"version":3,"file":"build-document.js","sourceRoot":"","sources":["../../../src/lib/html/build-document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-document.js","sourceRoot":"","sources":["../../../src/lib/html/build-document.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Html } from './index.js';
2
+ export declare function declareHydrationData<T extends Record<string, unknown>>(values: T): Html;
3
+ export declare function hydrationDataGenerator(values: Record<string, unknown>): Generator<Html>;
4
+ //# sourceMappingURL=hydration-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hydration-data.d.ts","sourceRoot":"","sources":["../../../src/lib/html/hydration-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAM,MAAM,YAAY,CAAA;AAErC,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpE,MAAM,EAAE,CAAC,GACR,IAAI,CAEN;AAED,wBAAiB,sBAAsB,CACrC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,SAAS,CAAC,IAAI,CAAC,CASjB"}
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.declareBackendData = declareBackendData;
4
- exports.backendDataGenerator = backendDataGenerator;
5
- const index_js_1 = require("../lib/html/index.js");
6
- function declareBackendData(values) {
7
- return index_js_1.Html.dangerouslyCreate(backendDataGenerator(values));
3
+ exports.declareHydrationData = declareHydrationData;
4
+ exports.hydrationDataGenerator = hydrationDataGenerator;
5
+ const index_js_1 = require("./index.js");
6
+ function declareHydrationData(values) {
7
+ return index_js_1.Html.dangerouslyCreate(hydrationDataGenerator(values));
8
8
  }
9
- function* backendDataGenerator(values) {
9
+ function* hydrationDataGenerator(values) {
10
10
  for (const [key, val] of Object.entries(values)) {
11
- yield (0, index_js_1.js) `window[${key}]=${val};`;
11
+ yield (0, index_js_1.js) `window[${key}]=JSON.parse(${JSON.stringify(val)});`;
12
12
  }
13
13
  // The script tag is removed after the data is assigned to the global
14
14
  // variables to prevent other scripts from reading the values. The "app"
@@ -16,4 +16,4 @@ function* backendDataGenerator(values) {
16
16
  // `readBackendData()` in "src/assets/app/backend-data.ts".
17
17
  yield (0, index_js_1.js) `document.currentScript.remove();`;
18
18
  }
19
- //# sourceMappingURL=backend-data.js.map
19
+ //# sourceMappingURL=hydration-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hydration-data.js","sourceRoot":"","sources":["../../../src/lib/html/hydration-data.ts"],"names":[],"mappings":";;AAEA,oDAIC;AAED,wDAWC;AAnBD,yCAAqC;AAErC,SAAgB,oBAAoB,CAClC,MAAS;IAET,OAAO,eAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAA;AAC/D,CAAC;AAED,QAAe,CAAC,CAAC,sBAAsB,CACrC,MAA+B;IAE/B,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,MAAM,IAAA,aAAE,EAAA,UAAU,GAAG,gBAAgB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAA;IAC9D,CAAC;IACD,qEAAqE;IACrE,wEAAwE;IACxE,8DAA8D;IAC9D,2DAA2D;IAC3D,MAAM,IAAA,aAAE,EAAA,kCAAkC,CAAA;AAC5C,CAAC"}
@@ -30,5 +30,5 @@ export declare const jsonCode: (value: unknown) => Html;
30
30
  /**
31
31
  * Escapes a value to be uses as CSS styles inside a `<style>` tag.
32
32
  */
33
- export declare const cssCode: (code: string) => Html;
33
+ export declare const cssCode: (code?: string) => Html | undefined;
34
34
  //# sourceMappingURL=tags.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../../src/lib/html/tags.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAKV,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAE,KAAK,SAAS,EAAE,CAAA;AACzB,eAAO,MAAM,IAAI,QACV,oBAAoB,UACjB,SAAS,SAAS,EAAE,SAKqB,CAAA;AAEnD;;GAEG;AACH,eAAO,MAAM,cAAc,SAAU,MAAM,SACM,CAAA;AAEjD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,EAAE,QAAS,oBAAoB,UAAU,SAAS,OAAO,EAAE,SAIJ,CAAA;AAEpE;;;;GAIG;AACH,eAAO,MAAM,QAAQ,UAAW,OAAO,SACK,CAAA;AAE5C;;GAEG;AACH,eAAO,MAAM,OAAO,SAAU,MAAM,SACM,CAAA"}
1
+ {"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../../src/lib/html/tags.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAKV,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAE,KAAK,SAAS,EAAE,CAAA;AACzB,eAAO,MAAM,IAAI,GACf,KAAK,oBAAoB,EACzB,GAAG,KAAK,SAAS,SAAS,EAAE,SAKqB,CAAA;AAEnD;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,SACM,CAAA;AAEjD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,EAAE,GAAI,KAAK,oBAAoB,EAAE,GAAG,KAAK,SAAS,OAAO,EAAE,SAIJ,CAAA;AAEpE;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,SACK,CAAA;AAE5C;;GAEG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,MAAM,qBACwB,CAAA"}
@@ -42,6 +42,6 @@ exports.jsonCode = jsonCode;
42
42
  /**
43
43
  * Escapes a value to be uses as CSS styles inside a `<style>` tag.
44
44
  */
45
- const cssCode = (code) => html_js_1.Html.dangerouslyCreate((0, escapers_js_1.cssEscaper)(code));
45
+ const cssCode = (code) => code ? html_js_1.Html.dangerouslyCreate((0, escapers_js_1.cssEscaper)(code)) : undefined;
46
46
  exports.cssCode = cssCode;
47
47
  //# sourceMappingURL=tags.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tags.js","sourceRoot":"","sources":["../../../src/lib/html/tags.ts"],"names":[],"mappings":";;;AAAA,+CAMsB;AACtB,uCAAgC;AAGzB,MAAM,IAAI,GAAG,CAClB,GAAyB,EACzB,GAAG,GAAyB,EAC5B,EAAE,CACF,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;IAClC,CAAC,CAAC,2DAA2D;QAC3D,cAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;IAC7B,CAAC,CAAC,cAAI,CAAC,iBAAiB,CAAC,IAAA,yBAAW,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;AAPtC,QAAA,IAAI,QAOkC;AAEnD;;GAEG;AACI,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE,CAC7C,cAAI,CAAC,iBAAiB,CAAC,IAAA,+BAAiB,EAAC,IAAI,CAAC,CAAC,CAAA;AADpC,QAAA,cAAc,kBACsB;AAEjD;;;;;;;;;;;;;GAaG;AACI,MAAM,EAAE,GAAG,CAAC,GAAyB,EAAE,GAAG,GAAuB,EAAE,EAAE,CAC1E,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;IAClC,CAAC,CAAC,uEAAuE;QACvE,IAAA,sBAAc,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC,CAAC,IAAA,sBAAc,EAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,gBAAQ,CAAC,CAAC,CAAC,CAAA;AAJvD,QAAA,EAAE,MAIqD;AAEpE;;;;GAIG;AACI,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAE,EAAE,CACzC,cAAI,CAAC,iBAAiB,CAAC,IAAA,yBAAW,EAAC,KAAK,CAAC,CAAC,CAAA;AAD/B,QAAA,QAAQ,YACuB;AAE5C;;GAEG;AACI,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE,CACtC,cAAI,CAAC,iBAAiB,CAAC,IAAA,wBAAU,EAAC,IAAI,CAAC,CAAC,CAAA;AAD7B,QAAA,OAAO,WACsB"}
1
+ {"version":3,"file":"tags.js","sourceRoot":"","sources":["../../../src/lib/html/tags.ts"],"names":[],"mappings":";;;AAAA,+CAMsB;AACtB,uCAAgC;AAGzB,MAAM,IAAI,GAAG,CAClB,GAAyB,EACzB,GAAG,GAAyB,EAC5B,EAAE,CACF,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;IAClC,CAAC,CAAC,2DAA2D;QAC3D,cAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;IAC7B,CAAC,CAAC,cAAI,CAAC,iBAAiB,CAAC,IAAA,yBAAW,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;AAPtC,QAAA,IAAI,QAOkC;AAEnD;;GAEG;AACI,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE,CAC7C,cAAI,CAAC,iBAAiB,CAAC,IAAA,+BAAiB,EAAC,IAAI,CAAC,CAAC,CAAA;AADpC,QAAA,cAAc,kBACsB;AAEjD;;;;;;;;;;;;;GAaG;AACI,MAAM,EAAE,GAAG,CAAC,GAAyB,EAAE,GAAG,GAAuB,EAAE,EAAE,CAC1E,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;IAClC,CAAC,CAAC,uEAAuE;QACvE,IAAA,sBAAc,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC,CAAC,IAAA,sBAAc,EAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,gBAAQ,CAAC,CAAC,CAAC,CAAA;AAJvD,QAAA,EAAE,MAIqD;AAEpE;;;;GAIG;AACI,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAE,EAAE,CACzC,cAAI,CAAC,iBAAiB,CAAC,IAAA,yBAAW,EAAC,KAAK,CAAC,CAAC,CAAA;AAD/B,QAAA,QAAQ,YACuB;AAE5C;;GAEG;AACI,MAAM,OAAO,GAAG,CAAC,IAAa,EAAE,EAAE,CACvC,IAAI,CAAC,CAAC,CAAC,cAAI,CAAC,iBAAiB,CAAC,IAAA,wBAAU,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AADhD,QAAA,OAAO,WACyC"}
@@ -1,7 +1,7 @@
1
1
  import type { IncomingMessage, ServerResponse } from 'node:http';
2
2
  import { SubCtx } from './context.js';
3
3
  import { Middleware, NextFunction } from './types.js';
4
- type View<T, D, Req extends IncomingMessage = IncomingMessage, Res extends ServerResponse = ServerResponse> = (this: SubCtx<T, {
4
+ type View<T extends object | void, D, Req extends IncomingMessage = IncomingMessage, Res extends ServerResponse = ServerResponse> = (this: SubCtx<T, {
5
5
  data: D;
6
6
  }>, req: Req, res: Res, next: NextFunction) => void | PromiseLike<void>;
7
7
  /**
@@ -25,6 +25,6 @@ type View<T, D, Req extends IncomingMessage = IncomingMessage, Res extends Serve
25
25
  * )
26
26
  * ```
27
27
  */
28
- export declare function acceptMiddleware<D, T = void, Req extends IncomingMessage = IncomingMessage, Res extends ServerResponse = ServerResponse>(controller: (this: T, req: Req, res: Res) => D | PromiseLike<D>, views: Record<string, string | View<T, D, Req, Res>>, fallback?: Middleware<T>): (this: T, req: Req, res: Res, next: NextFunction) => Promise<void>;
28
+ export declare function acceptMiddleware<D, T extends object | void = void, Req extends IncomingMessage = IncomingMessage, Res extends ServerResponse = ServerResponse>(controller: (this: T, req: Req, res: Res) => D | PromiseLike<D>, views: Record<string, string | View<T, D, Req, Res>>, fallback?: Middleware<T>): (this: T, req: Req, res: Res, next: NextFunction) => Promise<void>;
29
29
  export {};
30
30
  //# sourceMappingURL=accept.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"accept.d.ts","sourceRoot":"","sources":["../../../src/lib/http/accept.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAEhE,OAAO,EAAE,MAAM,EAAU,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAErD,KAAK,IAAI,CACP,CAAC,EACD,CAAC,EACD,GAAG,SAAS,eAAe,GAAG,eAAe,EAC7C,GAAG,SAAS,cAAc,GAAG,cAAc,IACzC,CACF,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,EAC5B,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,YAAY,KACf,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;AAE7B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,EACD,CAAC,GAAG,IAAI,EACR,GAAG,SAAS,eAAe,GAAG,eAAe,EAC7C,GAAG,SAAS,cAAc,GAAG,cAAc,EAE3C,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,EAC/D,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EACpD,QAAQ,GAAE,UAAU,CAAC,CAAC,CAAsD,GAC3E,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAuCpE"}
1
+ {"version":3,"file":"accept.d.ts","sourceRoot":"","sources":["../../../src/lib/http/accept.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAEhE,OAAO,EAAE,MAAM,EAAU,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAErD,KAAK,IAAI,CACP,CAAC,SAAS,MAAM,GAAG,IAAI,EACvB,CAAC,EACD,GAAG,SAAS,eAAe,GAAG,eAAe,EAC7C,GAAG,SAAS,cAAc,GAAG,cAAc,IACzC,CACF,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,EAC5B,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,YAAY,KACf,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;AAE7B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,EACD,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,IAAI,EAC9B,GAAG,SAAS,eAAe,GAAG,eAAe,EAC7C,GAAG,SAAS,cAAc,GAAG,cAAc,EAE3C,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,EAC/D,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EACpD,QAAQ,GAAE,UAAU,CAAC,CAAC,CAAsD,GAC3E,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAuCpE"}
@@ -47,7 +47,7 @@ function acceptMiddleware(controller, views, fallback = (req, res, _next) => voi
47
47
  throw new Error('Invalid view'); // should not happen
48
48
  if (view) {
49
49
  const data = await controller.call(this, req, res);
50
- const ctx = (0, context_js_1.subCtx)(this, 'data', data);
50
+ const ctx = (0, context_js_1.subCtx)(this, { data });
51
51
  if (type)
52
52
  res.setHeader('Content-Type', type);
53
53
  await view.call(ctx, req, res, next);
@@ -1 +1 @@
1
- {"version":3,"file":"accept.js","sourceRoot":"","sources":["../../../src/lib/http/accept.ts"],"names":[],"mappings":";;AAsCA,4CAgDC;AArFD,yCAAwC;AACxC,6CAA6C;AAe7C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAgB,gBAAgB,CAM9B,UAA+D,EAC/D,KAAoD,EACpD,WAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;IAE5E,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;IAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAE/D,8EAA8E;IAC9E,YAAY;IACZ,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC/B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,qBAAqB,IAAI,GAAG,CAAC,CAAA;QACpE,CAAC;IACH,CAAC;IAED,OAAO,KAAK,WAAW,GAAG,EAAE,GAAG,EAAE,IAAI;QACnC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAChC,CAAC,CAAC,IAAA,kBAAS,EAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,IAAI,SAAS;gBAC5D,CAAC,CAAC,EAAE,CAAA,CAAC,4CAA4C;YAEnD,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YAExD,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACvD,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA,CAAC,oBAAoB;YAElF,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;gBAClD,MAAM,GAAG,GAAG,IAAA,mBAAM,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;gBACtC,IAAI,IAAI;oBAAE,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;gBAE7C,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YACtC,CAAC;iBAAM,CAAC;gBACN,2BAA2B;gBAC3B,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YAC3C,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,WAAW;gBAAE,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;YACtD,IAAI,CAAC,GAAG,CAAC,CAAA;QACX,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"accept.js","sourceRoot":"","sources":["../../../src/lib/http/accept.ts"],"names":[],"mappings":";;AAsCA,4CAgDC;AArFD,yCAAwC;AACxC,6CAA6C;AAe7C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAgB,gBAAgB,CAM9B,UAA+D,EAC/D,KAAoD,EACpD,WAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;IAE5E,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;IAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAE/D,8EAA8E;IAC9E,YAAY;IACZ,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC/B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,qBAAqB,IAAI,GAAG,CAAC,CAAA;QACpE,CAAC;IACH,CAAC;IAED,OAAO,KAAK,WAAW,GAAG,EAAE,GAAG,EAAE,IAAI;QACnC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAChC,CAAC,CAAC,IAAA,kBAAS,EAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,IAAI,SAAS;gBAC5D,CAAC,CAAC,EAAE,CAAA,CAAC,4CAA4C;YAEnD,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YAExD,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACvD,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA,CAAC,oBAAoB;YAElF,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;gBAClD,MAAM,GAAG,GAAG,IAAA,mBAAM,EAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;gBAClC,IAAI,IAAI;oBAAE,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;gBAE7C,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YACtC,CAAC;iBAAM,CAAC;gBACN,2BAA2B;gBAC3B,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YAC3C,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,WAAW;gBAAE,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;YACtD,IAAI,CAAC,GAAG,CAAC,CAAA;QACX,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -1,5 +1,3 @@
1
- export type SubCtx<Parent, Child> = Child & Omit<Parent, keyof Child>;
2
- export declare function subCtx<T, K extends string, V>(ctx: T, key: K, value: V): SubCtx<T, {
3
- [_ in K]: V;
4
- }>;
1
+ export type SubCtx<Parent extends object | void, Child extends object> = Child & Omit<Parent, keyof Child>;
2
+ export declare function subCtx<Parent extends object | void, Child extends object>(parent: Parent, child: Child): SubCtx<Parent, Child>;
5
3
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/lib/http/context.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,CAAA;AAErE,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAAE,CAAC,EAC3C,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,CAAC,GACP,MAAM,CAAC,CAAC,EAAE;KAAG,CAAC,IAAI,CAAC,GAAG,CAAC;CAAE,CAAC,CAI5B"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/lib/http/context.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,CAAC,MAAM,SAAS,MAAM,GAAG,IAAI,EAAE,KAAK,SAAS,MAAM,IAAI,KAAK,GAC5E,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,CAAA;AAE3B,wBAAgB,MAAM,CAAC,MAAM,SAAS,MAAM,GAAG,IAAI,EAAE,KAAK,SAAS,MAAM,EACvE,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,GACX,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAyBvB"}
@@ -1,9 +1,34 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.subCtx = subCtx;
4
- function subCtx(ctx, key, value) {
5
- return Object.create(typeof ctx === 'object' ? ctx : null, {
6
- [key]: { value, enumerable: true, writable: false },
7
- });
4
+ function subCtx(parent, child) {
5
+ const proto = typeof parent === 'object' ? parent : null;
6
+ const entries = Object.entries(child);
7
+ // Optimization for small objects
8
+ switch (entries.length) {
9
+ case 0:
10
+ return Object.create(proto);
11
+ case 1: {
12
+ const e0 = entries[0];
13
+ return Object.create(proto, {
14
+ [e0[0]]: valueDescriptor(e0[1]),
15
+ });
16
+ }
17
+ case 2: {
18
+ const e0 = entries[0];
19
+ const e1 = entries[1];
20
+ return Object.create(proto, {
21
+ [e0[0]]: valueDescriptor(e0[1]),
22
+ [e1[0]]: valueDescriptor(e1[1]),
23
+ });
24
+ }
25
+ }
26
+ return Object.create(proto, Object.fromEntries(entries.map(entryToEntryDesc)));
27
+ }
28
+ function entryToEntryDesc(entry) {
29
+ return [entry[0], valueDescriptor(entry[1])];
30
+ }
31
+ function valueDescriptor(value) {
32
+ return { value, enumerable: true, writable: false };
8
33
  }
9
34
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/lib/http/context.ts"],"names":[],"mappings":";;AAEA,wBAQC;AARD,SAAgB,MAAM,CACpB,GAAM,EACN,GAAM,EACN,KAAQ;IAER,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;QACzD,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;KACpD,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/lib/http/context.ts"],"names":[],"mappings":";;AAGA,wBA4BC;AA5BD,SAAgB,MAAM,CACpB,MAAc,EACd,KAAY;IAEZ,MAAM,KAAK,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;IACxD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAErC,iCAAiC;IACjC,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;QACvB,KAAK,CAAC;YACJ,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC7B,KAAK,CAAC,CAAC,CAAC,CAAC;YACP,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YACrB,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;gBAC1B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAChC,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,CAAC,CAAC,CAAC,CAAC;YACP,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YACrB,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YACrB,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;gBAC1B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC/B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAChC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;AAChF,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAwB;IAExB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC9C,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;AACrD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ServerResponse } from 'node:http';
2
+ export declare function appendHeader(res: ServerResponse, header: string, value: string | readonly string[]): void;
3
+ //# sourceMappingURL=headers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../../../src/lib/http/headers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAE/C,wBAAgB,YAAY,CAC1B,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAChC,IAAI,CAQN"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.appendHeader = appendHeader;
4
+ function appendHeader(res, header, value) {
5
+ const existing = res.getHeader(header);
6
+ if (existing == null) {
7
+ res.setHeader(header, value);
8
+ }
9
+ else {
10
+ const arr = Array.isArray(existing) ? existing : [String(existing)];
11
+ res.setHeader(header, arr.concat(value));
12
+ }
13
+ }
14
+ //# sourceMappingURL=headers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headers.js","sourceRoot":"","sources":["../../../src/lib/http/headers.ts"],"names":[],"mappings":";;AAEA,oCAYC;AAZD,SAAgB,YAAY,CAC1B,GAAmB,EACnB,MAAc,EACd,KAAiC;IAEjC,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IACtC,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC9B,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;QACnE,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAC1C,CAAC;AACH,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export * from './accept.js';
2
2
  export * from './context.js';
3
+ export * from './headers.js';
3
4
  export * from './middleware.js';
4
5
  export * from './parser.js';
5
6
  export * from './request.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/http/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/http/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA"}
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./accept.js"), exports);
18
18
  __exportStar(require("./context.js"), exports);
19
+ __exportStar(require("./headers.js"), exports);
19
20
  __exportStar(require("./middleware.js"), exports);
20
21
  __exportStar(require("./parser.js"), exports);
21
22
  __exportStar(require("./request.js"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/http/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,+CAA4B;AAC5B,kDAA+B;AAC/B,8CAA2B;AAC3B,+CAA4B;AAC5B,gDAA6B;AAC7B,8CAA2B;AAC3B,8CAA2B;AAC3B,6CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/http/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,+CAA4B;AAC5B,+CAA4B;AAC5B,kDAA+B;AAC/B,8CAA2B;AAC3B,+CAA4B;AAC5B,gDAA6B;AAC7B,8CAA2B;AAC3B,8CAA2B;AAC3B,6CAA0B"}
@@ -9,9 +9,9 @@ export type AsHandler<M extends Middleware<any, any, any>> = M extends Middlewar
9
9
  * and handler.
10
10
  */
11
11
  export declare function asHandler<M extends Middleware<any, any, any>>(middleware: M, options?: FinalHandlerOptions): AsHandler<M>;
12
+ export declare const DEV_MODE: boolean;
12
13
  export type FinalHandlerOptions = {
13
14
  debug?: boolean;
14
15
  };
15
16
  export declare function createFinalHandler(req: IncomingMessage, res: ServerResponse, options?: FinalHandlerOptions): NextFunction;
16
- export declare function once<T extends NextFunction>(next: T): T;
17
17
  //# sourceMappingURL=middleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/lib/http/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAEhE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAI9D,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACpE,WAAW,EAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,GAAG,CAAC,CAAC,EAC3C,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACjC,CAAC,CAAA;AAuCJ,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IACvD,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,CAAC,GAC/C,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GACpB,KAAK,CAAA;AAEX;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC3D,UAAU,EAAE,CAAC,EACb,OAAO,CAAC,EAAE,mBAAmB,GASxB,SAAS,CAAC,CAAC,CAAC,CAClB;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,YAAY,CAqBd;AA4CD,wBAAgB,IAAI,CAAC,CAAC,SAAS,YAAY,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAQvD"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/lib/http/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAGhE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAI9D,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACpE,WAAW,EAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,GAAG,CAAC,CAAC,EAC3C,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACjC,CAAC,CAAA;AAkCJ,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IACvD,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,CAAC,GAC/C,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GACpB,KAAK,CAAA;AAEX;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC3D,UAAU,EAAE,CAAC,EACb,OAAO,CAAC,EAAE,mBAAmB,GASxB,SAAS,CAAC,CAAC,CAAC,CAClB;AAED,eAAO,MAAM,QAAQ,SAA4C,CAAA;AAEjE,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,YAAY,CAqBd"}
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEV_MODE = void 0;
3
4
  exports.combineMiddlewares = combineMiddlewares;
4
5
  exports.asHandler = asHandler;
5
6
  exports.createFinalHandler = createFinalHandler;
6
- exports.once = once;
7
+ const function_js_1 = require("../util/function.js");
7
8
  const response_js_1 = require("./response.js");
8
9
  const isNonNullable = (x) => x != null;
9
10
  /**
@@ -31,14 +32,8 @@ function combineMiddlewares(middlewares, { skipKeyword } = {}) {
31
32
  }
32
33
  else {
33
34
  const currentMiddleware = middlewaresArray[i++];
34
- const currentNext = once(nextMiddleware);
35
- try {
36
- const result = currentMiddleware.call(this, req, res, currentNext);
37
- Promise.resolve(result).catch(currentNext);
38
- }
39
- catch (err) {
40
- currentNext(err);
41
- }
35
+ const currentNext = (0, function_js_1.invokeOnce)(nextMiddleware);
36
+ currentMiddleware.call(this, req, res, currentNext);
42
37
  }
43
38
  };
44
39
  nextMiddleware();
@@ -49,13 +44,14 @@ function combineMiddlewares(middlewares, { skipKeyword } = {}) {
49
44
  * and handler.
50
45
  */
51
46
  function asHandler(middleware, options) {
52
- return function (req, res, next = once(createFinalHandler(req, res, options))) {
47
+ return function (req, res, next = (0, function_js_1.invokeOnce)(createFinalHandler(req, res, options))) {
53
48
  return middleware.call(this, req, res, next);
54
49
  };
55
50
  }
51
+ exports.DEV_MODE = process.env['NODE_ENV'] === 'development';
56
52
  function createFinalHandler(req, res, options) {
57
53
  return (err) => {
58
- if (err && (options?.debug ?? process.env['NODE_ENV'] === 'development')) {
54
+ if (err != null && (options?.debug ?? exports.DEV_MODE)) {
59
55
  console.error(err);
60
56
  }
61
57
  if (res.headersSent) {
@@ -90,25 +86,13 @@ function buildFallbackPayload(req, err) {
90
86
  'Unknown error'
91
87
  : 'System error'
92
88
  : `Cannot ${req.method} ${req.url}`,
93
- stack: err instanceof Error && process.env['NODE_ENV'] === 'development'
94
- ? err.stack
95
- : undefined,
89
+ stack: exports.DEV_MODE && err instanceof Error ? err.stack : undefined,
96
90
  };
97
91
  }
98
92
  function getErrorStatusCode(err) {
99
93
  const status = getProp(err, 'status', 'number') ?? getProp(err, 'statusCode', 'number');
100
94
  return status != null && status >= 400 && status < 600 ? status : 500;
101
95
  }
102
- function once(next) {
103
- let nextNullable = next;
104
- return function (err) {
105
- if (!nextNullable)
106
- throw new Error('next() called multiple times');
107
- const next = nextNullable;
108
- nextNullable = null;
109
- return next(err);
110
- };
111
- }
112
96
  function getProp(obj, key, type) {
113
97
  if (obj != null && typeof obj === 'object' && key in obj) {
114
98
  const value = obj[key];