vafast 0.4.3 → 0.4.6

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 (170) hide show
  1. package/dist/{base-server-Gakrozqk.d.mts → base-server-CtA1bZSg.d.mts} +2 -2
  2. package/dist/{base-server-Bq4_lJWK.mjs → base-server-DMhpmq5v.mjs} +2 -2
  3. package/dist/{base-server-Bq4_lJWK.mjs.map → base-server-DMhpmq5v.mjs.map} +1 -1
  4. package/dist/{base64url-BY-HBSpL.d.mts → base64url-0N9uQPjZ.d.mts} +1 -1
  5. package/dist/{base64url-DLDOeXsk.mjs → base64url-DUtluDF0.mjs} +1 -1
  6. package/dist/{base64url-DLDOeXsk.mjs.map → base64url-DUtluDF0.mjs.map} +1 -1
  7. package/dist/{component-route-BYV_X1rA.d.mts → component-route-DF5feXJI.d.mts} +2 -2
  8. package/dist/{component-router-DXUXLp1R.mjs → component-router-uSylkByf.mjs} +2 -2
  9. package/dist/{component-router-DXUXLp1R.mjs.map → component-router-uSylkByf.mjs.map} +1 -1
  10. package/dist/{component-server-ARXvZJUQ.mjs → component-server-DIgykV0F.mjs} +7 -7
  11. package/dist/{component-server-ARXvZJUQ.mjs.map → component-server-DIgykV0F.mjs.map} +1 -1
  12. package/dist/{component-server-BOz4Q-Qt.d.mts → component-server-DvcPVnL4.d.mts} +4 -4
  13. package/dist/{create-handler-Dtt0xv6g.d.mts → create-handler-DRcJRkx9.d.mts} +2 -2
  14. package/dist/{create-handler-CbSoroA1.mjs → create-handler-IzOE24L5.mjs} +5 -5
  15. package/dist/{create-handler-CbSoroA1.mjs.map → create-handler-IzOE24L5.mjs.map} +1 -1
  16. package/dist/defineRoute.d.mts +3 -3
  17. package/dist/{dependency-manager-CPkwMI7J.mjs → dependency-manager-BpN2YufZ.mjs} +2 -2
  18. package/dist/{dependency-manager-CPkwMI7J.mjs.map → dependency-manager-BpN2YufZ.mjs.map} +1 -1
  19. package/dist/{dependency-manager-Dbug5INp.d.mts → dependency-manager-C_qZvkaw.d.mts} +1 -1
  20. package/dist/{formats-BSqJWCsG.d.mts → formats-CYLwo9GJ.d.mts} +1 -1
  21. package/dist/{go-await-B-KP-K8x.mjs → go-await-2Pzj4snS.mjs} +1 -1
  22. package/dist/{go-await-B-KP-K8x.mjs.map → go-await-2Pzj4snS.mjs.map} +1 -1
  23. package/dist/{go-await-CqPx9dVQ.d.mts → go-await-DRItVwwh.d.mts} +1 -1
  24. package/dist/{handle-DOidKTI-.d.mts → handle-D0TFoOiX.d.mts} +1 -1
  25. package/dist/{handle-BhpqNgGf.mjs → handle-s4V-E2RE.mjs} +2 -2
  26. package/dist/{handle-BhpqNgGf.mjs.map → handle-s4V-E2RE.mjs.map} +1 -1
  27. package/dist/{html-renderer-C3LKTLme.d.mts → html-renderer-CMGKJoIy.d.mts} +1 -1
  28. package/dist/{html-renderer-CJ3B2Hft.mjs → html-renderer-CuakkPIt.mjs} +2 -2
  29. package/dist/{html-renderer-CJ3B2Hft.mjs.map → html-renderer-CuakkPIt.mjs.map} +1 -1
  30. package/dist/{index-DFsQyT61.d.mts → index-CdOYxwDQ.d.mts} +5 -5
  31. package/dist/index.d.mts +25 -30
  32. package/dist/index.mjs +21 -27
  33. package/dist/index.mjs.map +1 -1
  34. package/dist/middleware/component-router.d.mts +1 -1
  35. package/dist/middleware/component-router.mjs +1 -1
  36. package/dist/middleware-5PjaxPMA.d.mts +23 -0
  37. package/dist/middleware-CV5o-4wk.mjs +189 -0
  38. package/dist/middleware-CV5o-4wk.mjs.map +1 -0
  39. package/dist/middleware.d.mts +4 -25
  40. package/dist/middleware.mjs +1 -1
  41. package/dist/monitoring/index.d.mts +6 -6
  42. package/dist/monitoring/index.mjs +5 -3
  43. package/dist/monitoring/index.mjs.map +1 -1
  44. package/dist/monitoring/native-monitor.d.mts +6 -6
  45. package/dist/monitoring/native-monitor.mjs +6 -4
  46. package/dist/monitoring/native-monitor.mjs.map +1 -1
  47. package/dist/node-server/index.d.mts +1 -1
  48. package/dist/node-server/index.mjs +3 -3
  49. package/dist/node-server/request.mjs +1 -1
  50. package/dist/node-server/response.mjs +1 -1
  51. package/dist/node-server/serve.d.mts +1 -1
  52. package/dist/node-server/serve.mjs +2 -2
  53. package/dist/{parsers-CodQFP1Z.d.mts → parsers-7lvt3Oss.d.mts} +1 -1
  54. package/dist/{parsers-ROIZWSGI.mjs → parsers-BQ63b0YE.mjs} +1 -1
  55. package/dist/{parsers-ROIZWSGI.mjs.map → parsers-BQ63b0YE.mjs.map} +1 -1
  56. package/dist/{path-matcher-CXMJ-IrG.mjs → path-matcher-BNaaJgI3.mjs} +2 -2
  57. package/dist/{path-matcher-CXMJ-IrG.mjs.map → path-matcher-BNaaJgI3.mjs.map} +1 -1
  58. package/dist/{radix-tree-BWmhTLhT.mjs → radix-tree-Qxr-QpCx.mjs} +2 -2
  59. package/dist/{radix-tree-BWmhTLhT.mjs.map → radix-tree-Qxr-QpCx.mjs.map} +1 -1
  60. package/dist/{request-B2BkUecT.mjs → request-B886yCvG.mjs} +1 -1
  61. package/dist/{request-B2BkUecT.mjs.map → request-B886yCvG.mjs.map} +1 -1
  62. package/dist/{request-validator-u2Ccj3_x.d.mts → request-validator-42lY21gn.d.mts} +2 -2
  63. package/dist/{request-validator-Dyqng-H_.mjs → request-validator-DLFtm4uV.mjs} +3 -3
  64. package/dist/{request-validator-Dyqng-H_.mjs.map → request-validator-DLFtm4uV.mjs.map} +1 -1
  65. package/dist/{response-BhFKEphr.mjs → response-30WnzABq.mjs} +1 -1
  66. package/dist/{response-BhFKEphr.mjs.map → response-30WnzABq.mjs.map} +1 -1
  67. package/dist/response-CxYf6Ep3.d.mts +48 -0
  68. package/dist/{route-BRR15b-p.mjs → route-B3ONOzxQ.mjs} +1 -1
  69. package/dist/{route-BRR15b-p.mjs.map → route-B3ONOzxQ.mjs.map} +1 -1
  70. package/dist/{route-BqmWCG4e.d.mts → route-CUbNpSwz.d.mts} +2 -2
  71. package/dist/{route-registry-AlkDgbcE.mjs → route-registry-BVvbghgH.mjs} +2 -2
  72. package/dist/{route-registry-AlkDgbcE.mjs.map → route-registry-BVvbghgH.mjs.map} +1 -1
  73. package/dist/{route-registry-ykzRmaHB.d.mts → route-registry-CYD7m6QP.d.mts} +2 -2
  74. package/dist/router/index.d.mts +2 -2
  75. package/dist/router/index.mjs +2 -2
  76. package/dist/router/radix-tree.d.mts +3 -3
  77. package/dist/router/radix-tree.mjs +1 -1
  78. package/dist/{router-BOeVQrjz.mjs → router-B9HUUCkR.mjs} +2 -2
  79. package/dist/{router-BOeVQrjz.mjs.map → router-B9HUUCkR.mjs.map} +1 -1
  80. package/dist/router.d.mts +3 -3
  81. package/dist/router.mjs +1 -1
  82. package/dist/{schema-CVuttFSw.d.mts → schema-DOKg31ZX.d.mts} +1 -1
  83. package/dist/{serve-BQQ2JzIH.d.mts → serve-B5WmhK6m.d.mts} +1 -1
  84. package/dist/{serve-MRGGK7-q.mjs → serve-DgWBnexE.mjs} +3 -3
  85. package/dist/{serve-MRGGK7-q.mjs.map → serve-DgWBnexE.mjs.map} +1 -1
  86. package/dist/serve.d.mts +1 -1
  87. package/dist/serve.mjs +2 -2
  88. package/dist/server/base-server.d.mts +3 -3
  89. package/dist/server/base-server.mjs +1 -1
  90. package/dist/server/component-server.d.mts +4 -4
  91. package/dist/server/component-server.mjs +2 -2
  92. package/dist/server/index.d.mts +6 -6
  93. package/dist/server/index.mjs +6 -5
  94. package/dist/server/server-factory.d.mts +6 -6
  95. package/dist/server/server-factory.mjs +5 -3
  96. package/dist/server/server.d.mts +4 -4
  97. package/dist/server/server.mjs +2 -1
  98. package/dist/{server-B0nzGCG5.mjs → server-BttM6Ssc.mjs} +5 -5
  99. package/dist/{server-B0nzGCG5.mjs.map → server-BttM6Ssc.mjs.map} +1 -1
  100. package/dist/{server-C8WCshmG.mjs → server-C3yoZXNs.mjs} +7 -8
  101. package/dist/{server-C8WCshmG.mjs.map → server-C3yoZXNs.mjs.map} +1 -1
  102. package/dist/{server-Drc2kSxp.d.mts → server-CWIZP6nb.d.mts} +3 -3
  103. package/dist/{sse-BOd2pvUK.d.mts → sse-BDIptC85.d.mts} +2 -2
  104. package/dist/{sse-US5D9mgE.mjs → sse-CCVfFW6s.mjs} +3 -3
  105. package/dist/{sse-US5D9mgE.mjs.map → sse-CCVfFW6s.mjs.map} +1 -1
  106. package/dist/types/component-route.d.mts +1 -1
  107. package/dist/types/index.d.mts +5 -5
  108. package/dist/types/index.mjs +1 -1
  109. package/dist/types/route.d.mts +1 -1
  110. package/dist/types/route.mjs +1 -1
  111. package/dist/types/schema.d.mts +1 -1
  112. package/dist/types/types.d.mts +1 -1
  113. package/dist/{types-Cb7_2VSt.d.mts → types-mpeSaHdI.d.mts} +1 -1
  114. package/dist/utils/base64url.d.mts +1 -1
  115. package/dist/utils/base64url.mjs +1 -1
  116. package/dist/utils/create-handler.d.mts +2 -2
  117. package/dist/utils/create-handler.mjs +4 -3
  118. package/dist/utils/dependency-manager.d.mts +1 -1
  119. package/dist/utils/dependency-manager.mjs +1 -1
  120. package/dist/utils/formats.d.mts +1 -1
  121. package/dist/utils/go-await.d.mts +1 -1
  122. package/dist/utils/go-await.mjs +1 -1
  123. package/dist/utils/handle.d.mts +1 -1
  124. package/dist/utils/handle.mjs +2 -2
  125. package/dist/utils/html-renderer.d.mts +1 -1
  126. package/dist/utils/html-renderer.mjs +1 -1
  127. package/dist/utils/index.d.mts +17 -16
  128. package/dist/utils/index.mjs +13 -13
  129. package/dist/utils/index.mjs.map +1 -1
  130. package/dist/utils/parsers.d.mts +1 -1
  131. package/dist/utils/parsers.mjs +1 -1
  132. package/dist/utils/path-matcher.mjs +1 -1
  133. package/dist/utils/request-validator.d.mts +2 -2
  134. package/dist/utils/request-validator.mjs +3 -3
  135. package/dist/utils/response.d.mts +5 -2
  136. package/dist/utils/response.mjs +2 -2
  137. package/dist/utils/route-registry.d.mts +3 -3
  138. package/dist/utils/route-registry.mjs +1 -1
  139. package/dist/utils/sse.d.mts +2 -2
  140. package/dist/utils/sse.mjs +3 -3
  141. package/dist/utils/validators/validators.d.mts +1 -1
  142. package/dist/utils/validators/validators.mjs +1 -1
  143. package/dist/{validators-C0eZyxPh.d.mts → validators-CPmnj_y9.d.mts} +1 -1
  144. package/dist/{validators-CbCLj0Rc.mjs → validators-WXQ49LcR.mjs} +1 -1
  145. package/dist/{validators-CbCLj0Rc.mjs.map → validators-WXQ49LcR.mjs.map} +1 -1
  146. package/package.json +1 -1
  147. package/dist/auth/token.d.mts +0 -44
  148. package/dist/auth/token.mjs +0 -105
  149. package/dist/auth/token.mjs.map +0 -1
  150. package/dist/middleware/auth.d.mts +0 -20
  151. package/dist/middleware/auth.mjs +0 -98
  152. package/dist/middleware/auth.mjs.map +0 -1
  153. package/dist/middleware/authMiddleware.d.mts +0 -9
  154. package/dist/middleware/authMiddleware.mjs +0 -19
  155. package/dist/middleware/authMiddleware.mjs.map +0 -1
  156. package/dist/middleware/cors.d.mts +0 -16
  157. package/dist/middleware/cors.mjs +0 -38
  158. package/dist/middleware/cors.mjs.map +0 -1
  159. package/dist/middleware/rateLimit.d.mts +0 -14
  160. package/dist/middleware/rateLimit.mjs +0 -34
  161. package/dist/middleware/rateLimit.mjs.map +0 -1
  162. package/dist/middleware-3ShRJyd1.mjs +0 -59
  163. package/dist/middleware-3ShRJyd1.mjs.map +0 -1
  164. package/dist/response-CSKW5hsS.mjs +0 -97
  165. package/dist/response-CSKW5hsS.mjs.map +0 -1
  166. package/dist/response-CUyV5FIm.d.mts +0 -21
  167. /package/dist/{chunk-67U6L5Jh.mjs → chunk-DW4-Jl94.mjs} +0 -0
  168. /package/dist/{component-route-Do2yyYTi.mjs → component-route-BKUFoJ5P.mjs} +0 -0
  169. /package/dist/{index-DXJd7-2Z.d.mts → index-CTHojwxd.d.mts} +0 -0
  170. /package/dist/{schema-CbAaktsZ.mjs → schema-CflsMJuG.mjs} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"middleware-3ShRJyd1.mjs","names":[],"sources":["../src/middleware.ts"],"sourcesContent":["// src/middleware.ts\n\nimport { json, mapResponse } from \"./utils/response\";\n\nimport type { Handler, Middleware } from \"./types\";\n/** 中间件类型:使用 next() 传递给下一个处理 */\n\n/** Vafast 自定义错误类型 */\nexport class VafastError extends Error {\n status: number;\n type: string;\n expose: boolean;\n\n constructor(\n message: string,\n options: {\n status?: number;\n type?: string;\n expose?: boolean;\n cause?: unknown;\n } = {},\n ) {\n super(message);\n this.name = \"VafastError\";\n this.status = options.status ?? 500;\n this.type = options.type ?? \"internal_error\";\n this.expose = options.expose ?? false;\n if (options.cause) (this as any).cause = options.cause;\n }\n}\n\n/**\n * 组合类型: 自动注入错误处理器进行中间件组合\n */\nexport function composeMiddleware(\n middleware: Middleware[],\n finalHandler: Handler,\n): (req: Request) => Promise<Response> {\n const all = [errorHandler, ...middleware];\n\n return function composedHandler(req: Request): Promise<Response> {\n let i = -1;\n\n const dispatch = (index: number): Promise<Response> => {\n if (index <= i)\n return Promise.reject(new Error(\"next() called multiple times\"));\n i = index;\n\n // 中间件阶段\n if (index < all.length) {\n const mw = all[index];\n return Promise.resolve(mw(req, () => dispatch(index + 1)));\n }\n\n // 最终 handler - 使用 mapResponse 转换返回值\n return Promise.resolve(finalHandler(req)).then(mapResponse);\n };\n\n return dispatch(0);\n };\n}\n\n/** 默认包含的全局错误处理器 */\nconst errorHandler: Middleware = async (req, next) => {\n try {\n return await next();\n } catch (err) {\n console.error(\"未处理的错误:\", err);\n\n if (err instanceof VafastError) {\n return json(\n {\n error: err.type,\n message: err.expose ? err.message : \"发生了一个错误\",\n },\n err.status,\n );\n }\n\n return json({ error: \"internal_error\", message: \"出现了一些问题\" }, 500);\n }\n};\n"],"mappings":";;;;;;;AAkCA,SAAgB,kBACd,YACA,cACqC;CACrC,MAAM,MAAM,CAAC,cAAc,GAAG,WAAW;AAEzC,QAAO,SAAS,gBAAgB,KAAiC;EAC/D,IAAI,IAAI;EAER,MAAM,YAAY,UAAqC;AACrD,OAAI,SAAS,EACX,QAAO,QAAQ,uBAAO,IAAI,MAAM,+BAA+B,CAAC;AAClE,OAAI;AAGJ,OAAI,QAAQ,IAAI,QAAQ;IACtB,MAAM,KAAK,IAAI;AACf,WAAO,QAAQ,QAAQ,GAAG,WAAW,SAAS,QAAQ,EAAE,CAAC,CAAC;;AAI5D,UAAO,QAAQ,QAAQ,aAAa,IAAI,CAAC,CAAC,KAAK,YAAY;;AAG7D,SAAO,SAAS,EAAE;;;;;gBAxD+B;CAMxC,cAAb,cAAiC,MAAM;EACrC;EACA;EACA;EAEA,YACE,SACA,UAKI,EAAE,EACN;AACA,SAAM,QAAQ;AACd,QAAK,OAAO;AACZ,QAAK,SAAS,QAAQ,UAAU;AAChC,QAAK,OAAO,QAAQ,QAAQ;AAC5B,QAAK,SAAS,QAAQ,UAAU;AAChC,OAAI,QAAQ,MAAO,CAAC,KAAa,QAAQ,QAAQ;;;CAoC/C,eAA2B,OAAO,KAAK,SAAS;AACpD,MAAI;AACF,UAAO,MAAM,MAAM;WACZ,KAAK;AACZ,WAAQ,MAAM,WAAW,IAAI;AAE7B,OAAI,eAAe,YACjB,QAAO,KACL;IACE,OAAO,IAAI;IACX,SAAS,IAAI,SAAS,IAAI,UAAU;IACrC,EACD,IAAI,OACL;AAGH,UAAO,KAAK;IAAE,OAAO;IAAkB,SAAS;IAAW,EAAE,IAAI"}
