@suveren/gateway 0.3.17 → 0.4.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 (257) hide show
  1. package/bin/suveren-gateway.js +419 -28
  2. package/content/integrations/calendar.json +20 -8
  3. package/content/integrations/crm.json +97 -23
  4. package/content/integrations/gmail.json +166 -29
  5. package/content/integrations/linkedin.json +15 -3
  6. package/content/integrations/mollie.json +2 -2
  7. package/dist/control-plane/index.mjs +341 -42
  8. package/dist/mcp-server/http.mjs +880 -210
  9. package/dist/ui/assets/index-Cog54HOo.js +105 -0
  10. package/dist/ui/assets/{index-DOt3SNnl.css → index-JHaCddDE.css} +1 -1
  11. package/dist/ui/index.html +2 -2
  12. package/lib/autostart-templates.d.mts +37 -0
  13. package/lib/autostart-templates.mjs +208 -0
  14. package/node_modules/@hap/core/dist/index.d.mts +27 -0
  15. package/node_modules/@hap/core/dist/index.d.ts +27 -0
  16. package/node_modules/@hap/core/dist/index.js +13 -1
  17. package/node_modules/@hap/core/dist/index.mjs +13 -1
  18. package/node_modules/@hap/core/package.json +1 -1
  19. package/node_modules/@hap/core/src/gatekeeper.ts +47 -1
  20. package/node_modules/@hap/core/src/types.ts +27 -0
  21. package/node_modules/@hono/node-server/README.md +58 -25
  22. package/node_modules/@hono/node-server/dist/conninfo.cjs +22 -0
  23. package/node_modules/@hono/node-server/dist/{conninfo.d.ts → conninfo.d.cts} +4 -3
  24. package/node_modules/@hono/node-server/dist/conninfo.d.mts +4 -3
  25. package/node_modules/@hono/node-server/dist/conninfo.mjs +19 -16
  26. package/node_modules/@hono/node-server/dist/constants-BLSFu_RU.mjs +5 -0
  27. package/node_modules/@hono/node-server/dist/constants-BXAKTxRC.cjs +11 -0
  28. package/node_modules/@hono/node-server/dist/index.cjs +1173 -0
  29. package/node_modules/@hono/node-server/dist/index.d.cts +101 -0
  30. package/node_modules/@hono/node-server/dist/index.d.mts +101 -8
  31. package/node_modules/@hono/node-server/dist/index.mjs +1143 -637
  32. package/node_modules/@hono/node-server/dist/serve-static.cjs +151 -0
  33. package/node_modules/@hono/node-server/dist/serve-static.d.cts +18 -0
  34. package/node_modules/@hono/node-server/dist/serve-static.d.mts +14 -13
  35. package/node_modules/@hono/node-server/dist/serve-static.mjs +143 -145
  36. package/node_modules/@hono/node-server/dist/utils/response.cjs +8 -0
  37. package/node_modules/@hono/node-server/dist/utils/response.d.cts +4 -0
  38. package/node_modules/@hono/node-server/dist/utils/response.d.mts +3 -2
  39. package/node_modules/@hono/node-server/dist/utils/response.mjs +6 -9
  40. package/node_modules/@hono/node-server/dist/utils/stream.cjs +65 -0
  41. package/node_modules/@hono/node-server/dist/utils/stream.d.cts +6 -0
  42. package/node_modules/@hono/node-server/dist/utils/stream.d.mts +6 -0
  43. package/node_modules/@hono/node-server/dist/utils/stream.mjs +64 -0
  44. package/node_modules/@hono/node-server/package.json +65 -54
  45. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/index.d.ts.map +1 -1
  46. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/index.js +1 -12
  47. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/index.js.map +1 -1
  48. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.d.ts +7 -0
  49. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.d.ts.map +1 -1
  50. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.js +9 -3
  51. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.js.map +1 -1
  52. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.d.ts.map +1 -1
  53. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.js +5 -3
  54. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.js.map +1 -1
  55. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/index.d.ts.map +1 -1
  56. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/index.js +1 -12
  57. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/index.js.map +1 -1
  58. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sseKeepAlive.d.ts +5 -0
  59. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sseKeepAlive.d.ts.map +1 -0
  60. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sseKeepAlive.js +17 -0
  61. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sseKeepAlive.js.map +1 -0
  62. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/stdio.d.ts +9 -1
  63. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/stdio.d.ts.map +1 -1
  64. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/stdio.js +10 -4
  65. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/stdio.js.map +1 -1
  66. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.d.ts +21 -0
  67. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.d.ts.map +1 -1
  68. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.js +239 -41
  69. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.js.map +1 -1
  70. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/zod-compat.d.ts.map +1 -1
  71. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/zod-compat.js +25 -6
  72. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/zod-compat.js.map +1 -1
  73. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/mediaType.d.ts +32 -0
  74. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/mediaType.d.ts.map +1 -0
  75. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/mediaType.js +64 -0
  76. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/mediaType.js.map +1 -0
  77. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/stdio.d.ts +5 -0
  78. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/stdio.d.ts.map +1 -1
  79. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/stdio.js +10 -1
  80. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/stdio.js.map +1 -1
  81. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.d.ts.map +1 -1
  82. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js +2 -13
  83. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js.map +1 -1
  84. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.d.ts +7 -0
  85. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.d.ts.map +1 -1
  86. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.js +9 -3
  87. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.js.map +1 -1
  88. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.d.ts.map +1 -1
  89. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.js +5 -3
  90. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.js.map +1 -1
  91. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.d.ts.map +1 -1
  92. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js +2 -13
  93. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js.map +1 -1
  94. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.d.ts +5 -0
  95. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.d.ts.map +1 -0
  96. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.js +13 -0
  97. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.js.map +1 -0
  98. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.d.ts +9 -1
  99. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.d.ts.map +1 -1
  100. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js +10 -4
  101. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js.map +1 -1
  102. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.d.ts +21 -0
  103. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.d.ts.map +1 -1
  104. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.js +239 -41
  105. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.js.map +1 -1
  106. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.d.ts.map +1 -1
  107. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js +25 -6
  108. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js.map +1 -1
  109. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.d.ts +32 -0
  110. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.d.ts.map +1 -0
  111. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.js +57 -0
  112. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.js.map +1 -0
  113. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.d.ts +5 -0
  114. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.d.ts.map +1 -1
  115. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js +9 -0
  116. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js.map +1 -1
  117. package/node_modules/@modelcontextprotocol/sdk/node_modules/media-typer/README.md +15 -14
  118. package/node_modules/@modelcontextprotocol/sdk/node_modules/media-typer/index.js +0 -8
  119. package/node_modules/@modelcontextprotocol/sdk/node_modules/media-typer/package.json +16 -12
  120. package/node_modules/@modelcontextprotocol/sdk/package.json +4 -3
  121. package/node_modules/@types/node/README.md +1 -1
  122. package/node_modules/@types/node/crypto.d.ts +1 -1
  123. package/node_modules/@types/node/package.json +2 -2
  124. package/node_modules/body-parser/HISTORY.md +7 -1
  125. package/node_modules/body-parser/lib/types/json.js +7 -3
  126. package/node_modules/body-parser/lib/types/raw.js +7 -3
  127. package/node_modules/body-parser/lib/types/text.js +7 -3
  128. package/node_modules/body-parser/lib/types/urlencoded.js +7 -3
  129. package/node_modules/body-parser/package.json +1 -1
  130. package/node_modules/express-rate-limit/dist/index.cjs +69 -5
  131. package/node_modules/express-rate-limit/dist/index.d.cts +16 -0
  132. package/node_modules/express-rate-limit/dist/index.d.mts +16 -0
  133. package/node_modules/express-rate-limit/dist/index.d.ts +16 -0
  134. package/node_modules/express-rate-limit/dist/index.mjs +55 -5
  135. package/node_modules/express-rate-limit/node_modules/debug/LICENSE +20 -0
  136. package/node_modules/express-rate-limit/node_modules/debug/README.md +481 -0
  137. package/node_modules/express-rate-limit/node_modules/debug/package.json +64 -0
  138. package/node_modules/express-rate-limit/node_modules/debug/src/browser.js +272 -0
  139. package/node_modules/express-rate-limit/node_modules/debug/src/common.js +292 -0
  140. package/node_modules/express-rate-limit/node_modules/debug/src/index.js +10 -0
  141. package/node_modules/express-rate-limit/node_modules/debug/src/node.js +263 -0
  142. package/node_modules/express-rate-limit/node_modules/ms/index.js +162 -0
  143. package/node_modules/express-rate-limit/node_modules/ms/license.md +21 -0
  144. package/node_modules/express-rate-limit/node_modules/ms/package.json +38 -0
  145. package/node_modules/express-rate-limit/node_modules/ms/readme.md +59 -0
  146. package/node_modules/express-rate-limit/package.json +12 -9
  147. package/node_modules/fast-uri/index.js +17 -0
  148. package/node_modules/fast-uri/package.json +1 -1
  149. package/node_modules/fast-uri/test/security.test.js +62 -0
  150. package/node_modules/hono/dist/adapter/aws-lambda/handler.js +1 -4
  151. package/node_modules/hono/dist/adapter/lambda-edge/handler.js +12 -2
  152. package/node_modules/hono/dist/cjs/adapter/aws-lambda/handler.js +1 -4
  153. package/node_modules/hono/dist/cjs/adapter/lambda-edge/handler.js +12 -2
  154. package/node_modules/hono/dist/cjs/client/client.js +10 -1
  155. package/node_modules/hono/dist/cjs/client/utils.js +1 -1
  156. package/node_modules/hono/dist/cjs/helper/streaming/sse.js +5 -4
  157. package/node_modules/hono/dist/cjs/middleware/cache/index.js +1 -1
  158. package/node_modules/hono/dist/cjs/middleware/compress/index.js +2 -1
  159. package/node_modules/hono/dist/cjs/middleware/etag/index.js +2 -1
  160. package/node_modules/hono/dist/cjs/middleware/method-override/index.js +5 -3
  161. package/node_modules/hono/dist/cjs/middleware/secure-headers/secure-headers.js +10 -4
  162. package/node_modules/hono/dist/cjs/request.js +8 -3
  163. package/node_modules/hono/dist/cjs/router/trie-router/node.js +9 -0
  164. package/node_modules/hono/dist/cjs/utils/accept.js +1 -1
  165. package/node_modules/hono/dist/cjs/utils/body.js +6 -0
  166. package/node_modules/hono/dist/cjs/utils/url.js +1 -1
  167. package/node_modules/hono/dist/client/client.js +10 -1
  168. package/node_modules/hono/dist/client/utils.js +1 -1
  169. package/node_modules/hono/dist/helper/streaming/sse.js +5 -4
  170. package/node_modules/hono/dist/middleware/cache/index.js +1 -1
  171. package/node_modules/hono/dist/middleware/compress/index.js +2 -1
  172. package/node_modules/hono/dist/middleware/etag/index.js +2 -1
  173. package/node_modules/hono/dist/middleware/method-override/index.js +5 -3
  174. package/node_modules/hono/dist/middleware/secure-headers/secure-headers.js +10 -4
  175. package/node_modules/hono/dist/request.js +8 -3
  176. package/node_modules/hono/dist/router/trie-router/node.js +9 -0
  177. package/node_modules/hono/dist/types/adapter/aws-lambda/types.d.ts +9 -0
  178. package/node_modules/hono/dist/types/adapter/lambda-edge/handler.d.ts +1 -1
  179. package/node_modules/hono/dist/types/helper/websocket/index.d.ts +1 -1
  180. package/node_modules/hono/dist/types/middleware/combine/index.d.ts +1 -1
  181. package/node_modules/hono/dist/types/middleware/language/language.d.ts +18 -0
  182. package/node_modules/hono/dist/types/utils/types.d.ts +1 -1
  183. package/node_modules/hono/dist/utils/accept.js +1 -1
  184. package/node_modules/hono/dist/utils/body.js +6 -0
  185. package/node_modules/hono/dist/utils/url.js +1 -1
  186. package/node_modules/hono/package.json +4 -4
  187. package/node_modules/ip-address/README.md +102 -96
  188. package/node_modules/ip-address/dist/common.d.ts +23 -0
  189. package/node_modules/ip-address/dist/common.js +27 -4
  190. package/node_modules/ip-address/dist/common.js.map +1 -1
  191. package/node_modules/ip-address/dist/ipv4.d.ts +8 -1
  192. package/node_modules/ip-address/dist/ipv4.js +21 -8
  193. package/node_modules/ip-address/dist/ipv4.js.map +1 -1
  194. package/node_modules/ip-address/dist/ipv6.d.ts +59 -1
  195. package/node_modules/ip-address/dist/ipv6.js +149 -41
  196. package/node_modules/ip-address/dist/ipv6.js.map +1 -1
  197. package/node_modules/ip-address/dist/v4/constants.js +5 -1
  198. package/node_modules/ip-address/dist/v4/constants.js.map +1 -1
  199. package/node_modules/ip-address/dist/v6/constants.js +3 -2
  200. package/node_modules/ip-address/dist/v6/constants.js.map +1 -1
  201. package/node_modules/ip-address/package.json +2 -2
  202. package/node_modules/jose/README.md +1 -4
  203. package/node_modules/jose/dist/types/jwks/remote.d.ts +3 -3
  204. package/node_modules/jose/dist/webapi/jwks/remote.js +1 -1
  205. package/node_modules/jose/dist/webapi/lib/key_to_jwk.js +4 -1
  206. package/node_modules/jose/package.json +1 -1
  207. package/package.json +3 -2
  208. package/profiles/customers/0.4.profile.json +7 -4
  209. package/profiles/customers/0.5.profile.json +131 -0
  210. package/profiles/customers/0.6.profile.json +153 -0
  211. package/profiles/email/0.4.profile.json +8 -4
  212. package/profiles/index.json +2 -0
  213. package/server.js +10 -0
  214. package/dist/ui/assets/index-CTmWS7W4.js +0 -105
  215. package/node_modules/@hono/node-server/dist/conninfo.js +0 -42
  216. package/node_modules/@hono/node-server/dist/globals.d.mts +0 -2
  217. package/node_modules/@hono/node-server/dist/globals.d.ts +0 -2
  218. package/node_modules/@hono/node-server/dist/globals.js +0 -29
  219. package/node_modules/@hono/node-server/dist/globals.mjs +0 -5
  220. package/node_modules/@hono/node-server/dist/index.d.ts +0 -8
  221. package/node_modules/@hono/node-server/dist/index.js +0 -702
  222. package/node_modules/@hono/node-server/dist/listener.d.mts +0 -13
  223. package/node_modules/@hono/node-server/dist/listener.d.ts +0 -13
  224. package/node_modules/@hono/node-server/dist/listener.js +0 -670
  225. package/node_modules/@hono/node-server/dist/listener.mjs +0 -635
  226. package/node_modules/@hono/node-server/dist/request.d.mts +0 -25
  227. package/node_modules/@hono/node-server/dist/request.d.ts +0 -25
  228. package/node_modules/@hono/node-server/dist/request.js +0 -238
  229. package/node_modules/@hono/node-server/dist/request.mjs +0 -206
  230. package/node_modules/@hono/node-server/dist/response.d.mts +0 -26
  231. package/node_modules/@hono/node-server/dist/response.d.ts +0 -26
  232. package/node_modules/@hono/node-server/dist/response.js +0 -112
  233. package/node_modules/@hono/node-server/dist/response.mjs +0 -85
  234. package/node_modules/@hono/node-server/dist/serve-static.d.ts +0 -17
  235. package/node_modules/@hono/node-server/dist/serve-static.js +0 -177
  236. package/node_modules/@hono/node-server/dist/server.d.mts +0 -10
  237. package/node_modules/@hono/node-server/dist/server.d.ts +0 -10
  238. package/node_modules/@hono/node-server/dist/server.js +0 -696
  239. package/node_modules/@hono/node-server/dist/server.mjs +0 -660
  240. package/node_modules/@hono/node-server/dist/types.d.mts +0 -44
  241. package/node_modules/@hono/node-server/dist/types.d.ts +0 -44
  242. package/node_modules/@hono/node-server/dist/types.js +0 -18
  243. package/node_modules/@hono/node-server/dist/types.mjs +0 -0
  244. package/node_modules/@hono/node-server/dist/utils/response/constants.d.mts +0 -3
  245. package/node_modules/@hono/node-server/dist/utils/response/constants.d.ts +0 -3
  246. package/node_modules/@hono/node-server/dist/utils/response/constants.js +0 -30
  247. package/node_modules/@hono/node-server/dist/utils/response/constants.mjs +0 -5
  248. package/node_modules/@hono/node-server/dist/utils/response.d.ts +0 -3
  249. package/node_modules/@hono/node-server/dist/utils/response.js +0 -37
  250. package/node_modules/@hono/node-server/dist/utils.d.mts +0 -9
  251. package/node_modules/@hono/node-server/dist/utils.d.ts +0 -9
  252. package/node_modules/@hono/node-server/dist/utils.js +0 -99
  253. package/node_modules/@hono/node-server/dist/utils.mjs +0 -71
  254. package/node_modules/@hono/node-server/dist/vercel.d.mts +0 -7
  255. package/node_modules/@hono/node-server/dist/vercel.d.ts +0 -7
  256. package/node_modules/@hono/node-server/dist/vercel.js +0 -677
  257. package/node_modules/@hono/node-server/dist/vercel.mjs +0 -640
