acrylblends 0.4.1 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. package/LICENSE +73 -0
  2. package/README.md +325 -0
  3. package/docs/framework/README.md +51 -51
  4. package/docs/framework/UPSTREAM.md +1 -1
  5. package/docs/framework/agents/index.md +24 -0
  6. package/docs/framework/api/acryl.md +259 -0
  7. package/docs/framework/api/context.md +527 -0
  8. package/docs/framework/api/exception.md +80 -0
  9. package/docs/framework/api/index.md +12 -0
  10. package/docs/framework/api/presets.md +65 -0
  11. package/docs/framework/api/request.md +396 -0
  12. package/docs/framework/api/routing.md +303 -0
  13. package/docs/framework/{api-summary.md → api/summary.md} +19 -17
  14. package/docs/framework/concepts/benchmarks.md +26 -0
  15. package/docs/framework/concepts/developer-experience.md +5 -0
  16. package/docs/framework/concepts/middleware.md +21 -0
  17. package/docs/framework/concepts/motivation.md +14 -0
  18. package/docs/framework/concepts/routers.md +63 -0
  19. package/docs/framework/concepts/stacks.md +235 -0
  20. package/docs/framework/concepts/web-standard.md +37 -0
  21. package/docs/framework/{getting-started.md → cordis/acryl-in-a-cordis-app.md} +16 -16
  22. package/docs/framework/{concepts.md → cordis/concepts.md} +2 -2
  23. package/docs/framework/cordis/middleware.md +8 -0
  24. package/docs/framework/{migration-from-0-3.md → cordis/migration-from-0-3.md} +16 -13
  25. package/docs/framework/cordis/migration-from-0-4.md +14 -0
  26. package/docs/framework/{migration-from-dsh-webserver.md → cordis/migration-from-dsh-webserver.md} +13 -7
  27. package/docs/framework/{routing.md → cordis/mounting.md} +5 -108
  28. package/docs/framework/{node-server.md → cordis/node-server.md} +4 -4
  29. package/docs/framework/{surfaces.md → cordis/surfaces.md} +2 -2
  30. package/docs/framework/cordis/transport-and-cancellation.md +57 -0
  31. package/docs/framework/{validation.md → cordis/validation.md} +9 -9
  32. package/docs/framework/getting-started/basic.md +196 -0
  33. package/docs/framework/getting-started/bun.md +221 -0
  34. package/docs/framework/getting-started/nodejs.md +344 -0
  35. package/docs/framework/getting-started/other-runtimes.md +23 -0
  36. package/docs/framework/guides/best-practices.md +231 -0
  37. package/docs/framework/guides/create-acrylblends.md +79 -0
  38. package/docs/framework/guides/examples.md +3 -0
  39. package/docs/framework/guides/faq.md +19 -0
  40. package/docs/framework/guides/helpers.md +33 -0
  41. package/docs/framework/guides/jsx-dom.md +299 -0
  42. package/docs/framework/guides/jsx.md +440 -0
  43. package/docs/framework/guides/middleware.md +253 -0
  44. package/docs/framework/guides/rpc.md +886 -0
  45. package/docs/framework/guides/testing.md +133 -0
  46. package/docs/framework/guides/validation.md +383 -0
  47. package/docs/framework/helpers/accepts.md +60 -0
  48. package/docs/framework/helpers/adapter.md +87 -0
  49. package/docs/framework/helpers/conninfo.md +112 -0
  50. package/docs/framework/helpers/cookie.md +232 -0
  51. package/docs/framework/helpers/css.md +285 -0
  52. package/docs/framework/helpers/dev.md +67 -0
  53. package/docs/framework/helpers/factory.md +180 -0
  54. package/docs/framework/helpers/html.md +123 -0
  55. package/docs/framework/helpers/jwt.md +184 -0
  56. package/docs/framework/helpers/proxy.md +118 -0
  57. package/docs/framework/helpers/route.md +143 -0
  58. package/docs/framework/helpers/ssg.md +393 -0
  59. package/docs/framework/helpers/streaming.md +119 -0
  60. package/docs/framework/helpers/testing.md +101 -0
  61. package/docs/framework/helpers/websocket.md +215 -0
  62. package/docs/framework/middleware/builtin/basic-auth.md +165 -0
  63. package/docs/framework/middleware/builtin/bearer-auth.md +138 -0
  64. package/docs/framework/middleware/builtin/body-limit.md +71 -0
  65. package/docs/framework/middleware/builtin/cache.md +122 -0
  66. package/docs/framework/middleware/builtin/combine.md +94 -0
  67. package/docs/framework/middleware/builtin/compress.md +59 -0
  68. package/docs/framework/middleware/builtin/context-storage.md +78 -0
  69. package/docs/framework/middleware/builtin/cors.md +135 -0
  70. package/docs/framework/middleware/builtin/csrf.md +105 -0
  71. package/docs/framework/middleware/builtin/etag.md +54 -0
  72. package/docs/framework/middleware/builtin/ip-restriction.md +69 -0
  73. package/docs/framework/middleware/builtin/jsx-renderer.md +286 -0
  74. package/docs/framework/middleware/builtin/jwk.md +192 -0
  75. package/docs/framework/middleware/builtin/jwt.md +145 -0
  76. package/docs/framework/middleware/builtin/language.md +232 -0
  77. package/docs/framework/middleware/builtin/logger.md +74 -0
  78. package/docs/framework/middleware/builtin/loopback-only.md +31 -0
  79. package/docs/framework/middleware/builtin/method-not-allowed.md +48 -0
  80. package/docs/framework/middleware/builtin/method-override.md +80 -0
  81. package/docs/framework/middleware/builtin/mount.md +106 -0
  82. package/docs/framework/middleware/builtin/pretty-json.md +53 -0
  83. package/docs/framework/middleware/builtin/request-id.md +94 -0
  84. package/docs/framework/middleware/builtin/secure-headers.md +247 -0
  85. package/docs/framework/middleware/builtin/timeout.md +98 -0
  86. package/docs/framework/middleware/builtin/timing.md +101 -0
  87. package/docs/framework/middleware/builtin/trailing-slash.md +74 -0
  88. package/docs/framework/middleware/third-party.md +4 -0
  89. package/docs/framework/upstream.json +3 -3
  90. package/lib/accepts-XBuZPVRI.js +52 -0
  91. package/lib/accepts.d.ts +33 -0
  92. package/lib/accepts.js +2 -0
  93. package/lib/acryl-base.d.ts +2 -0
  94. package/lib/acryl-base.js +332 -0
  95. package/lib/adapter.d.ts +12 -0
  96. package/lib/adapter.js +37 -0
  97. package/lib/app-BM0rTCp7.js +26 -0
  98. package/lib/app-CmAYW1Al.d.ts +21 -0
  99. package/lib/basic-auth.d.ts +72 -0
  100. package/lib/basic-auth.js +95 -0
  101. package/lib/bearer-auth.d.ts +89 -0
  102. package/lib/bearer-auth.js +94 -0
  103. package/lib/body-limit.d.ts +42 -0
  104. package/lib/body-limit.js +66 -0
  105. package/lib/client-BHTr318g.js +266 -0
  106. package/lib/client.d.ts +3 -0
  107. package/lib/client.js +2 -0
  108. package/lib/combine.d.ts +85 -0
  109. package/lib/combine.js +137 -0
  110. package/lib/compose-BuW2B6PZ.js +50 -0
  111. package/lib/compress.d.ts +38 -0
  112. package/lib/compress.js +79 -0
  113. package/lib/connection-C7xgP1hP.js +24 -0
  114. package/lib/conninfo.d.ts +25 -0
  115. package/lib/conninfo.js +2 -0
  116. package/lib/constants-Dy7ZvN1H.js +4 -0
  117. package/lib/context-Bm7rI-oK.d.ts +1234 -0
  118. package/lib/context-DDO0cfuP.js +365 -0
  119. package/lib/context-storage.d.ts +38 -0
  120. package/lib/context-storage.js +52 -0
  121. package/lib/cookie-ClMaKDQf.d.ts +40 -0
  122. package/lib/cookie.d.ts +24 -0
  123. package/lib/cookie.js +82 -0
  124. package/lib/cors.d.ts +52 -0
  125. package/lib/cors.js +106 -0
  126. package/lib/csrf.d.ts +75 -0
  127. package/lib/csrf.js +101 -0
  128. package/lib/etag.d.ts +40 -0
  129. package/lib/etag.js +135 -0
  130. package/lib/factory.d.ts +35 -0
  131. package/lib/factory.js +30 -0
  132. package/lib/headers-tu2YYN8T.d.ts +11 -0
  133. package/lib/html.d.ts +6 -0
  134. package/lib/html.js +31 -0
  135. package/lib/http-exception.d.ts +57 -0
  136. package/lib/http-exception.js +54 -0
  137. package/lib/http-status-DaAwGAFL.d.ts +35 -0
  138. package/lib/index-B-3F4wt2.d.ts +12 -0
  139. package/lib/index-UTBmM3GX.d.ts +68 -0
  140. package/lib/index-oOClm_Xk.d.ts +45 -0
  141. package/lib/index.d.ts +5 -0
  142. package/lib/index.js +28 -0
  143. package/lib/ip-restriction.d.ts +68 -0
  144. package/lib/ip-restriction.js +166 -0
  145. package/lib/jwk.d.ts +52 -0
  146. package/lib/jwk.js +117 -0
  147. package/lib/jwt-BGJBw5AF.js +403 -0
  148. package/lib/jwt-Dg493Tai.d.ts +51 -0
  149. package/lib/jwt.d.ts +72 -0
  150. package/lib/jwt.js +115 -0
  151. package/lib/language.d.ts +88 -0
  152. package/lib/language.js +198 -0
  153. package/lib/logger.d.ts +22 -0
  154. package/lib/logger.js +54 -0
  155. package/lib/loopback-only.d.ts +45 -0
  156. package/lib/loopback-only.js +90 -0
  157. package/lib/method-not-allowed.d.ts +47 -0
  158. package/lib/method-not-allowed.js +82 -0
  159. package/lib/method-override.d.ts +46 -0
  160. package/lib/method-override.js +103 -0
  161. package/lib/mime-BQOYHl-l.d.ts +72 -0
  162. package/lib/node-server/conninfo.d.ts +11 -0
  163. package/lib/node-server/conninfo.js +19 -0
  164. package/lib/node-server/serve-static.d.ts +19 -0
  165. package/lib/node-server/serve-static.js +2 -0
  166. package/lib/node-server.d.ts +103 -0
  167. package/lib/node-server.js +1325 -0
  168. package/lib/powered-by.d.ts +28 -0
  169. package/lib/powered-by.js +24 -0
  170. package/lib/pretty-json.d.ts +40 -0
  171. package/lib/pretty-json.js +39 -0
  172. package/lib/reg-exp-router-DC1R3qoY.js +363 -0
  173. package/lib/request-id.d.ts +45 -0
  174. package/lib/request-id.js +34 -0
  175. package/lib/request.d.ts +2 -0
  176. package/lib/request.js +323 -0
  177. package/lib/route.d.ts +78 -0
  178. package/lib/route.js +126 -0
  179. package/lib/router/linear-router.d.ts +11 -0
  180. package/lib/router/linear-router.js +96 -0
  181. package/lib/router/pattern-router.d.ts +11 -0
  182. package/lib/router/pattern-router.js +41 -0
  183. package/lib/router/reg-exp-router.d.ts +35 -0
  184. package/lib/router/reg-exp-router.js +2 -0
  185. package/lib/router/smart-router.d.ts +15 -0
  186. package/lib/router/smart-router.js +2 -0
  187. package/lib/router/trie-router.d.ts +11 -0
  188. package/lib/router/trie-router.js +2 -0
  189. package/lib/router-CvUxUTOq.d.ts +99 -0
  190. package/lib/router.d.ts +2 -0
  191. package/lib/router.js +35 -0
  192. package/lib/schema-validator.d.ts +28 -0
  193. package/lib/schema-validator.js +22 -0
  194. package/lib/secure-headers.d.ts +125 -0
  195. package/lib/secure-headers.js +163 -0
  196. package/lib/serve-static-Dw_m6KxR.js +213 -0
  197. package/lib/serve-static.d.ts +31 -0
  198. package/lib/serve-static.js +77 -0
  199. package/lib/smart-router-C5CZ5XSM.js +49 -0
  200. package/lib/stream-CPdqZ0Fp.d.ts +34 -0
  201. package/lib/streaming-DHST3Scg.js +96 -0
  202. package/lib/streaming.d.ts +23 -0
  203. package/lib/streaming.js +2 -0
  204. package/lib/testing.d.ts +10 -0
  205. package/lib/testing.js +17 -0
  206. package/lib/timeout.d.ts +30 -0
  207. package/lib/timeout.js +42 -0
  208. package/lib/timing.d.ts +130 -0
  209. package/lib/timing.js +183 -0
  210. package/lib/trailing-slash.d.ts +91 -0
  211. package/lib/trailing-slash.js +85 -0
  212. package/lib/trie-router-CfFbapzL.js +146 -0
  213. package/lib/types-CDO6I3B0.d.ts +40 -0
  214. package/lib/types-CHesD1KG.d.ts +195 -0
  215. package/lib/types-CwrQjlaM.d.ts +105 -0
  216. package/lib/types-DR95J00T.d.ts +29 -0
  217. package/lib/types.d.ts +2 -0
  218. package/lib/types.js +4 -0
  219. package/lib/utils/accept.d.ts +9 -0
  220. package/lib/utils/accept.js +193 -0
  221. package/lib/utils/basic-auth.d.ts +8 -0
  222. package/lib/utils/basic-auth.js +20 -0
  223. package/lib/utils/body.d.ts +2 -0
  224. package/lib/utils/body.js +94 -0
  225. package/lib/utils/buffer.d.ts +19 -0
  226. package/lib/utils/buffer.js +51 -0
  227. package/lib/utils/color.d.ts +24 -0
  228. package/lib/utils/color.js +37 -0
  229. package/lib/utils/compress.d.ts +11 -0
  230. package/lib/utils/compress.js +11 -0
  231. package/lib/utils/concurrent.d.ts +17 -0
  232. package/lib/utils/concurrent.js +30 -0
  233. package/lib/utils/constants.d.ts +7 -0
  234. package/lib/utils/constants.js +7 -0
  235. package/lib/utils/cookie.d.ts +2 -0
  236. package/lib/utils/cookie.js +125 -0
  237. package/lib/utils/crypto.d.ts +14 -0
  238. package/lib/utils/crypto.js +34 -0
  239. package/lib/utils/encode.d.ts +11 -0
  240. package/lib/utils/encode.js +33 -0
  241. package/lib/utils/filepath.d.ts +14 -0
  242. package/lib/utils/filepath.js +25 -0
  243. package/lib/utils/handler.d.ts +9 -0
  244. package/lib/utils/handler.js +12 -0
  245. package/lib/utils/headers.d.ts +2 -0
  246. package/lib/utils/headers.js +1 -0
  247. package/lib/utils/html.d.ts +46 -0
  248. package/lib/utils/html.js +103 -0
  249. package/lib/utils/http-status.d.ts +2 -0
  250. package/lib/utils/http-status.js +1 -0
  251. package/lib/utils/ipaddr.d.ts +56 -0
  252. package/lib/utils/ipaddr.js +238 -0
  253. package/lib/utils/jwt.d.ts +24 -0
  254. package/lib/utils/jwt.js +2 -0
  255. package/lib/utils/mime.d.ts +2 -0
  256. package/lib/utils/mime.js +77 -0
  257. package/lib/utils/stream.d.ts +2 -0
  258. package/lib/utils/stream.js +88 -0
  259. package/lib/utils/types.d.ts +2 -0
  260. package/lib/utils/types.js +1 -0
  261. package/lib/utils/url.d.ts +46 -0
  262. package/lib/utils/url.js +197 -0
  263. package/lib/utils-dw8lxqjL.js +4 -0
  264. package/lib/validator-D84mq-dO.js +65 -0
  265. package/lib/validator.d.ts +42 -0
  266. package/lib/validator.js +2 -0
  267. package/lib/ws.d.ts +2 -0
  268. package/lib/ws.js +53 -0
  269. package/package.json +312 -14
  270. package/plugins/acryl-inspect/src/service.ts +2 -2
  271. package/plugins/acryl-inspect/tests/service.spec.ts +3 -3
  272. package/plugins/acryl-inspect/upstream.json +2 -2
  273. package/plugins/acryl-node-server/tests/adapter/app.ts +2 -2
  274. package/plugins/acryl-node-server/tests/adapter/assets/static/acryl.html +1 -1
  275. package/plugins/acryl-node-server/tests/adapter/assets/static/index.html +1 -1
  276. package/plugins/acryl-node-server/tests/adapter/conninfo.test.ts +2 -2
  277. package/plugins/acryl-node-server/tests/adapter/content-length.test.ts +4 -4
  278. package/plugins/acryl-node-server/tests/adapter/early-hints.test.ts +5 -5
  279. package/plugins/acryl-node-server/tests/adapter/request-client-disconnect.test.ts +2 -2
  280. package/plugins/acryl-node-server/tests/adapter/serve-static.test.ts +20 -20
  281. package/plugins/acryl-node-server/tests/adapter/server-socket.test.ts +2 -2
  282. package/plugins/acryl-node-server/tests/adapter/server.test.ts +60 -50
  283. package/plugins/acryl-node-server/tests/adapter/utils/response.test.ts +4 -4
  284. package/plugins/acryl-node-server/tests/adapter/websocket.test.ts +9 -9
  285. package/plugins/acryl-node-server/tests/server.spec.ts +6 -6
  286. package/plugins/acryl-node-server/upstream.json +2 -2
  287. package/plugins/acryl-router/src/client.ts +1 -1
  288. package/plugins/acryl-router/src/connection.ts +2 -2
  289. package/plugins/acryl-router/src/core/app-base.ts +29 -29
  290. package/plugins/acryl-router/src/core/app.test.ts +175 -175
  291. package/plugins/acryl-router/src/core/app.ts +8 -8
  292. package/plugins/acryl-router/src/core/client/client.test.ts +76 -76
  293. package/plugins/acryl-router/src/core/client/client.ts +2 -2
  294. package/plugins/acryl-router/src/core/client/fetch-result-please.ts +1 -1
  295. package/plugins/acryl-router/src/core/client/index.ts +1 -1
  296. package/plugins/acryl-router/src/core/client/types.test.ts +6 -6
  297. package/plugins/acryl-router/src/core/client/types.ts +16 -16
  298. package/plugins/acryl-router/src/core/client/utils.test.ts +2 -2
  299. package/plugins/acryl-router/src/core/context.test.ts +4 -4
  300. package/plugins/acryl-router/src/core/context.ts +6 -6
  301. package/plugins/acryl-router/src/core/helper/accepts/accepts.test.ts +3 -3
  302. package/plugins/acryl-router/src/core/helper/accepts/index.ts +1 -1
  303. package/plugins/acryl-router/src/core/helper/adapter/index.test.ts +6 -6
  304. package/plugins/acryl-router/src/core/helper/adapter/index.ts +1 -1
  305. package/plugins/acryl-router/src/core/helper/conninfo/index.ts +1 -1
  306. package/plugins/acryl-router/src/core/helper/cookie/index.test.ts +8 -8
  307. package/plugins/acryl-router/src/core/helper/cookie/index.ts +1 -1
  308. package/plugins/acryl-router/src/core/helper/factory/index.test.ts +9 -9
  309. package/plugins/acryl-router/src/core/helper/factory/index.ts +10 -10
  310. package/plugins/acryl-router/src/core/helper/html/index.test.ts +4 -4
  311. package/plugins/acryl-router/src/core/helper/html/index.ts +1 -1
  312. package/plugins/acryl-router/src/core/helper/route/index.test.ts +7 -7
  313. package/plugins/acryl-router/src/core/helper/route/index.ts +8 -8
  314. package/plugins/acryl-router/src/core/helper/streaming/index.ts +1 -1
  315. package/plugins/acryl-router/src/core/helper/testing/index.test.ts +6 -6
  316. package/plugins/acryl-router/src/core/helper/testing/index.ts +4 -4
  317. package/plugins/acryl-router/src/core/helper/websocket/index.ts +2 -1
  318. package/plugins/acryl-router/src/core/http-exception.ts +1 -1
  319. package/plugins/acryl-router/src/core/index.ts +9 -9
  320. package/plugins/acryl-router/src/core/middleware/basic-auth/index.test.ts +6 -6
  321. package/plugins/acryl-router/src/core/middleware/basic-auth/index.ts +3 -3
  322. package/plugins/acryl-router/src/core/middleware/bearer-auth/index.test.ts +5 -5
  323. package/plugins/acryl-router/src/core/middleware/bearer-auth/index.ts +3 -3
  324. package/plugins/acryl-router/src/core/middleware/body-limit/index.test.ts +6 -6
  325. package/plugins/acryl-router/src/core/middleware/body-limit/index.ts +3 -3
  326. package/plugins/acryl-router/src/core/middleware/combine/index.test.ts +9 -9
  327. package/plugins/acryl-router/src/core/middleware/combine/index.ts +7 -7
  328. package/plugins/acryl-router/src/core/middleware/compress/index.test.ts +9 -9
  329. package/plugins/acryl-router/src/core/middleware/compress/index.ts +3 -3
  330. package/plugins/acryl-router/src/core/middleware/context-storage/index.test.ts +5 -5
  331. package/plugins/acryl-router/src/core/middleware/context-storage/index.ts +4 -4
  332. package/plugins/acryl-router/src/core/middleware/cors/index.test.ts +7 -7
  333. package/plugins/acryl-router/src/core/middleware/cors/index.ts +3 -3
  334. package/plugins/acryl-router/src/core/middleware/csrf/index.test.ts +10 -10
  335. package/plugins/acryl-router/src/core/middleware/csrf/index.ts +3 -3
  336. package/plugins/acryl-router/src/core/middleware/etag/index.test.ts +42 -42
  337. package/plugins/acryl-router/src/core/middleware/etag/index.ts +4 -4
  338. package/plugins/acryl-router/src/core/middleware/ip-restriction/index.test.ts +4 -4
  339. package/plugins/acryl-router/src/core/middleware/ip-restriction/index.ts +6 -6
  340. package/plugins/acryl-router/src/core/middleware/jwk/index.test.ts +16 -16
  341. package/plugins/acryl-router/src/core/middleware/jwk/jwk.ts +7 -6
  342. package/plugins/acryl-router/src/core/middleware/jwt/index.test.ts +16 -16
  343. package/plugins/acryl-router/src/core/middleware/jwt/jwt.ts +4 -3
  344. package/plugins/acryl-router/src/core/middleware/language/index.test.ts +3 -3
  345. package/plugins/acryl-router/src/core/middleware/language/language.ts +3 -3
  346. package/plugins/acryl-router/src/core/middleware/logger/index.test.ts +5 -5
  347. package/plugins/acryl-router/src/core/middleware/logger/index.ts +4 -4
  348. package/plugins/acryl-router/src/core/middleware/method-not-allowed/index.test.ts +24 -24
  349. package/plugins/acryl-router/src/core/middleware/method-not-allowed/index.ts +8 -8
  350. package/plugins/acryl-router/src/core/middleware/method-override/index.test.ts +5 -5
  351. package/plugins/acryl-router/src/core/middleware/method-override/index.ts +6 -6
  352. package/plugins/acryl-router/src/core/middleware/powered-by/index.test.ts +4 -4
  353. package/plugins/acryl-router/src/core/middleware/powered-by/index.ts +6 -6
  354. package/plugins/acryl-router/src/core/middleware/pretty-json/index.test.ts +30 -30
  355. package/plugins/acryl-router/src/core/middleware/pretty-json/index.ts +4 -4
  356. package/plugins/acryl-router/src/core/middleware/request-id/index.test.ts +15 -15
  357. package/plugins/acryl-router/src/core/middleware/request-id/request-id.ts +3 -3
  358. package/plugins/acryl-router/src/core/middleware/secure-headers/index.test.ts +35 -35
  359. package/plugins/acryl-router/src/core/middleware/secure-headers/secure-headers.ts +3 -3
  360. package/plugins/acryl-router/src/core/middleware/serve-static/index.test.ts +23 -23
  361. package/plugins/acryl-router/src/core/middleware/serve-static/index.ts +1 -1
  362. package/plugins/acryl-router/src/core/middleware/timeout/index.test.ts +2 -2
  363. package/plugins/acryl-router/src/core/middleware/timeout/index.ts +3 -3
  364. package/plugins/acryl-router/src/core/middleware/timing/index.test.ts +14 -14
  365. package/plugins/acryl-router/src/core/middleware/timing/timing.ts +3 -3
  366. package/plugins/acryl-router/src/core/middleware/trailing-slash/index.test.ts +7 -7
  367. package/plugins/acryl-router/src/core/middleware/trailing-slash/index.ts +7 -7
  368. package/plugins/acryl-router/src/core/request.test.ts +42 -42
  369. package/plugins/acryl-router/src/core/request.ts +6 -6
  370. package/plugins/acryl-router/src/core/router/linear-router/index.ts +1 -1
  371. package/plugins/acryl-router/src/core/router/pattern-router/index.ts +1 -1
  372. package/plugins/acryl-router/src/core/router/reg-exp-router/index.ts +1 -1
  373. package/plugins/acryl-router/src/core/router/smart-router/index.ts +1 -1
  374. package/plugins/acryl-router/src/core/router/trie-router/index.ts +1 -1
  375. package/plugins/acryl-router/src/core/types.test.ts +115 -115
  376. package/plugins/acryl-router/src/core/types.ts +72 -72
  377. package/plugins/acryl-router/src/core/utils/body.ts +8 -8
  378. package/plugins/acryl-router/src/core/utils/html.ts +1 -1
  379. package/plugins/acryl-router/src/core/utils/jwt/jws.ts +3 -3
  380. package/plugins/acryl-router/src/core/utils/jwt/jwt.test.ts +2 -2
  381. package/plugins/acryl-router/src/core/utils/jwt/jwt.ts +3 -3
  382. package/plugins/acryl-router/src/core/utils/jwt/types.ts +1 -1
  383. package/plugins/acryl-router/src/core/utils/types.ts +42 -0
  384. package/plugins/acryl-router/src/core/utils/url.test.ts +2 -2
  385. package/plugins/acryl-router/src/core/validator/index.ts +1 -1
  386. package/plugins/acryl-router/src/core/validator/validator.test.ts +28 -28
  387. package/plugins/acryl-router/src/deprecated.ts +15 -0
  388. package/plugins/acryl-router/src/index.ts +3 -2
  389. package/plugins/acryl-router/src/service.ts +10 -10
  390. package/plugins/acryl-router/tests/docs-examples.spec.ts +11 -11
  391. package/plugins/acryl-router/tests/live-install.spec.ts +2 -2
  392. package/plugins/acryl-router/tests/loader.spec.ts +3 -3
  393. package/plugins/acryl-router/tests/loopback-only.spec.ts +4 -4
  394. package/plugins/acryl-router/tests/no-dom/consumer.ts +11 -0
  395. package/plugins/acryl-router/tests/no-dom/tsconfig.json +13 -0
  396. package/plugins/acryl-router/tests/service.spec.ts +23 -23
  397. package/plugins/acryl-router/upstream.json +3 -3
  398. package/plugins/acryl-router-http/tests/adapter.spec.ts +3 -3
  399. package/plugins/acryl-router-http/tests/surfaces.spec.ts +2 -2
  400. package/plugins/acryl-router-http/upstream.json +2 -2
  401. package/plugins/acryl-state/src/service.ts +2 -2
  402. package/plugins/acryl-state/upstream.json +2 -2
  403. package/plugins/builder/script.ts +2 -2
  404. package/plugins/extensions/resolve.ts +70 -10
  405. package/plugins/openai/prompt.ts +5 -5
  406. package/shared/AGENTS.core.md +16 -9
  407. package/templates/agent/src/routes.ts +2 -2
  408. package/templates/agent/test/model.test.ts +2 -2
  409. package/templates/agent/tsconfig.json +40 -0
  410. package/templates/blank/src/routes.ts +2 -2
  411. package/templates/todo/src/todo.ts +2 -2
  412. package/templates/todo/upstream.json +2 -2
  413. package/docs/framework/context.md +0 -129
  414. package/docs/framework/helpers.md +0 -118
  415. package/docs/framework/middleware.md +0 -154
  416. package/docs/framework/request.md +0 -106
  417. /package/docs/framework/{plugin-lifecycle.md → cordis/plugin-lifecycle.md} +0 -0
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable @typescript-eslint/no-unused-vars */
2
2
  import { expectTypeOf } from 'vitest'