@@ -1,97 +0,0 @@
1
- import { t as __esmMin } from "./chunk-67U6L5Jh.mjs";
2
-
3
- //#region src/utils/response.ts
4
- /** 生成 JSON 响应 */
5
- function json(data, status = 200, headers = {}) {
6
- const body = JSON.stringify(data);
7
- if (Object.keys(headers).length === 0) return new Response(body, {
8
- status,
9
- headers: { "Content-Type": "application/json" }
10
- });
11
- const h = new Headers({
12
- "Content-Type": "application/json",
13
- ...headers
14
- });
15
- return new Response(body, {
16
- status,
17
- headers: h
18
- });
19
- }
20
- /**
21
- * 类型特化的响应映射
22
- * 根据返回值类型直接生成 Response,避免不必要的检查
23
- */
24
- function mapResponse(response) {
25
- if (response instanceof Response) return response;
26
- switch (response?.constructor?.name) {
27
- case "String": return new Response(response, { headers: TEXT_HEADERS });
28
- case "Object":
29
- case "Array": return new Response(JSON.stringify(response), { headers: JSON_HEADERS });
30
- case "Number":
31
- case "Boolean": return new Response(String(response), { headers: TEXT_HEADERS });
32
- case void 0: return new Response(null, { status: 204 });
33
- case "ReadableStream": return new Response(response);
34
- case "Blob": return new Response(response);
35
- case "ArrayBuffer": return new Response(response);
36
- case "Uint8Array": return new Response(response);
37
- default:
38
- if (response instanceof Promise) return response.then(mapResponse);
39
- return new Response(JSON.stringify(response), { headers: JSON_HEADERS });
40
- }
41
- }
42
- /** 生成重定向响应 */
43
- function redirect(location, status = 302) {
44
- return new Response(null, {
45
- status,
46
- headers: { Location: location }
47
- });
48
- }
49
- /** 生成纯文本响应 */
50
- function text(content, status = 200, headers = {}) {
51
- const h = new Headers({
52
- "Content-Type": "text/plain; charset=utf-8",
53
- ...headers
54
- });
55
- return new Response(content, {
56
- status,
57
- headers: h
58
- });
59
- }
60
- /** 生成HTML响应 */
61
- function html(content, status = 200, headers = {}) {
62
- const h = new Headers({
63
- "Content-Type": "text/html; charset=utf-8",
64
- ...headers
65
- });
66
- return new Response(content, {
67
- status,
68
- headers: h
69
- });
70
- }
71
- /** 生成空响应(204 No Content) */
72
- function empty(status = 204, headers = {}) {
73
- return new Response(null, {
74
- status,
75
- headers
76
- });
77
- }
78
- /** 生成流式响应 */
79
- function stream(stream$1, status = 200, headers = {}) {
80
- const h = new Headers({
81
- "Content-Type": "application/octet-stream",
82
- ...headers
83
- });
84
- return new Response(stream$1, {
85
- status,
86
- headers: h
87
- });
88
- }
89
- var JSON_HEADERS, TEXT_HEADERS;
90
- var init_response = __esmMin((() => {
91
- JSON_HEADERS = { "Content-Type": "application/json" };
92
- TEXT_HEADERS = { "Content-Type": "text/plain" };
93
- }));
94
-
95
- //#endregion
96
- export { mapResponse as a, text as c, json as i, html as n, redirect as o, init_response as r, stream as s, empty as t };
97
- //# sourceMappingURL=response-CSKW5hsS.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"response-CSKW5hsS.mjs","names":["stream"],"sources":["../src/utils/response.ts"],"sourcesContent":["// src/response.ts\n\n/** 生成 JSON 响应 */\nexport function json(\n data: unknown,\n status = 200,\n headers: HeadersInit = {},\n): Response {\n const body = JSON.stringify(data);\n\n // 优化:只在有自定义 headers 时才创建 Headers 对象\n if (Object.keys(headers).length === 0) {\n return new Response(body, {\n status,\n headers: { \"Content-Type\": \"application/json\" },\n });\n }\n\n // 有自定义 headers 时才创建 Headers 对象\n const h = new Headers({\n \"Content-Type\": \"application/json\",\n ...headers,\n });\n\n return new Response(body, {\n status,\n headers: h,\n });\n}\n\n// JSON 响应的预创建 headers(避免每次创建)\nconst JSON_HEADERS = { \"Content-Type\": \"application/json\" };\nconst TEXT_HEADERS = { \"Content-Type\": \"text/plain\" };\n\n/**\n * 类型特化的响应映射\n * 根据返回值类型直接生成 Response,避免不必要的检查\n */\nexport function mapResponse(response: unknown): Response {\n // 快速路径:已经是 Response\n if (response instanceof Response) return response;\n\n // 使用 constructor.name 进行类型判断(比 instanceof 更快)\n switch (response?.constructor?.name) {\n case \"String\":\n return new Response(response as string, { headers: TEXT_HEADERS });\n\n case \"Object\":\n case \"Array\":\n return new Response(JSON.stringify(response), { headers: JSON_HEADERS });\n\n case \"Number\":\n case \"Boolean\":\n return new Response(String(response), { headers: TEXT_HEADERS });\n\n case undefined:\n // null 或 undefined\n return new Response(null, { status: 204 });\n\n case \"ReadableStream\":\n return new Response(response as ReadableStream);\n\n case \"Blob\":\n return new Response(response as Blob);\n\n case \"ArrayBuffer\":\n return new Response(response as ArrayBuffer);\n\n case \"Uint8Array\":\n return new Response(response as unknown as BodyInit);\n\n default:\n // Promise 处理\n if (response instanceof Promise) {\n return response.then(mapResponse) as unknown as Response;\n }\n // 其他情况使用 JSON 序列化\n return new Response(JSON.stringify(response), { headers: JSON_HEADERS });\n }\n}\n\n/** 生成重定向响应 */\nexport function redirect(location: string, status: 301 | 302 = 302): Response {\n return new Response(null, {\n status,\n headers: {\n Location: location,\n },\n });\n}\n\n/** 生成纯文本响应 */\nexport function text(\n content: string,\n status = 200,\n headers: HeadersInit = {},\n): Response {\n const h = new Headers({\n \"Content-Type\": \"text/plain; charset=utf-8\",\n ...headers,\n });\n\n return new Response(content, {\n status,\n headers: h,\n });\n}\n\n/** 生成HTML响应 */\nexport function html(\n content: string,\n status = 200,\n headers: HeadersInit = {},\n): Response {\n const h = new Headers({\n \"Content-Type\": \"text/html; charset=utf-8\",\n ...headers,\n });\n\n return new Response(content, {\n status,\n headers: h,\n });\n}\n\n/** 生成空响应(204 No Content) */\nexport function empty(status = 204, headers: HeadersInit = {}): Response {\n return new Response(null, {\n status,\n headers,\n });\n}\n\n/** 生成流式响应 */\nexport function stream(\n stream: ReadableStream,\n status = 200,\n headers: HeadersInit = {},\n): Response {\n const h = new Headers({\n \"Content-Type\": \"application/octet-stream\",\n ...headers,\n });\n\n return new Response(stream, {\n status,\n headers: h,\n });\n}\n"],"mappings":";;;;AAGA,SAAgB,KACd,MACA,SAAS,KACT,UAAuB,EAAE,EACf;CACV,MAAM,OAAO,KAAK,UAAU,KAAK;AAGjC,KAAI,OAAO,KAAK,QAAQ,CAAC,WAAW,EAClC,QAAO,IAAI,SAAS,MAAM;EACxB;EACA,SAAS,EAAE,gBAAgB,oBAAoB;EAChD,CAAC;CAIJ,MAAM,IAAI,IAAI,QAAQ;EACpB,gBAAgB;EAChB,GAAG;EACJ,CAAC;AAEF,QAAO,IAAI,SAAS,MAAM;EACxB;EACA,SAAS;EACV,CAAC;;;;;;AAWJ,SAAgB,YAAY,UAA6B;AAEvD,KAAI,oBAAoB,SAAU,QAAO;AAGzC,SAAQ,UAAU,aAAa,MAA/B;EACE,KAAK,SACH,QAAO,IAAI,SAAS,UAAoB,EAAE,SAAS,cAAc,CAAC;EAEpE,KAAK;EACL,KAAK,QACH,QAAO,IAAI,SAAS,KAAK,UAAU,SAAS,EAAE,EAAE,SAAS,cAAc,CAAC;EAE1E,KAAK;EACL,KAAK,UACH,QAAO,IAAI,SAAS,OAAO,SAAS,EAAE,EAAE,SAAS,cAAc,CAAC;EAElE,KAAK,OAEH,QAAO,IAAI,SAAS,MAAM,EAAE,QAAQ,KAAK,CAAC;EAE5C,KAAK,iBACH,QAAO,IAAI,SAAS,SAA2B;EAEjD,KAAK,OACH,QAAO,IAAI,SAAS,SAAiB;EAEvC,KAAK,cACH,QAAO,IAAI,SAAS,SAAwB;EAE9C,KAAK,aACH,QAAO,IAAI,SAAS,SAAgC;EAEtD;AAEE,OAAI,oBAAoB,QACtB,QAAO,SAAS,KAAK,YAAY;AAGnC,UAAO,IAAI,SAAS,KAAK,UAAU,SAAS,EAAE,EAAE,SAAS,cAAc,CAAC;;;;AAK9E,SAAgB,SAAS,UAAkB,SAAoB,KAAe;AAC5E,QAAO,IAAI,SAAS,MAAM;EACxB;EACA,SAAS,EACP,UAAU,UACX;EACF,CAAC;;;AAIJ,SAAgB,KACd,SACA,SAAS,KACT,UAAuB,EAAE,EACf;CACV,MAAM,IAAI,IAAI,QAAQ;EACpB,gBAAgB;EAChB,GAAG;EACJ,CAAC;AAEF,QAAO,IAAI,SAAS,SAAS;EAC3B;EACA,SAAS;EACV,CAAC;;;AAIJ,SAAgB,KACd,SACA,SAAS,KACT,UAAuB,EAAE,EACf;CACV,MAAM,IAAI,IAAI,QAAQ;EACpB,gBAAgB;EAChB,GAAG;EACJ,CAAC;AAEF,QAAO,IAAI,SAAS,SAAS;EAC3B;EACA,SAAS;EACV,CAAC;;;AAIJ,SAAgB,MAAM,SAAS,KAAK,UAAuB,EAAE,EAAY;AACvE,QAAO,IAAI,SAAS,MAAM;EACxB;EACA;EACD,CAAC;;;AAIJ,SAAgB,OACd,UACA,SAAS,KACT,UAAuB,EAAE,EACf;CACV,MAAM,IAAI,IAAI,QAAQ;EACpB,gBAAgB;EAChB,GAAG;EACJ,CAAC;AAEF,QAAO,IAAI,SAASA,UAAQ;EAC1B;EACA,SAAS;EACV,CAAC;;;;CApHE,eAAe,EAAE,gBAAgB,oBAAoB;CACrD,eAAe,EAAE,gBAAgB,cAAc"}
@@ -1,21 +0,0 @@
1
- //#region src/utils/response.d.ts
2
- /** 生成 JSON 响应 */
3
- declare function json(data: unknown, status?: number, headers?: HeadersInit): Response;
4
- /**
5
- * 类型特化的响应映射
6
- * 根据返回值类型直接生成 Response,避免不必要的检查
7
- */
8
- declare function mapResponse(response: unknown): Response;
9
- /** 生成重定向响应 */
10
- declare function redirect(location: string, status?: 301 | 302): Response;
11
- /** 生成纯文本响应 */
12
- declare function text(content: string, status?: number, headers?: HeadersInit): Response;
13
- /** 生成HTML响应 */
14
- declare function html(content: string, status?: number, headers?: HeadersInit): Response;
15
- /** 生成空响应(204 No Content) */
16
- declare function empty(status?: number, headers?: HeadersInit): Response;
17
- /** 生成流式响应 */
18
- declare function stream(stream: ReadableStream, status?: number, headers?: HeadersInit): Response;
19
- //#endregion
20
- export { redirect as a, mapResponse as i, html as n, stream as o, json as r, text as s, empty as t };
21
- //# sourceMappingURL=response-CUyV5FIm.d.mts.map
File without changes