@@ -0,0 +1,151 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_utils_stream = require('./utils/stream.cjs');
3
+ let hono_utils_mime = require("hono/utils/mime");
4
+ let node_fs = require("node:fs");
5
+ let node_path = require("node:path");
6
+
7
+ //#region src/serve-static.ts
8
+ const COMPRESSIBLE_CONTENT_TYPE_REGEX = /^\s*(?:text\/[^;\s]+|application\/(?:javascript|json|xml|xml-dtd|ecmascript|dart|postscript|rtf|tar|toml|vnd\.dart|vnd\.ms-fontobject|vnd\.ms-opentype|wasm|x-httpd-php|x-javascript|x-ns-proxy-autoconfig|x-sh|x-tar|x-virtualbox-hdd|x-virtualbox-ova|x-virtualbox-ovf|x-virtualbox-vbox|x-virtualbox-vdi|x-virtualbox-vhd|x-virtualbox-vmdk|x-www-form-urlencoded)|font\/(?:otf|ttf)|image\/(?:bmp|vnd\.adobe\.photoshop|vnd\.microsoft\.icon|vnd\.ms-dds|x-icon|x-ms-bmp)|message\/rfc822|model\/gltf-binary|x-shader\/x-fragment|x-shader\/x-vertex|[^;\s]+?\+(?:json|text|xml|yaml))(?:[;\s]|$)/i;
9
+ const ENCODINGS = {
10
+ br: ".br",
11
+ zstd: ".zst",
12
+ gzip: ".gz"
13
+ };
14
+ const ENCODINGS_ORDERED_KEYS = Object.keys(ENCODINGS);
15
+ const getStats = (path) => {
16
+ let stats;
17
+ try {
18
+ stats = (0, node_fs.statSync)(path);
19
+ } catch {}
20
+ return stats;
21
+ };
22
+ const BYTE_RANGE_PATTERN = /^(?:bytes=)?(?!-$)(\d*)-(\d*)$/;
23
+ const parseByteRange = (range) => {
24
+ const match = range.match(BYTE_RANGE_PATTERN);
25
+ if (!match) return;
26
+ const [, start, end] = match;
27
+ if (start === "") return {
28
+ type: "suffix",
29
+ length: Number(end)
30
+ };
31
+ if (end === "") return {
32
+ type: "open-ended",
33
+ start: Number(start)
34
+ };
35
+ return {
36
+ type: "bounded",
37
+ start: Number(start),
38
+ end: Number(end)
39
+ };
40
+ };
41
+ const resolveByteRange = (spec, size) => {
42
+ if (size === 0) return;
43
+ if (spec.type === "suffix") {
44
+ if (spec.length === 0) return;
45
+ return {
46
+ start: Math.max(size - spec.length, 0),
47
+ end: size - 1
48
+ };
49
+ }
50
+ const end = spec.type === "bounded" ? Math.min(spec.end, size - 1) : size - 1;
51
+ if (spec.start >= size || spec.start > end) return;
52
+ return {
53
+ start: spec.start,
54
+ end
55
+ };
56
+ };
57
+ const tryDecode = (str, decoder) => {
58
+ try {
59
+ return decoder(str);
60
+ } catch {
61
+ return str.replace(/(?:%[0-9A-Fa-f]{2})+/g, (match) => {
62
+ try {
63
+ return decoder(match);
64
+ } catch {
65
+ return match;
66
+ }
67
+ });
68
+ }
69
+ };
70
+ const tryDecodeURI = (str) => tryDecode(str, decodeURI);
71
+ const serveStatic = (options = { root: "" }) => {
72
+ const root = options.root || "";
73
+ const optionPath = options.path;
74
+ if (root !== "" && !(0, node_fs.existsSync)(root)) console.error(`serveStatic: root path '${root}' is not found, are you sure it's correct?`);
75
+ return async (c, next) => {
76
+ if (c.finalized) return next();
77
+ let filename;
78
+ if (optionPath) filename = optionPath;
79
+ else try {
80
+ filename = tryDecodeURI(c.req.path);
81
+ if (/(?:^|[\/\\])\.{1,2}(?:$|[\/\\])|[\/\\]{2,}|\\/.test(filename)) throw new Error();
82
+ } catch {
83
+ await options.onNotFound?.(c.req.path, c);
84
+ return next();
85
+ }
86
+ let path = (0, node_path.join)(root, !optionPath && options.rewriteRequestPath ? options.rewriteRequestPath(filename, c) : filename);
87
+ let stats = getStats(path);
88
+ if (stats && stats.isDirectory()) {
89
+ const indexFile = options.index ?? "index.html";
90
+ path = (0, node_path.join)(path, indexFile);
91
+ stats = getStats(path);
92
+ }
93
+ if (!stats) {
94
+ await options.onNotFound?.(path, c);
95
+ return next();
96
+ }
97
+ const mimeType = (0, hono_utils_mime.getMimeType)(path);
98
+ c.header("Content-Type", mimeType || "application/octet-stream");
99
+ if (options.precompressed && (!mimeType || mimeType === "application/octet-stream" || COMPRESSIBLE_CONTENT_TYPE_REGEX.test(mimeType))) {
100
+ const acceptEncodingSet = new Set(c.req.header("Accept-Encoding")?.split(",").map((encoding) => encoding.trim()));
101
+ for (const encoding of ENCODINGS_ORDERED_KEYS) {
102
+ if (!acceptEncodingSet.has(encoding)) continue;
103
+ const precompressedStats = getStats(path + ENCODINGS[encoding]);
104
+ if (precompressedStats) {
105
+ c.header("Content-Encoding", encoding);
106
+ c.header("Vary", "Accept-Encoding", { append: true });
107
+ stats = precompressedStats;
108
+ path = path + ENCODINGS[encoding];
109
+ break;
110
+ }
111
+ }
112
+ }
113
+ let result;
114
+ const size = stats.size;
115
+ const range = c.req.header("range") || "";
116
+ c.header("Last-Modified", stats.mtime.toUTCString());
117
+ if (c.req.method == "HEAD" || c.req.method == "OPTIONS") {
118
+ c.header("Content-Length", size.toString());
119
+ c.status(200);
120
+ result = c.body(null);
121
+ } else if (!range) {
122
+ c.header("Content-Length", size.toString());
123
+ result = c.body(require_utils_stream.createStreamBody((0, node_fs.createReadStream)(path)), 200);
124
+ } else {
125
+ c.header("Accept-Ranges", "bytes");
126
+ const resolvedRange = resolveByteRange(parseByteRange(range) ?? {
127
+ type: "open-ended",
128
+ start: 0
129
+ }, size);
130
+ if (!resolvedRange) {
131
+ c.header("Content-Range", `bytes */${size}`);
132
+ result = c.body(null, 416);
133
+ } else {
134
+ const { start, end } = resolvedRange;
135
+ const chunkSize = end - start + 1;
136
+ const stream = (0, node_fs.createReadStream)(path, {
137
+ start,
138
+ end
139
+ });
140
+ c.header("Content-Length", chunkSize.toString());
141
+ c.header("Content-Range", `bytes ${start}-${end}/${size}`);
142
+ result = c.body(require_utils_stream.createStreamBody(stream), 206);
143
+ }
144
+ }
145
+ await options.onFound?.(path, c);
146
+ return result;
147
+ };
148
+ };
149
+
150
+ //#endregion
151
+ exports.serveStatic = serveStatic;
@@ -0,0 +1,18 @@
1
+ import { Context, Env, MiddlewareHandler } from "hono";
2
+
3
+ //#region src/serve-static.d.ts
4
+ type ServeStaticOptions<E extends Env = Env> = {
5
+ /**
6
+ * Root path. Relative path is based on current working directory from which the app was started.
7
+ */
8
+ root?: string;
9
+ path?: string;
10
+ index?: string;
11
+ precompressed?: boolean;
12
+ rewriteRequestPath?: (path: string, c: Context<E>) => string;
13
+ onFound?: (path: string, c: Context<E>) => void | Promise<void>;
14
+ onNotFound?: (path: string, c: Context<E>) => void | Promise<void>;
15
+ };
16
+ declare const serveStatic: <E extends Env = any>(options?: ServeStaticOptions<E>) => MiddlewareHandler<E>;
17
+ //#endregion
18
+ export { ServeStaticOptions, serveStatic };
@@ -1,17 +1,18 @@
1
- import { Env, Context, MiddlewareHandler } from 'hono';
1
+ import { Context, Env, MiddlewareHandler } from "hono";
2
2
 