3
3
  import { hc } from './index.ts'
4
- import { App } from '../index.ts'
4
+ import { Acryl } from '../index.ts'
5
5
  import { defineWebSocketHelper } from '../helper/websocket/index.ts'
6
6
  import type { TypedURL } from './types.ts'
7
7
 
@@ -9,7 +9,7 @@ import type { TypedURL } from './types.ts'
9
9
  const upgradeWebSocket = defineWebSocketHelper(async () => {})
10
10
 
11
11
  describe('WebSockets', () => {
12
- const app = new App()
12
+ const app = new Acryl()
13
13
  .get(
14
14
  '/ws',
15
15
  upgradeWebSocket(() => ({}))
@@ -30,7 +30,7 @@ describe('WebSockets', () => {
30
30
  })
31
31
 
32
32
  describe('without the leading slash', () => {
33
- const app = new App()
33
+ const app = new Acryl()
34
34
  .get('foo', (c) => c.json({}))
35
35
  .get('foo/bar', (c) => c.json({}))
36
36
  .get('foo/:id/baz', (c) => c.json({}))
@@ -80,7 +80,7 @@ describe('without the leading slash', () => {
80
80
  })
81
81
 
82
82
  describe('with the leading slash', () => {
83
- const app = new App()
83
+ const app = new Acryl()
84
84
  .get('/foo', (c) => c.json({}))
85
85
  .get('/foo/bar', (c) => c.json({}))
86
86
  .get('/foo/:id/baz', (c) => c.json({}))
@@ -97,7 +97,7 @@ describe('with the leading slash', () => {
97
97
  })
98
98
 
99
99
  describe('app.all()', () => {
100
- const app = new App()
100
+ const app = new Acryl()
101
101
  .all('/all-route', (c) => c.json({ msg: 'all methods' }))
102
102
  .get('/get-route', (c) => c.json({ msg: 'get only' }))
103
103
  const client = hc<typeof app>('http://localhost', { fetch: app.request })
@@ -131,7 +131,7 @@ describe('app.all()', () => {
131
131
  })
132
132
 
133
133
  describe('with base URL pathname', () => {
134
- const app = new App()
134
+ const app = new Acryl()
135
135
  .get('foo', (c) => c.json({}))
136
136
  .get('foo/bar', (c) => c.json({}))
137
137
  .get('foo/:id/baz', (c) => c.json({}))
@@ -1,5 +1,5 @@
1
- import type { App } from '../app.ts'
2
- import type { AppBase } from '../app-base.ts'
1
+ import type { Acryl } from '../app.ts'
2
+ import type { AcrylBase } from '../app-base.ts'
3
3
  import type { METHODS, METHOD_NAME_ALL_LOWERCASE } from '../router.ts'
4
4
  import type { Endpoint, ExtractSchema, KnownResponseFormat, ResponseFormat, Schema } from '../types.ts'
5
5
  import type { StatusCode, SuccessStatusCode } from '../utils/http-status.ts'
@@ -25,16 +25,16 @@ type ExpandAllMethod<S> = MethodNameAll extends keyof S
25
25
  ? { [M in StandardMethods]: S[MethodNameAll] } & Omit<S, MethodNameAll>
26
26
  : S
27
27
 
28
- type AppRequest = (typeof App.prototype)['request']
28
+ type AcrylRequest = (typeof Acryl.prototype)['request']
29
29
 
30
30
  export type BuildSearchParamsFn = (query: Record<string, string | string[]>) => URLSearchParams
31
31
 
32
32
  export type ClientRequestOptions<T = unknown> = {
33
- fetch?: typeof fetch | AppRequest
33
+ fetch?: typeof fetch | AcrylRequest
34
34
  webSocket?: (...args: ConstructorParameters<typeof WebSocket>) => WebSocket
35
35
  /**
36
36
  * Standard `RequestInit`, caution that this take highest priority
37
- * and could be used to overwrite things that App sets for you, like `body | method | headers`.
37
+ * and could be used to overwrite things that Acryl sets for you, like `body | method | headers`.
38
38
  *
39
39
  * If you want to add some headers, use in `headers` instead of `init`
40
40
  */
@@ -93,7 +93,7 @@ export type ClientRequest<Prefix extends string, Path extends string, S extends
93
93
  | undefined = undefined,
94
94
  >(
95
95
  arg?: Arg
96
- ) => AppURL<Prefix, Path, Arg>
96
+ ) => AcrylURL<Prefix, Path, Arg>
97
97
  $path: <
98
98
  const Arg extends
99
99
  | (S[keyof S] extends { input: infer R }
@@ -173,7 +173,7 @@ type BuildTypedURL<
173
173
  Arg,
174
174
  > = TypedURL<`${Protocol}:`, Host, Port, BuildPathname<P, Arg>, BuildSearch<Arg, 'query'>>
175
175
 
176
- type AppURL<Prefix extends string, Path extends string, Arg> =
176
+ type AcrylURL<Prefix extends string, Path extends string, Arg> =
177
177
  IsLiteral<Prefix> extends true
178
178
  ? TrimEndSlash<Prefix> extends `${infer Protocol}://${infer Rest}`
179
179
  ? Rest extends `${infer Hostname}/${infer P}`
@@ -309,7 +309,7 @@ type PathToChain<
309
309
  }
310
310
 
311
311
  export type Client<T, Prefix extends string> =
312
- T extends AppBase<any, infer S, any>
312
+ T extends AcrylBase<any, infer S, any>
313
313
  ? S extends Record<infer K, Schema>
314
314
  ? K extends string
315
315
  ? PathToChain<Prefix, K, S>
@@ -355,10 +355,10 @@ type ModSchema<D, Def extends GlobalResponseDefinition> = {
355
355
  }
356
356
  }
357
357
 
358
- export type ApplyGlobalResponse<AppType, Def extends GlobalResponseDefinition> =
359
- AppType extends AppBase<infer E, infer _ extends Schema, infer B>
360
- ? ModSchema<ExtractSchema<AppType>, Def> extends infer S extends Schema
361
- ? App<E, S, B>
358
+ export type ApplyGlobalResponse<App, Def extends GlobalResponseDefinition> =
359
+ App extends AcrylBase<infer E, infer _ extends Schema, infer B>
360
+ ? ModSchema<ExtractSchema<App>, Def> extends infer S extends Schema
361
+ ? Acryl<E, S, B>
362
362
  : never
363
363
  : never
364
364
 
@@ -385,9 +385,9 @@ type PickSchema<D, U extends StatusCode> = {
385
385
  * const client = hc<AppSuccessOnly>('http://localhost')
386
386
  * ```
387
387
  */
388
- export type PickResponseByStatusCode<AppType, U extends StatusCode> =
389
- AppType extends AppBase<infer E, infer _ extends Schema, infer B>
390
- ? PickSchema<ExtractSchema<AppType>, U> extends infer S extends Schema
391
- ? App<E, S, B>
388
+ export type PickResponseByStatusCode<App, U extends StatusCode> =
389
+ App extends AcrylBase<infer E, infer _ extends Schema, infer B>
390
+ ? PickSchema<ExtractSchema<App>, U> extends infer S extends Schema
391
+ ? Acryl<E, S, B>
392
392
  : never
393
393
  : never
@@ -1,6 +1,6 @@
1
1
  import { HttpResponse, http } from 'msw'
2
2
  import { setupServer } from 'msw/node'
3
- import { App } from '../app.ts'
3
+ import { Acryl } from '../app.ts'
4
4
  import type { Expect, Equal } from '../utils/types.ts'
5
5
  import { hc } from './client.ts'
6
6
  import {
@@ -211,7 +211,7 @@ describe('deepMerge', () => {
211
211
  })
212
212
 
213
213
  describe('parseResponse', async () => {
214
- const _app = new App()
214
+ const _app = new Acryl()
215
215
  .get('/text', (c) => c.text('hi'))
216
216
  .get('/json', (c) => c.json({ message: 'hi' }))
217
217
  .get('/might-error-json', (c) => {
@@ -71,16 +71,16 @@ describe('Context', () => {
71
71
  })
72
72
 
73
73
  it('c.html()', async () => {
74
- const res: Response = c.html('<h1>Hello! App!</h1>', 201, { 'X-Custom': 'Message' })
74
+ const res: Response = c.html('<h1>Hello! Acryl!</h1>', 201, { 'X-Custom': 'Message' })
75
75
  expect(res.status).toBe(201)
76
76
  expect(res.headers.get('Content-Type')).toMatch('text/html')
77
- expect(await res.text()).toBe('<h1>Hello! App!</h1>')
77
+ expect(await res.text()).toBe('<h1>Hello! Acryl!</h1>')
78
78
  expect(res.headers.get('X-Custom')).toBe('Message')
79
79
  })
80
80
 
81
81
  it('c.html() with async', async () => {
82
82
  const resPromise: Promise<Response> = c.html(
83
- new Promise<string>((resolve) => setTimeout(() => resolve('<h1>Hello! App!</h1>'), 0)),
83
+ new Promise<string>((resolve) => setTimeout(() => resolve('<h1>Hello! Acryl!</h1>'), 0)),
84
84
  201,
85
85
  {
86
86
  'X-Custom': 'Message',
@@ -89,7 +89,7 @@ describe('Context', () => {
89
89
  const res = await resPromise
90
90
  expect(res.status).toBe(201)
91
91
  expect(res.headers.get('Content-Type')).toMatch('text/html')
92
- expect(await res.text()).toBe('<h1>Hello! App!</h1>')
92
+ expect(await res.text()).toBe('<h1>Hello! Acryl!</h1>')
93
93
  expect(res.headers.get('X-Custom')).toBe('Message')
94
94
  })
95
95
 
@@ -1,4 +1,4 @@
1
- import { AppRequest } from './request.ts'
1
+ import { AcrylRequest } from './request.ts'
2
2
  import type { Result } from './router.ts'
3
3
  import type {
4
4
  Env,
@@ -298,7 +298,7 @@ export class Context<
298
298
  I extends Input = {},
299
299
  > {
300
300
  #rawRequest: Request
301
- #req: AppRequest<P, I['out']> | undefined
301
+ #req: AcrylRequest<P, I['out']> | undefined
302
302
  /**
303
303
  * `.env` can get bindings (environment variables, secrets, KV namespaces, D1 database, R2 bucket etc.) in Cloudflare Workers.
304
304
  *
@@ -359,10 +359,10 @@ export class Context<
359
359
  }
360
360
 
361
361
  /**
362
- * `.req` is the instance of {@link AppRequest}.
362
+ * `.req` is the instance of {@link AcrylRequest}.
363
363
  */
364
- get req(): AppRequest<P, I['out']> {
365
- this.#req ??= new AppRequest(this.#rawRequest, this.#path, this.#matchResult)
364
+ get req(): AcrylRequest<P, I['out']> {
365
+ this.#req ??= new AcrylRequest(this.#rawRequest, this.#path, this.#matchResult)
366
366
  return this.#req
367
367
  }
368
368
 
@@ -533,7 +533,7 @@ export class Context<
533
533
  * @example
534
534
  * ```ts
535
535
  * app.use('*', async (c, next) => {
536
- * c.set('message', 'App is hot!!')
536
+ * c.set('message', 'Acryl is hot!!')
537
537
  * await next()
538
538
  * })
539
539
  * ```
@@ -1,4 +1,4 @@
1
- import { App } from '../../index.ts'
1
+ import { Acryl } from '../../index.ts'
2
2
  import { parseAccept } from '../../utils/accept.ts'
3
3
  import type { AcceptHeader } from '../../utils/headers.ts'
4
4
  import type { Accept, acceptsConfig, acceptsOptions } from './accepts.ts'
@@ -277,7 +277,7 @@ describe('accepts', () => {
277
277
 
278
278
  describe('Usage', () => {
279
279
  test('decide compression by Accept-Encoding header', async () => {
280
- const app = new App()
280
+ const app = new Acryl()
281
281
  app.get('/compressed', async (c) => {
282
282
  const encoding = accepts(c, {
283
283
  header: 'Accept-Encoding',
@@ -318,7 +318,7 @@ describe('Usage', () => {
318
318
  })
319
319
 
320
320
  test('decide language by Accept-Language header', async () => {
321
- const app = new App()
321
+ const app = new Acryl()
322
322
  const SUPPORTED_LANGS = ['en', 'ja', 'zh']
323
323
  app.get('/*', async (c) => {
324
324
  const lang = accepts(c, {
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @module
3
- * Accepts Helper for App.
3
+ * Accepts Helper for Acryl.
4
4
  */
5
5
 
6
6
  export { accepts } from './accepts.ts'
@@ -1,5 +1,5 @@
1
1
  import { env, getRuntimeKey } from './index.ts'
2
- import { App } from '../../app.ts'
2
+ import { Acryl } from '../../app.ts'
3
3
 
4
4
  describe('getRuntimeKey', () => {
5
5
  it('Should return the current runtime key', () => {
@@ -18,7 +18,7 @@ describe('env', () => {
18
18
  }
19
19
 
20
20
  it('Should not throw type errors with env has generics', () => {
21
- const app = new App()
21
+ const app = new Acryl()
22
22
  app.get('/var', (c) => {
23
23
  const { MY_VAR } = env<{ MY_VAR: string }>(c)
24
24
  expectTypeOf<string>(MY_VAR)
@@ -28,8 +28,8 @@ describe('env', () => {
28
28
  })
29
29
  })
30
30
 
31
- it('Should not throw type errors with App has generics', () => {
32
- const app = new App<Env>()
31
+ it('Should not throw type errors with Acryl has generics', () => {
32
+ const app = new Acryl<Env>()
33
33
 
34
34
  app.get('/var', (c) => {
35
35
  const { MY_VAR } = env(c)
@@ -40,8 +40,8 @@ describe('env', () => {
40
40
  })
41
41
  })
42
42
 
43
- it('Should not throw type errors with env and App have generics', () => {
44
- const app = new App<Env>()
43
+ it('Should not throw type errors with env and Acryl have generics', () => {
44
+ const app = new Acryl<Env>()
45
45
 
46
46
  app.get('/var', (c) => {
47
47
  const { MY_VAR } = env<{ MY_VAR: string }>(c)
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @module
3
- * Adapter Helper for App.
3
+ * Adapter Helper for Acryl.
4
4
  */
5
5
 
6
6
  import type { Context } from '../../context.ts'
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @module
3
- * ConnInfo Helper for App.
3
+ * ConnInfo Helper for Acryl.
4
4
  */
5
5
 
6
6
  export type { AddressType, NetAddrInfo, ConnInfo, GetConnInfo } from './types.ts'
@@ -7,13 +7,13 @@ import {
7
7
  generateCookie,
8
8
  generateSignedCookie,
9
9
  } from './index.ts'
10
- import { App } from '../../app.ts'
10
+ import { Acryl } from '../../app.ts'
11
11
 
12
12
  describe('Cookie Middleware', () => {
13
13
  describe('Parse cookie', () => {
14
- const apps: Record<string, App> = {}
14
+ const apps: Record<string, Acryl> = {}
15
15
  apps['get by name'] = (() => {
16
- const app = new App()
16
+ const app = new Acryl()
17
17
 
18
18
  app.get('/cookie', (c) => {
19
19
  const yummyCookie = getCookie(c, 'yummy_cookie')
@@ -30,7 +30,7 @@ describe('Cookie Middleware', () => {
30
30
  })()
31
31
 
32
32
  apps['get all as an object'] = (() => {
33
- const app = new App()
33
+ const app = new Acryl()
34
34
 
35
35
  app.get('/cookie', (c) => {
36
36
  const { yummy_cookie: yummyCookie, tasty_cookie: tastyCookie } = getCookie(c)
@@ -56,7 +56,7 @@ describe('Cookie Middleware', () => {
56
56
  })
57
57
  })
58
58
 
59
- const app = new App()
59
+ const app = new Acryl()
60
60
 
61
61
  app.get('/cookie-signed-get-all', async (c) => {
62
62
  const secret = 'secret lucky charm'
@@ -134,7 +134,7 @@ describe('Cookie Middleware', () => {
134
134
  })
135
135
 
136
136
  describe('get null if the value is undefined', () => {
137
- const app = new App()
137
+ const app = new Acryl()
138
138
 
139
139
  app.get('/cookie', (c) => {
140
140
  const yummyCookie = getCookie(c, 'yummy_cookie')
@@ -156,7 +156,7 @@ describe('Cookie Middleware', () => {
156
156
  })
157
157
 
158
158
  describe('Set cookie', () => {
159
- const app = new App()
159
+ const app = new Acryl()
160
160
 
161
161
  app.get('/set-cookie', (c) => {
162
162
  setCookie(c, 'delicious_cookie', 'macha')
@@ -389,7 +389,7 @@ describe('Cookie Middleware', () => {
389
389
  })
390
390
 
391
391
  describe('Delete cookie', () => {
392
- const app = new App()
392
+ const app = new Acryl()
393
393
 
394
394
  app.get('/delete-cookie', (c) => {
395
395
  deleteCookie(c, 'delicious_cookie')
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @module
3
- * Cookie Helper for App.
3
+ * Cookie Helper for Acryl.
4
4
  */
5
5
 
6
6
  import type { Context } from '../../context.ts'
@@ -2,7 +2,7 @@
2
2
  import { expectTypeOf } from 'vitest'
3
3
  import { hc } from '../../client/index.ts'
4
4
  import type { ClientRequest } from '../../client/types.ts'
5
- import { App } from '../../index.ts'
5
+ import { Acryl } from '../../index.ts'
6
6
  import type { Env, ExtractSchema, H, MiddlewareHandler, ToSchema, TypedResponse } from '../../types.ts'
7
7
  import type { ContentfulStatusCode } from '../../utils/http-status.ts'
8
8
  import type { Equal, Expect } from '../../utils/types.ts'
@@ -11,7 +11,7 @@ import { createFactory, createMiddleware } from './index.ts'
11
11
 
12
12
  describe('createMiddleware', () => {
13
13
  type Env = { Variables: { foo: string } }
14
- const app = new App()
14
+ const app = new Acryl()
15
15
 
16
16
  const mw = (message: string) =>
17
17
  createMiddleware<Env>(async (c, next) => {
@@ -47,7 +47,7 @@ describe('createMiddleware', () => {
47
47
  MY_VAR: string
48
48
  }
49
49
 
50
- const app = new App<{ Bindings: Bindings }>()
50
+ const app = new Acryl<{ Bindings: Bindings }>()
51
51
 
52
52
  app.get(
53
53
  '/',
@@ -82,7 +82,7 @@ describe('createHandler', () => {
82
82
 
83
83
  describe('Basic', () => {
84
84
  const factory = createFactory()
85
- const app = new App()
85
+ const app = new Acryl()
86
86
 
87
87
  const handlersA = factory.createHandlers((c) => {
88
88
  return c.text('A')
@@ -130,7 +130,7 @@ describe('createHandler', () => {
130
130
  type Env = { Variables: { foo: string } }
131
131
 
132
132
  const factory = createFactory<Env>()
133
- const app = new App<Env>()
133
+ const app = new Acryl<Env>()
134
134
 
135
135
  const handlers = factory.createHandlers(
136
136
  validator('query', () => {
@@ -146,7 +146,7 @@ describe('createHandler', () => {
146
146
  )
147
147
  const routes = app.get('/posts', ...handlers)
148
148
 
149
- type Expected = App<
149
+ type Expected = Acryl<
150
150
  Env,
151
151
  ToSchema<
152
152
  'get',
@@ -178,7 +178,7 @@ describe('createHandler', () => {
178
178
  type Env = { Variables: { foo: string } }
179
179
 
180
180
  const factory = createFactory<Env>()
181
- const app = new App<Env>()
181
+ const app = new Acryl<Env>()
182
182
 
183
183
  const handlers = factory.createHandlers(
184
184
  validator('header', () => {
@@ -206,7 +206,7 @@ describe('createHandler', () => {
206
206
  )
207
207
  const routes = app.get('/posts', ...handlers)
208
208
 
209
- type Expected = App<
209
+ type Expected = Acryl<
210
210
  Env,
211
211
  ToSchema<
212
212
  'get',
@@ -390,7 +390,7 @@ describe('createFactory', () => {
390
390
  await next()
391
391
  })
392
392
 
393
- const routes = new App().use('*', middleware)
393
+ const routes = new Acryl().use('*', middleware)
394
394
  type Actual = ExtractSchema<typeof routes>
395
395
  type Expected = {}
396
396
  type verify = Expect<Equal<Expected, Actual>>
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * @module
3
- * Factory Helper for App.
3
+ * Factory Helper for Acryl.
4
4
  */
5
5
 
6
6
  /* eslint-disable @typescript-eslint/no-explicit-any */
7
- import { App } from '../../app.ts'
8
- import type { AppOptions } from '../../app-base.ts'
7
+ import { Acryl } from '../../app.ts'
8
+ import type { AcrylOptions } from '../../app-base.ts'
9
9
  import type {
10
10
  Env,
11
11
  H,
@@ -15,7 +15,7 @@ import type {
15
15
  MiddlewareHandler,
16
16
  } from '../../types.ts'
17
17
 
18
- type InitApp<E extends Env = Env> = (app: App<E>) => void
18
+ type InitApp<E extends Env = Env> = (app: Acryl<E>) => void
19
19
 
20
20
  export interface CreateHandlersInterface<E extends Env, P extends string> {
21
21
  <I extends Input = {}, R extends HandlerResponse<any> = any, E2 extends Env = E>(
@@ -331,18 +331,18 @@ export interface CreateHandlersInterface<E extends Env, P extends string> {
331
331
 
332
332
  export class Factory<E extends Env = Env, P extends string = string> {
333
333
  private initApp?: InitApp<E>
334
- #defaultAppOptions?: AppOptions<E>
334
+ #defaultAppOptions?: AcrylOptions<E>
335
335
 
336
- constructor(init?: { initApp?: InitApp<E>; defaultAppOptions?: AppOptions<E> }) {
336
+ constructor(init?: { initApp?: InitApp<E>; defaultAppOptions?: AcrylOptions<E> }) {
337
337
  this.initApp = init?.initApp
338
338
  this.#defaultAppOptions = init?.defaultAppOptions
339
339
  }
340
340
 
341
- createApp = (options?: AppOptions<E>): App<E> => {
342
- const app = new App<E>(
341
+ createApp = (options?: AcrylOptions<E>): Acryl<E> => {
342
+ const app = new Acryl<E>(
343
343
  (options && this.#defaultAppOptions
344
344
  ? { ...this.#defaultAppOptions, ...options }
345
- : (options ?? this.#defaultAppOptions)) as AppOptions<E>
345
+ : (options ?? this.#defaultAppOptions)) as AcrylOptions<E>
346
346
  )
347
347
  if (this.initApp) {
348
348
  this.initApp(app)
@@ -362,7 +362,7 @@ export class Factory<E extends Env = Env, P extends string = string> {
362
362
 
363
363
  export const createFactory = <E extends Env = Env, P extends string = string>(init?: {
364
364
  initApp?: InitApp<E>
365
- defaultAppOptions?: AppOptions<E>
365
+ defaultAppOptions?: AcrylOptions<E>
366
366
  }): Factory<E, P> => new Factory<E, P>(init)
367
367
 
368
368
  export const createMiddleware = <
@@ -49,10 +49,10 @@ describe('Tagged Template Literals', () => {
49
49
 
50
50
  describe('HtmlEscapedString', () => {
51
51
  it('Should preserve callbacks', async () => {
52
- const name = raw('App', [
52
+ const name = raw('Acryl', [
53
53
  ({ buffer }) => {
54
54
  if (buffer) {
55
- buffer[0] = buffer[0].replace('App', 'App!')
55
+ buffer[0] = buffer[0].replace('Acryl', 'Acryl!')
56
56
  }
57
57
  return undefined
58
58
  },
@@ -60,9 +60,9 @@ describe('Tagged Template Literals', () => {
60
60
  const res = html`<p>I'm ${name}.</p>`
61
61
  expect(res).toBeInstanceOf(Promise)
62
62
 
63
- expect((await res).toString()).toBe("<p>I'm App.</p>")
63
+ expect((await res).toString()).toBe("<p>I'm Acryl.</p>")
64
64
  expect(await resolveCallback(await res, HtmlEscapedCallbackPhase.Stringify, false, {})).toBe(
65
- "<p>I'm App!.</p>"
65
+ "<p>I'm Acryl!.</p>"
66
66
  )
67
67
  })
68
68
  })
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @module
3
- * html Helper for App.
3
+ * html Helper for Acryl.
4
4
  */
5
5
 
6
6
  import { escapeToBuffer, raw, resolveCallbackSync, stringBufferToString } from '../../utils/html.ts'
@@ -1,6 +1,6 @@
1
1
  import { matchedRoutes, routePath, baseRoutePath, basePath } from './index.ts'
2
2
  import { Context } from '../../context.ts'
3
- import { App } from '../../app.ts'
3
+ import { Acryl } from '../../app.ts'
4
4
 
5
5
  const defaultContextOptions = {
6
6
  executionCtx: {
@@ -192,10 +192,10 @@ describe('basePath', () => {
192
192
  })
193
193
 
194
194
  it('should return the fully expanded basePath for nested route() apps', async () => {
195
- const app = new App()
196
- const sub1 = new App()
197
- const sub2 = new App()
198
- const sub3 = new App()
195
+ const app = new Acryl()
196
+ const sub1 = new Acryl()
197
+ const sub2 = new Acryl()
198
+ const sub3 = new Acryl()
199
199
 
200
200
  sub3.get('/assets/*', (c) => c.json({ baseRoutePath: baseRoutePath(c), basePath: basePath(c) }))
201
201
  sub2.route('/:app/sub3/assets', sub3)
@@ -239,8 +239,8 @@ describe('basePath', () => {
239
239
  })
240
240
 
241
241
  it('should return basePath with custom regex pattern mounted with app.route()', async () => {
242
- const app = new App()
243
- const subApp = new App()
242
+ const app = new Acryl()
243
+ const subApp = new Acryl()
244
244
 
245
245
  subApp.get('/posts/:id', (c) => c.text(basePath(c)))
246
246
  app.route('/api/:version{v[0-9]+}', subApp)
@@ -11,7 +11,7 @@ import { getPattern, splitRoutingPath } from '../../utils/url.ts'
11
11
  *
12
12
  * @example
13
13
  * ```ts
14
- * import { matchedRoutes } from 'acryl-router/helpers'
14
+ * import { matchedRoutes } from 'acrylblends/route'
15
15
  *
16
16
  * app.use('*', async function logger(c, next) {
17
17
  * await next()
@@ -42,7 +42,7 @@ export const matchedRoutes = (c: Context): RouterRoute[] =>
42
42
  *
43
43
  * @example
44
44
  * ```ts
45
- * import { routePath } from 'acryl-router/helpers'
45
+ * import { routePath } from 'acrylblends/route'
46
46
  *
47
47
  * app.use('*', (c, next) => {
48
48
  * console.log(routePath(c)) // '*'
@@ -67,11 +67,11 @@ export const routePath = (c: Context, index?: number): string =>
67
67
  *
68
68
  * @example
69
69
  * ```ts
70
- * import { baseRoutePath } from 'acryl-router/helpers'
70
+ * import { baseRoutePath } from 'acrylblends/route'
71
71
  *
72
- * const app = new App()
72
+ * const app = new Acryl()
73
73
  *
74
- * const subApp = new App()
74
+ * const subApp = new Acryl()
75
75
  * subApp.get('/posts/:id', (c) => {
76
76
  * return c.text(baseRoutePath(c)) // '/:sub'
77
77
  * })
@@ -91,11 +91,11 @@ export const baseRoutePath = (c: Context, index?: number): string =>
91
91
  *
92
92
  * @example
93
93
  * ```ts
94
- * import { basePath } from 'acryl-router/helpers'
94
+ * import { basePath } from 'acrylblends/route'
95
95
  *
96
- * const app = new App()
96
+ * const app = new Acryl()
97
97
  *
98
- * const subApp = new App()
98
+ * const subApp = new Acryl()
99
99
  * subApp.get('/posts/:id', (c) => {
100
100
  * return c.text(basePath(c)) // '/requested-sub-app-path'
101
101
  * })
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @module
3
- * Streaming Helper for App.
3
+ * Streaming Helper for Acryl.
4
4
  */
5
5
 
6
6
  export { stream } from './stream.ts'