3
+ //#region src/serve-static.d.ts
3
4
  type ServeStaticOptions<E extends Env = Env> = {
4
- /**
5
- * Root path, relative to current working directory from which the app was started. Absolute paths are not supported.
6
- */
7
- root?: string;
8
- path?: string;
9
- index?: string;
10
- precompressed?: boolean;
11
- rewriteRequestPath?: (path: string, c: Context<E>) => string;
12
- onFound?: (path: string, c: Context<E>) => void | Promise<void>;
13
- onNotFound?: (path: string, c: Context<E>) => void | Promise<void>;
5
+ /**
6
+ * Root path. Relative path is based on current working directory from which the app was started.
7
+ */
8
+ root?: string;
9
+ path?: string;
10
+ index?: string;
11
+ precompressed?: boolean;
12
+ rewriteRequestPath?: (path: string, c: Context<E>) => string;
13
+ onFound?: (path: string, c: Context<E>) => void | Promise<void>;
14
+ onNotFound?: (path: string, c: Context<E>) => void | Promise<void>;
14
15
  };
15
16
  declare const serveStatic: <E extends Env = any>(options?: ServeStaticOptions<E>) => MiddlewareHandler<E>;
16
-
17
- export { type ServeStaticOptions, serveStatic };
17
+ //#endregion
18
+ export { ServeStaticOptions, serveStatic };
@@ -1,152 +1,150 @@
1
- // src/serve-static.ts
1
+ import { createStreamBody } from "./utils/stream.mjs";
2
2
  import { getMimeType } from "hono/utils/mime";
3
- import { createReadStream, statSync, existsSync } from "fs";
4
- import { join } from "path";
5
- import { versions } from "process";
6
- import { Readable } from "stream";
7
- var COMPRESSIBLE_CONTENT_TYPE_REGEX = /^\s*(?:text\/[^;\s]+|application\/(?:javascript|json|xml|xml-dtd|ecmascript|dart|postscript|rtf|tar|toml|vnd\.dart|vnd\.ms-fontobject|vnd\.ms-opentype|wasm|x-httpd-php|x-javascript|x-ns-proxy-autoconfig|x-sh|x-tar|x-virtualbox-hdd|x-virtualbox-ova|x-virtualbox-ovf|x-virtualbox-vbox|x-virtualbox-vdi|x-virtualbox-vhd|x-virtualbox-vmdk|x-www-form-urlencoded)|font\/(?:otf|ttf)|image\/(?:bmp|vnd\.adobe\.photoshop|vnd\.microsoft\.icon|vnd\.ms-dds|x-icon|x-ms-bmp)|message\/rfc822|model\/gltf-binary|x-shader\/x-fragment|x-shader\/x-vertex|[^;\s]+?\+(?:json|text|xml|yaml))(?:[;\s]|$)/i;
8
- var ENCODINGS = {
9
- br: ".br",
10
- zstd: ".zst",
11
- gzip: ".gz"
3
+ import { createReadStream, existsSync, statSync } from "node:fs";
4
+ import { join } from "node:path";
5
+
6
+ //#region src/serve-static.ts
7
+ const COMPRESSIBLE_CONTENT_TYPE_REGEX = /^\s*(?:text\/[^;\s]+|application\/(?:javascript|json|xml|xml-dtd|ecmascript|dart|postscript|rtf|tar|toml|vnd\.dart|vnd\.ms-fontobject|vnd\.ms-opentype|wasm|x-httpd-php|x-javascript|x-ns-proxy-autoconfig|x-sh|x-tar|x-virtualbox-hdd|x-virtualbox-ova|x-virtualbox-ovf|x-virtualbox-vbox|x-virtualbox-vdi|x-virtualbox-vhd|x-virtualbox-vmdk|x-www-form-urlencoded)|font\/(?:otf|ttf)|image\/(?:bmp|vnd\.adobe\.photoshop|vnd\.microsoft\.icon|vnd\.ms-dds|x-icon|x-ms-bmp)|message\/rfc822|model\/gltf-binary|x-shader\/x-fragment|x-shader\/x-vertex|[^;\s]+?\+(?:json|text|xml|yaml))(?:[;\s]|$)/i;
8
+ const ENCODINGS = {
9
+ br: ".br",
10
+ zstd: ".zst",
11
+ gzip: ".gz"
12
12
  };
13
- var ENCODINGS_ORDERED_KEYS = Object.keys(ENCODINGS);
14
- var pr54206Applied = () => {
15
- const [major, minor] = versions.node.split(".").map((component) => parseInt(component));
16
- return major >= 23 || major === 22 && minor >= 7 || major === 20 && minor >= 18;
13
+ const ENCODINGS_ORDERED_KEYS = Object.keys(ENCODINGS);
14
+ const getStats = (path) => {
15
+ let stats;
16
+ try {
17
+ stats = statSync(path);
18
+ } catch {}
19
+ return stats;
17
20
  };
18
- var useReadableToWeb = pr54206Applied();
19
- var createStreamBody = (stream) => {
20
- if (useReadableToWeb) {
21
- return Readable.toWeb(stream);
22
- }
23
- const body = new ReadableStream({
24
- start(controller) {
25
- stream.on("data", (chunk) => {
26
- controller.enqueue(chunk);
27
- });
28
- stream.on("error", (err) => {
29
- controller.error(err);
30
- });
31
- stream.on("end", () => {
32
- controller.close();
33
- });
34
- },
35
- cancel() {
36
- stream.destroy();
37
- }
38
- });
39
- return body;
21
+ const BYTE_RANGE_PATTERN = /^(?:bytes=)?(?!-$)(\d*)-(\d*)$/;
22
+ const parseByteRange = (range) => {
23
+ const match = range.match(BYTE_RANGE_PATTERN);
24
+ if (!match) return;
25
+ const [, start, end] = match;
26
+ if (start === "") return {
27
+ type: "suffix",
28
+ length: Number(end)
29
+ };
30
+ if (end === "") return {
31
+ type: "open-ended",
32
+ start: Number(start)
33
+ };
34
+ return {
35
+ type: "bounded",
36
+ start: Number(start),
37
+ end: Number(end)
38
+ };
40
39
  };
41
- var getStats = (path) => {
42
- let stats;
43
- try {
44
- stats = statSync(path);
45
- } catch {
46
- }
47
- return stats;
40
+ const resolveByteRange = (spec, size) => {
41
+ if (size === 0) return;
42
+ if (spec.type === "suffix") {
43
+ if (spec.length === 0) return;
44
+ return {
45
+ start: Math.max(size - spec.length, 0),
46
+ end: size - 1
47
+ };
48
+ }
49
+ const end = spec.type === "bounded" ? Math.min(spec.end, size - 1) : size - 1;
50
+ if (spec.start >= size || spec.start > end) return;
51
+ return {
52
+ start: spec.start,
53
+ end
54
+ };
48
55
  };
49
- var tryDecode = (str, decoder) => {
50
- try {
51
- return decoder(str);
52
- } catch {
53
- return str.replace(/(?:%[0-9A-Fa-f]{2})+/g, (match) => {
54
- try {
55
- return decoder(match);
56
- } catch {
57
- return match;
58
- }
59
- });
60
- }
56
+ const tryDecode = (str, decoder) => {
57
+ try {
58
+ return decoder(str);
59
+ } catch {
60
+ return str.replace(/(?:%[0-9A-Fa-f]{2})+/g, (match) => {
61
+ try {
62
+ return decoder(match);
63
+ } catch {
64
+ return match;
65
+ }
66
+ });
67
+ }
61
68
  };
62
- var tryDecodeURI = (str) => tryDecode(str, decodeURI);
63
- var serveStatic = (options = { root: "" }) => {
64
- const root = options.root || "";
65
- const optionPath = options.path;
66
- if (root !== "" && !existsSync(root)) {
67
- console.error(`serveStatic: root path '${root}' is not found, are you sure it's correct?`);
68
- }
69
- return async (c, next) => {
70
- if (c.finalized) {
71
- return next();
72
- }
73
- let filename;
74
- if (optionPath) {
75
- filename = optionPath;
76
- } else {
77
- try {
78
- filename = tryDecodeURI(c.req.path);
79
- if (/(?:^|[\/\\])\.{1,2}(?:$|[\/\\])|[\/\\]{2,}/.test(filename)) {
80
- throw new Error();
81
- }
82
- } catch {
83
- await options.onNotFound?.(c.req.path, c);
84
- return next();
85
- }
86
- }
87
- let path = join(
88
- root,
89
- !optionPath && options.rewriteRequestPath ? options.rewriteRequestPath(filename, c) : filename
90
- );
91
- let stats = getStats(path);
92
- if (stats && stats.isDirectory()) {
93
- const indexFile = options.index ?? "index.html";
94
- path = join(path, indexFile);
95
- stats = getStats(path);
96
- }
97
- if (!stats) {
98
- await options.onNotFound?.(path, c);
99
- return next();
100
- }
101
- const mimeType = getMimeType(path);
102
- c.header("Content-Type", mimeType || "application/octet-stream");
103
- if (options.precompressed && (!mimeType || COMPRESSIBLE_CONTENT_TYPE_REGEX.test(mimeType))) {
104
- const acceptEncodingSet = new Set(
105
- c.req.header("Accept-Encoding")?.split(",").map((encoding) => encoding.trim())
106
- );
107
- for (const encoding of ENCODINGS_ORDERED_KEYS) {
108
- if (!acceptEncodingSet.has(encoding)) {
109
- continue;
110
- }
111
- const precompressedStats = getStats(path + ENCODINGS[encoding]);
112
- if (precompressedStats) {
113
- c.header("Content-Encoding", encoding);
114
- c.header("Vary", "Accept-Encoding", { append: true });
115
- stats = precompressedStats;
116
- path = path + ENCODINGS[encoding];
117
- break;
118
- }
119
- }
120
- }
121
- let result;
122
- const size = stats.size;
123
- const range = c.req.header("range") || "";
124
- if (c.req.method == "HEAD" || c.req.method == "OPTIONS") {
125
- c.header("Content-Length", size.toString());
126
- c.status(200);
127
- result = c.body(null);
128
- } else if (!range) {
129
- c.header("Content-Length", size.toString());
130
- result = c.body(createStreamBody(createReadStream(path)), 200);
131
- } else {
132
- c.header("Accept-Ranges", "bytes");
133
- c.header("Date", stats.birthtime.toUTCString());
134
- const parts = range.replace(/bytes=/, "").split("-", 2);
135
- const start = parseInt(parts[0], 10) || 0;
136
- let end = parseInt(parts[1], 10) || size - 1;
137
- if (size < end - start + 1) {
138
- end = size - 1;
139
- }
140
- const chunksize = end - start + 1;
141
- const stream = createReadStream(path, { start, end });
142
- c.header("Content-Length", chunksize.toString());
143
- c.header("Content-Range", `bytes ${start}-${end}/${stats.size}`);
144
- result = c.body(createStreamBody(stream), 206);
145
- }
146
- await options.onFound?.(path, c);
147
- return result;
148
- };
149
- };
150
- export {
151
- serveStatic
69
+ const tryDecodeURI = (str) => tryDecode(str, decodeURI);
70
+ const serveStatic = (options = { root: "" }) => {
71
+ const root = options.root || "";
72
+ const optionPath = options.path;
73
+ if (root !== "" && !existsSync(root)) console.error(`serveStatic: root path '${root}' is not found, are you sure it's correct?`);
74
+ return async (c, next) => {
75
+ if (c.finalized) return next();
76
+ let filename;
77
+ if (optionPath) filename = optionPath;
78
+ else try {
79
+ filename = tryDecodeURI(c.req.path);
80
+ if (/(?:^|[\/\\])\.{1,2}(?:$|[\/\\])|[\/\\]{2,}|\\/.test(filename)) throw new Error();
81
+ } catch {
82
+ await options.onNotFound?.(c.req.path, c);
83
+ return next();
84
+ }
85
+ let path = join(root, !optionPath && options.rewriteRequestPath ? options.rewriteRequestPath(filename, c) : filename);
86
+ let stats = getStats(path);
87
+ if (stats && stats.isDirectory()) {
88
+ const indexFile = options.index ?? "index.html";
89
+ path = join(path, indexFile);
90
+ stats = getStats(path);
91
+ }
92
+ if (!stats) {
93
+ await options.onNotFound?.(path, c);
94
+ return next();
95
+ }
96
+ const mimeType = getMimeType(path);
97
+ c.header("Content-Type", mimeType || "application/octet-stream");
98
+ if (options.precompressed && (!mimeType || mimeType === "application/octet-stream" || COMPRESSIBLE_CONTENT_TYPE_REGEX.test(mimeType))) {
99
+ const acceptEncodingSet = new Set(c.req.header("Accept-Encoding")?.split(",").map((encoding) => encoding.trim()));
100
+ for (const encoding of ENCODINGS_ORDERED_KEYS) {
101
+ if (!acceptEncodingSet.has(encoding)) continue;
102
+ const precompressedStats = getStats(path + ENCODINGS[encoding]);
103
+ if (precompressedStats) {
104
+ c.header("Content-Encoding", encoding);
105
+ c.header("Vary", "Accept-Encoding", { append: true });
106
+ stats = precompressedStats;
107
+ path = path + ENCODINGS[encoding];
108
+ break;
109
+ }
110
+ }
111
+ }
112
+ let result;
113
+ const size = stats.size;
114
+ const range = c.req.header("range") || "";
115
+ c.header("Last-Modified", stats.mtime.toUTCString());
116
+ if (c.req.method == "HEAD" || c.req.method == "OPTIONS") {
117
+ c.header("Content-Length", size.toString());
118
+ c.status(200);
119
+ result = c.body(null);
120
+ } else if (!range) {
121
+ c.header("Content-Length", size.toString());
122
+ result = c.body(createStreamBody(createReadStream(path)), 200);
123
+ } else {
124
+ c.header("Accept-Ranges", "bytes");
125
+ const resolvedRange = resolveByteRange(parseByteRange(range) ?? {
126
+ type: "open-ended",
127
+ start: 0
128
+ }, size);
129
+ if (!resolvedRange) {
130
+ c.header("Content-Range", `bytes */${size}`);
131
+ result = c.body(null, 416);
132
+ } else {
133
+ const { start, end } = resolvedRange;
134
+ const chunkSize = end - start + 1;
135
+ const stream = createReadStream(path, {
136
+ start,
137
+ end
138
+ });
139
+ c.header("Content-Length", chunkSize.toString());
140
+ c.header("Content-Range", `bytes ${start}-${end}/${size}`);
141
+ result = c.body(createStreamBody(stream), 206);
142
+ }
143
+ }
144
+ await options.onFound?.(path, c);
145
+ return result;
146
+ };
152
147
  };
148
+
149
+ //#endregion
150
+ export { serveStatic };
@@ -0,0 +1,8 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_constants = require('../constants-BXAKTxRC.cjs');
3
+
4
+ //#region src/utils/response.ts
5
+ const RESPONSE_ALREADY_SENT = new Response(null, { headers: { [require_constants.X_ALREADY_SENT]: "true" } });
6
+
7
+ //#endregion
8
+ exports.RESPONSE_ALREADY_SENT = RESPONSE_ALREADY_SENT;
@@ -0,0 +1,4 @@
1
+ //#region src/utils/response.d.ts
2
+ declare const RESPONSE_ALREADY_SENT: Response;
3
+ //#endregion
4
+ export { RESPONSE_ALREADY_SENT };
@@ -1,3 +1,4 @@
1
+ //#region src/utils/response.d.ts
1
2
  declare const RESPONSE_ALREADY_SENT: Response;
2
-
3
- export { RESPONSE_ALREADY_SENT };
3
+ //#endregion
4
+ export { RESPONSE_ALREADY_SENT };
@@ -1,10 +1,7 @@
1
- // src/utils/response/constants.ts
2
- var X_ALREADY_SENT = "x-hono-already-sent";
1
+ import { t as X_ALREADY_SENT } from "../constants-BLSFu_RU.mjs";
3
2
 
4
- // src/utils/response.ts
5
- var RESPONSE_ALREADY_SENT = new Response(null, {
6
- headers: { [X_ALREADY_SENT]: "true" }
7
- });
8
- export {
9
- RESPONSE_ALREADY_SENT
10
- };
3
+ //#region src/utils/response.ts
4
+ const RESPONSE_ALREADY_SENT = new Response(null, { headers: { [X_ALREADY_SENT]: "true" } });
5
+
6
+ //#endregion
7
+ export { RESPONSE_ALREADY_SENT };
@@ -0,0 +1,65 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ let node_stream = require("node:stream");
3
+ let node_process = require("node:process");
4
+
5
+ //#region src/utils/stream.ts
6
+ const pr54206Applied = () => {
7
+ const [major, minor] = node_process.versions.node.split(".").map((component) => parseInt(component));
8
+ return major >= 23 || major === 22 && minor >= 7 || major === 20 && minor >= 18;
9
+ };
10
+ const useReadableToWeb = pr54206Applied();
11
+ const createStreamBody = (stream, useNativeReadableToWeb = useReadableToWeb) => {
12
+ if (useNativeReadableToWeb) return node_stream.Readable.toWeb(stream);
13
+ let controller;
14
+ let settled = false;
15
+ const cleanup = () => {
16
+ stream.off("data", onData);
17
+ stream.off("error", onError);
18
+ stream.off("end", onTerminate);
19
+ stream.off("close", onTerminate);
20
+ };
21
+ const settle = (callback) => {
22
+ if (settled) return;
23
+ settled = true;
24
+ cleanup();
25
+ callback?.();
26
+ };
27
+ const onData = (chunk) => {
28
+ if (settled || !controller) return;
29
+ controller.enqueue(chunk);
30
+ if ((controller.desiredSize ?? 0) <= 0) stream.pause();
31
+ };
32
+ const onError = (error) => {
33
+ settle(() => {
34
+ controller?.error(error);
35
+ });
36
+ };
37
+ const onTerminate = () => {
38
+ settle(() => {
39
+ controller?.close();
40
+ });
41
+ };
42
+ return new ReadableStream({
43
+ start(streamController) {
44
+ controller = streamController;
45
+ stream.on("data", onData);
46
+ stream.on("error", onError);
47
+ stream.on("end", onTerminate);
48
+ stream.on("close", onTerminate);
49
+ stream.pause();
50
+ },
51
+ pull() {
52
+ if (!settled) stream.resume();
53
+ },
54
+ cancel() {
55
+ settle();
56
+ const ignoreError = () => {};
57
+ stream.on("error", ignoreError);
58
+ stream.once("close", () => stream.off("error", ignoreError));
59
+ stream.destroy();
60
+ }
61
+ });
62
+ };
63
+
64
+ //#endregion
65
+ exports.createStreamBody = createStreamBody;
@@ -0,0 +1,6 @@
1
+ import { ReadStream } from "node:fs";
2
+
3
+ //#region src/utils/stream.d.ts
4
+ declare const createStreamBody: (stream: ReadStream, useNativeReadableToWeb?: boolean) => ReadableStream<Uint8Array>;
5
+ //#endregion
6
+ export { createStreamBody };
@@ -0,0 +1,6 @@
1
+ import { ReadStream } from "node:fs";
2
+
3
+ //#region src/utils/stream.d.ts
4
+ declare const createStreamBody: (stream: ReadStream, useNativeReadableToWeb?: boolean) => ReadableStream<Uint8Array>;
5
+ //#endregion
6
+ export { createStreamBody };