elysia 1.4.26 → 1.4.28
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.
- package/dist/adapter/bun/handler-native.js +5 -3
- package/dist/adapter/bun/handler-native.mjs +5 -3
- package/dist/adapter/bun/handler.js +31 -73
- package/dist/adapter/bun/handler.mjs +31 -73
- package/dist/adapter/bun/index.js +1 -1
- package/dist/adapter/bun/index.mjs +1 -1
- package/dist/adapter/utils.d.ts +2 -2
- package/dist/adapter/utils.js +94 -41
- package/dist/adapter/utils.mjs +93 -41
- package/dist/adapter/web-standard/handler.js +21 -21
- package/dist/adapter/web-standard/handler.mjs +21 -21
- package/dist/compose.js +7 -7
- package/dist/compose.mjs +7 -7
- package/dist/context.d.ts +1 -1
- package/dist/cookies.js +8 -9
- package/dist/cookies.mjs +8 -9
- package/dist/index.d.ts +2 -2
- package/dist/index.js +54 -2
- package/dist/index.mjs +54 -2
- package/dist/schema.d.ts +10 -5
- package/dist/schema.js +43 -27
- package/dist/schema.mjs +43 -27
- package/dist/type-system/types.d.ts +30 -3
- package/dist/types.d.ts +3 -0
- package/package.json +1 -2
- package/dist/bun/index.js +0 -411
- package/dist/bun/index.js.map +0 -38
|
@@ -23,7 +23,9 @@ const createNativeStaticHandler = (handle, hooks, set) => {
|
|
|
23
23
|
if (typeof handle == "function" || handle instanceof Blob) return;
|
|
24
24
|
if ((0, import_index.isHTMLBundle)(handle)) return () => handle;
|
|
25
25
|
const response = (0, import_handler.mapResponse)(
|
|
26
|
-
handle instanceof Response ? handle.clone() : handle instanceof Promise ? handle.then(
|
|
26
|
+
handle instanceof Response ? handle.clone() : handle instanceof Promise ? handle.then(
|
|
27
|
+
(x) => x instanceof Response ? x.clone() : (0, import_index.isHTMLBundle)(x) ? () => x : x
|
|
28
|
+
) : handle,
|
|
27
29
|
set ?? {
|
|
28
30
|
headers: {}
|
|
29
31
|
}
|
|
@@ -31,8 +33,8 @@ const createNativeStaticHandler = (handle, hooks, set) => {
|
|
|
31
33
|
if (!hooks.parse?.length && !hooks.transform?.length && !hooks.beforeHandle?.length && !hooks.afterHandle?.length)
|
|
32
34
|
return response instanceof Promise ? response.then((response2) => {
|
|
33
35
|
if (response2)
|
|
34
|
-
return response2.
|
|
35
|
-
}) : (
|
|
36
|
+
return response2.clone();
|
|
37
|
+
}) : () => response.clone();
|
|
36
38
|
};
|
|
37
39
|
// Annotate the CommonJS export names for ESM import in node:
|
|
38
40
|
0 && (module.exports = {
|
|
@@ -4,7 +4,9 @@ const createNativeStaticHandler = (handle, hooks, set) => {
|
|
|
4
4
|
if (typeof handle == "function" || handle instanceof Blob) return;
|
|
5
5
|
if (isHTMLBundle(handle)) return () => handle;
|
|
6
6
|
const response = mapResponse(
|
|
7
|
-
handle instanceof Response ? handle.clone() : handle instanceof Promise ? handle.then(
|
|
7
|
+
handle instanceof Response ? handle.clone() : handle instanceof Promise ? handle.then(
|
|
8
|
+
(x) => x instanceof Response ? x.clone() : isHTMLBundle(x) ? () => x : x
|
|
9
|
+
) : handle,
|
|
8
10
|
set ?? {
|
|
9
11
|
headers: {}
|
|
10
12
|
}
|
|
@@ -12,8 +14,8 @@ const createNativeStaticHandler = (handle, hooks, set) => {
|
|
|
12
14
|
if (!hooks.parse?.length && !hooks.transform?.length && !hooks.beforeHandle?.length && !hooks.afterHandle?.length)
|
|
13
15
|
return response instanceof Promise ? response.then((response2) => {
|
|
14
16
|
if (response2)
|
|
15
|
-
return response2.
|
|
16
|
-
}) : (
|
|
17
|
+
return response2.clone();
|
|
18
|
+
}) : () => response.clone();
|
|
17
19
|
};
|
|
18
20
|
export {
|
|
19
21
|
createNativeStaticHandler
|
|
@@ -30,13 +30,13 @@ const mapResponse = (response, set, request) => {
|
|
|
30
30
|
return new Response(response, set);
|
|
31
31
|
case "Array":
|
|
32
32
|
case "Object":
|
|
33
|
-
return
|
|
33
|
+
return Response.json(response, set);
|
|
34
34
|
case "ElysiaFile":
|
|
35
|
-
return (0, import_utils.handleFile)(response.value, set);
|
|
35
|
+
return (0, import_utils.handleFile)(response.value, set, request);
|
|
36
36
|
case "File":
|
|
37
|
-
return (0, import_utils.handleFile)(response, set);
|
|
37
|
+
return (0, import_utils.handleFile)(response, set, request);
|
|
38
38
|
case "Blob":
|
|
39
|
-
return (0, import_utils.handleFile)(response, set);
|
|
39
|
+
return (0, import_utils.handleFile)(response, set, request);
|
|
40
40
|
case "ElysiaCustomStatusResponse":
|
|
41
41
|
return set.status = response.code, mapResponse(
|
|
42
42
|
response.response,
|
|
@@ -44,7 +44,7 @@ const mapResponse = (response, set, request) => {
|
|
|
44
44
|
request
|
|
45
45
|
);
|
|
46
46
|
case void 0:
|
|
47
|
-
return response ?
|
|
47
|
+
return response ? Response.json(response, set) : new Response("", set);
|
|
48
48
|
case "Response":
|
|
49
49
|
return handleResponse(response, set, request);
|
|
50
50
|
case "Error":
|
|
@@ -88,20 +88,13 @@ const mapResponse = (response, set, request) => {
|
|
|
88
88
|
(x) => mapResponse(x, set)
|
|
89
89
|
);
|
|
90
90
|
if (Array.isArray(response))
|
|
91
|
-
return
|
|
92
|
-
headers: {
|
|
93
|
-
"Content-Type": "application/json"
|
|
94
|
-
}
|
|
95
|
-
});
|
|
91
|
+
return Response.json(response);
|
|
96
92
|
if (typeof response?.toResponse == "function")
|
|
97
93
|
return mapResponse(response.toResponse(), set);
|
|
98
94
|
if ("charCodeAt" in response) {
|
|
99
95
|
const code = response.charCodeAt(0);
|
|
100
96
|
if (code === 123 || code === 91)
|
|
101
|
-
return
|
|
102
|
-
JSON.stringify(response),
|
|
103
|
-
set
|
|
104
|
-
);
|
|
97
|
+
return Response.json(response, set);
|
|
105
98
|
}
|
|
106
99
|
return new Response(response, set);
|
|
107
100
|
}
|
|
@@ -117,13 +110,13 @@ const mapResponse = (response, set, request) => {
|
|
|
117
110
|
return new Response(response, set);
|
|
118
111
|
case "Array":
|
|
119
112
|
case "Object":
|
|
120
|
-
return
|
|
113
|
+
return Response.json(response, set);
|
|
121
114
|
case "ElysiaFile":
|
|
122
|
-
return (0, import_utils.handleFile)(response.value, set);
|
|
115
|
+
return (0, import_utils.handleFile)(response.value, set, request);
|
|
123
116
|
case "File":
|
|
124
|
-
return (0, import_utils.handleFile)(response, set);
|
|
117
|
+
return (0, import_utils.handleFile)(response, set, request);
|
|
125
118
|
case "Blob":
|
|
126
|
-
return (0, import_utils.handleFile)(response, set);
|
|
119
|
+
return (0, import_utils.handleFile)(response, set, request);
|
|
127
120
|
case "ElysiaCustomStatusResponse":
|
|
128
121
|
return set.status = response.code, mapEarlyResponse(
|
|
129
122
|
response.response,
|
|
@@ -131,7 +124,7 @@ const mapResponse = (response, set, request) => {
|
|
|
131
124
|
request
|
|
132
125
|
);
|
|
133
126
|
case void 0:
|
|
134
|
-
return response ?
|
|
127
|
+
return response ? Response.json(response, set) : void 0;
|
|
135
128
|
case "Response":
|
|
136
129
|
return handleResponse(response, set, request);
|
|
137
130
|
case "Promise":
|
|
@@ -177,18 +170,11 @@ const mapResponse = (response, set, request) => {
|
|
|
177
170
|
if (typeof response?.toResponse == "function")
|
|
178
171
|
return mapEarlyResponse(response.toResponse(), set);
|
|
179
172
|
if (Array.isArray(response))
|
|
180
|
-
return
|
|
181
|
-
headers: {
|
|
182
|
-
"Content-Type": "application/json"
|
|
183
|
-
}
|
|
184
|
-
});
|
|
173
|
+
return Response.json(response);
|
|
185
174
|
if ("charCodeAt" in response) {
|
|
186
175
|
const code = response.charCodeAt(0);
|
|
187
176
|
if (code === 123 || code === 91)
|
|
188
|
-
return
|
|
189
|
-
JSON.stringify(response),
|
|
190
|
-
set
|
|
191
|
-
);
|
|
177
|
+
return Response.json(response, set);
|
|
192
178
|
}
|
|
193
179
|
return new Response(response, set);
|
|
194
180
|
}
|
|
@@ -198,13 +184,13 @@ const mapResponse = (response, set, request) => {
|
|
|
198
184
|
return new Response(response);
|
|
199
185
|
case "Array":
|
|
200
186
|
case "Object":
|
|
201
|
-
return
|
|
187
|
+
return Response.json(response, set);
|
|
202
188
|
case "ElysiaFile":
|
|
203
|
-
return (0, import_utils.handleFile)(response.value, set);
|
|
189
|
+
return (0, import_utils.handleFile)(response.value, set, request);
|
|
204
190
|
case "File":
|
|
205
|
-
return (0, import_utils.handleFile)(response, set);
|
|
191
|
+
return (0, import_utils.handleFile)(response, set, request);
|
|
206
192
|
case "Blob":
|
|
207
|
-
return (0, import_utils.handleFile)(response, set);
|
|
193
|
+
return (0, import_utils.handleFile)(response, set, request);
|
|
208
194
|
case "ElysiaCustomStatusResponse":
|
|
209
195
|
return set.status = response.code, mapEarlyResponse(
|
|
210
196
|
response.response,
|
|
@@ -212,11 +198,7 @@ const mapResponse = (response, set, request) => {
|
|
|
212
198
|
request
|
|
213
199
|
);
|
|
214
200
|
case void 0:
|
|
215
|
-
return response ?
|
|
216
|
-
headers: {
|
|
217
|
-
"content-type": "application/json"
|
|
218
|
-
}
|
|
219
|
-
}) : new Response("");
|
|
201
|
+
return response ? Response.json(response) : new Response("");
|
|
220
202
|
case "Response":
|
|
221
203
|
return response;
|
|
222
204
|
case "Promise":
|
|
@@ -259,18 +241,11 @@ const mapResponse = (response, set, request) => {
|
|
|
259
241
|
if (typeof response?.toResponse == "function")
|
|
260
242
|
return mapEarlyResponse(response.toResponse(), set);
|
|
261
243
|
if (Array.isArray(response))
|
|
262
|
-
return
|
|
263
|
-
headers: {
|
|
264
|
-
"Content-Type": "application/json"
|
|
265
|
-
}
|
|
266
|
-
});
|
|
244
|
+
return Response.json(response);
|
|
267
245
|
if ("charCodeAt" in response) {
|
|
268
246
|
const code = response.charCodeAt(0);
|
|
269
247
|
if (code === 123 || code === 91)
|
|
270
|
-
return
|
|
271
|
-
JSON.stringify(response),
|
|
272
|
-
set
|
|
273
|
-
);
|
|
248
|
+
return Response.json(response, set);
|
|
274
249
|
}
|
|
275
250
|
return new Response(response);
|
|
276
251
|
}
|
|
@@ -280,17 +255,13 @@ const mapResponse = (response, set, request) => {
|
|
|
280
255
|
return new Response(response);
|
|
281
256
|
case "Object":
|
|
282
257
|
case "Array":
|
|
283
|
-
return
|
|
284
|
-
headers: {
|
|
285
|
-
"Content-Type": "application/json"
|
|
286
|
-
}
|
|
287
|
-
});
|
|
258
|
+
return Response.json(response);
|
|
288
259
|
case "ElysiaFile":
|
|
289
|
-
return (0, import_utils.handleFile)(response.value);
|
|
260
|
+
return (0, import_utils.handleFile)(response.value, void 0, request);
|
|
290
261
|
case "File":
|
|
291
|
-
return (0, import_utils.handleFile)(response);
|
|
262
|
+
return (0, import_utils.handleFile)(response, void 0, request);
|
|
292
263
|
case "Blob":
|
|
293
|
-
return (0, import_utils.handleFile)(response);
|
|
264
|
+
return (0, import_utils.handleFile)(response, void 0, request);
|
|
294
265
|
case "ElysiaCustomStatusResponse":
|
|
295
266
|
return mapResponse(
|
|
296
267
|
response.response,
|
|
@@ -300,11 +271,7 @@ const mapResponse = (response, set, request) => {
|
|
|
300
271
|
}
|
|
301
272
|
);
|
|
302
273
|
case void 0:
|
|
303
|
-
return response ?
|
|
304
|
-
headers: {
|
|
305
|
-
"content-type": "application/json"
|
|
306
|
-
}
|
|
307
|
-
}) : new Response("");
|
|
274
|
+
return response ? Response.json(response) : new Response("");
|
|
308
275
|
case "Response":
|
|
309
276
|
return response;
|
|
310
277
|
case "Error":
|
|
@@ -348,20 +315,11 @@ const mapResponse = (response, set, request) => {
|
|
|
348
315
|
);
|
|
349
316
|
if (typeof response?.toResponse == "function")
|
|
350
317
|
return mapCompactResponse(response.toResponse());
|
|
351
|
-
if (Array.isArray(response))
|
|
352
|
-
return new Response(JSON.stringify(response), {
|
|
353
|
-
headers: {
|
|
354
|
-
"Content-Type": "application/json"
|
|
355
|
-
}
|
|
356
|
-
});
|
|
318
|
+
if (Array.isArray(response)) return Response.json(response);
|
|
357
319
|
if ("charCodeAt" in response) {
|
|
358
320
|
const code = response.charCodeAt(0);
|
|
359
321
|
if (code === 123 || code === 91)
|
|
360
|
-
return
|
|
361
|
-
headers: {
|
|
362
|
-
"Content-Type": "application/json"
|
|
363
|
-
}
|
|
364
|
-
});
|
|
322
|
+
return Response.json(response);
|
|
365
323
|
}
|
|
366
324
|
return new Response(response);
|
|
367
325
|
}
|
|
@@ -370,12 +328,12 @@ const mapResponse = (response, set, request) => {
|
|
|
370
328
|
const raw = error.toResponse(), targetSet = set ?? { headers: {}, status: 200, redirect: "" }, apply = (resolved) => (resolved instanceof Response && (targetSet.status = resolved.status), mapResponse(resolved, targetSet));
|
|
371
329
|
return typeof raw?.then == "function" ? raw.then(apply) : apply(raw);
|
|
372
330
|
}
|
|
373
|
-
return
|
|
374
|
-
|
|
331
|
+
return Response.json(
|
|
332
|
+
{
|
|
375
333
|
name: error?.name,
|
|
376
334
|
message: error?.message,
|
|
377
335
|
cause: error?.cause
|
|
378
|
-
}
|
|
336
|
+
},
|
|
379
337
|
{
|
|
380
338
|
status: set?.status !== 200 ? set?.status ?? 500 : 500,
|
|
381
339
|
headers: set?.headers
|
|
@@ -14,13 +14,13 @@ const mapResponse = (response, set, request) => {
|
|
|
14
14
|
return new Response(response, set);
|
|
15
15
|
case "Array":
|
|
16
16
|
case "Object":
|
|
17
|
-
return
|
|
17
|
+
return Response.json(response, set);
|
|
18
18
|
case "ElysiaFile":
|
|
19
|
-
return handleFile(response.value, set);
|
|
19
|
+
return handleFile(response.value, set, request);
|
|
20
20
|
case "File":
|
|
21
|
-
return handleFile(response, set);
|
|
21
|
+
return handleFile(response, set, request);
|
|
22
22
|
case "Blob":
|
|
23
|
-
return handleFile(response, set);
|
|
23
|
+
return handleFile(response, set, request);
|
|
24
24
|
case "ElysiaCustomStatusResponse":
|
|
25
25
|
return set.status = response.code, mapResponse(
|
|
26
26
|
response.response,
|
|
@@ -28,7 +28,7 @@ const mapResponse = (response, set, request) => {
|
|
|
28
28
|
request
|
|
29
29
|
);
|
|
30
30
|
case void 0:
|
|
31
|
-
return response ?
|
|
31
|
+
return response ? Response.json(response, set) : new Response("", set);
|
|
32
32
|
case "Response":
|
|
33
33
|
return handleResponse(response, set, request);
|
|
34
34
|
case "Error":
|
|
@@ -72,20 +72,13 @@ const mapResponse = (response, set, request) => {
|
|
|
72
72
|
(x) => mapResponse(x, set)
|
|
73
73
|
);
|
|
74
74
|
if (Array.isArray(response))
|
|
75
|
-
return
|
|
76
|
-
headers: {
|
|
77
|
-
"Content-Type": "application/json"
|
|
78
|
-
}
|
|
79
|
-
});
|
|
75
|
+
return Response.json(response);
|
|
80
76
|
if (typeof response?.toResponse == "function")
|
|
81
77
|
return mapResponse(response.toResponse(), set);
|
|
82
78
|
if ("charCodeAt" in response) {
|
|
83
79
|
const code = response.charCodeAt(0);
|
|
84
80
|
if (code === 123 || code === 91)
|
|
85
|
-
return
|
|
86
|
-
JSON.stringify(response),
|
|
87
|
-
set
|
|
88
|
-
);
|
|
81
|
+
return Response.json(response, set);
|
|
89
82
|
}
|
|
90
83
|
return new Response(response, set);
|
|
91
84
|
}
|
|
@@ -101,13 +94,13 @@ const mapResponse = (response, set, request) => {
|
|
|
101
94
|
return new Response(response, set);
|
|
102
95
|
case "Array":
|
|
103
96
|
case "Object":
|
|
104
|
-
return
|
|
97
|
+
return Response.json(response, set);
|
|
105
98
|
case "ElysiaFile":
|
|
106
|
-
return handleFile(response.value, set);
|
|
99
|
+
return handleFile(response.value, set, request);
|
|
107
100
|
case "File":
|
|
108
|
-
return handleFile(response, set);
|
|
101
|
+
return handleFile(response, set, request);
|
|
109
102
|
case "Blob":
|
|
110
|
-
return handleFile(response, set);
|
|
103
|
+
return handleFile(response, set, request);
|
|
111
104
|
case "ElysiaCustomStatusResponse":
|
|
112
105
|
return set.status = response.code, mapEarlyResponse(
|
|
113
106
|
response.response,
|
|
@@ -115,7 +108,7 @@ const mapResponse = (response, set, request) => {
|
|
|
115
108
|
request
|
|
116
109
|
);
|
|
117
110
|
case void 0:
|
|
118
|
-
return response ?
|
|
111
|
+
return response ? Response.json(response, set) : void 0;
|
|
119
112
|
case "Response":
|
|
120
113
|
return handleResponse(response, set, request);
|
|
121
114
|
case "Promise":
|
|
@@ -161,18 +154,11 @@ const mapResponse = (response, set, request) => {
|
|
|
161
154
|
if (typeof response?.toResponse == "function")
|
|
162
155
|
return mapEarlyResponse(response.toResponse(), set);
|
|
163
156
|
if (Array.isArray(response))
|
|
164
|
-
return
|
|
165
|
-
headers: {
|
|
166
|
-
"Content-Type": "application/json"
|
|
167
|
-
}
|
|
168
|
-
});
|
|
157
|
+
return Response.json(response);
|
|
169
158
|
if ("charCodeAt" in response) {
|
|
170
159
|
const code = response.charCodeAt(0);
|
|
171
160
|
if (code === 123 || code === 91)
|
|
172
|
-
return
|
|
173
|
-
JSON.stringify(response),
|
|
174
|
-
set
|
|
175
|
-
);
|
|
161
|
+
return Response.json(response, set);
|
|
176
162
|
}
|
|
177
163
|
return new Response(response, set);
|
|
178
164
|
}
|
|
@@ -182,13 +168,13 @@ const mapResponse = (response, set, request) => {
|
|
|
182
168
|
return new Response(response);
|
|
183
169
|
case "Array":
|
|
184
170
|
case "Object":
|
|
185
|
-
return
|
|
171
|
+
return Response.json(response, set);
|
|
186
172
|
case "ElysiaFile":
|
|
187
|
-
return handleFile(response.value, set);
|
|
173
|
+
return handleFile(response.value, set, request);
|
|
188
174
|
case "File":
|
|
189
|
-
return handleFile(response, set);
|
|
175
|
+
return handleFile(response, set, request);
|
|
190
176
|
case "Blob":
|
|
191
|
-
return handleFile(response, set);
|
|
177
|
+
return handleFile(response, set, request);
|
|
192
178
|
case "ElysiaCustomStatusResponse":
|
|
193
179
|
return set.status = response.code, mapEarlyResponse(
|
|
194
180
|
response.response,
|
|
@@ -196,11 +182,7 @@ const mapResponse = (response, set, request) => {
|
|
|
196
182
|
request
|
|
197
183
|
);
|
|
198
184
|
case void 0:
|
|
199
|
-
return response ?
|
|
200
|
-
headers: {
|
|
201
|
-
"content-type": "application/json"
|
|
202
|
-
}
|
|
203
|
-
}) : new Response("");
|
|
185
|
+
return response ? Response.json(response) : new Response("");
|
|
204
186
|
case "Response":
|
|
205
187
|
return response;
|
|
206
188
|
case "Promise":
|
|
@@ -243,18 +225,11 @@ const mapResponse = (response, set, request) => {
|
|
|
243
225
|
if (typeof response?.toResponse == "function")
|
|
244
226
|
return mapEarlyResponse(response.toResponse(), set);
|
|
245
227
|
if (Array.isArray(response))
|
|
246
|
-
return
|
|
247
|
-
headers: {
|
|
248
|
-
"Content-Type": "application/json"
|
|
249
|
-
}
|
|
250
|
-
});
|
|
228
|
+
return Response.json(response);
|
|
251
229
|
if ("charCodeAt" in response) {
|
|
252
230
|
const code = response.charCodeAt(0);
|
|
253
231
|
if (code === 123 || code === 91)
|
|
254
|
-
return
|
|
255
|
-
JSON.stringify(response),
|
|
256
|
-
set
|
|
257
|
-
);
|
|
232
|
+
return Response.json(response, set);
|
|
258
233
|
}
|
|
259
234
|
return new Response(response);
|
|
260
235
|
}
|
|
@@ -264,17 +239,13 @@ const mapResponse = (response, set, request) => {
|
|
|
264
239
|
return new Response(response);
|
|
265
240
|
case "Object":
|
|
266
241
|
case "Array":
|
|
267
|
-
return
|
|
268
|
-
headers: {
|
|
269
|
-
"Content-Type": "application/json"
|
|
270
|
-
}
|
|
271
|
-
});
|
|
242
|
+
return Response.json(response);
|
|
272
243
|
case "ElysiaFile":
|
|
273
|
-
return handleFile(response.value);
|
|
244
|
+
return handleFile(response.value, void 0, request);
|
|
274
245
|
case "File":
|
|
275
|
-
return handleFile(response);
|
|
246
|
+
return handleFile(response, void 0, request);
|
|
276
247
|
case "Blob":
|
|
277
|
-
return handleFile(response);
|
|
248
|
+
return handleFile(response, void 0, request);
|
|
278
249
|
case "ElysiaCustomStatusResponse":
|
|
279
250
|
return mapResponse(
|
|
280
251
|
response.response,
|
|
@@ -284,11 +255,7 @@ const mapResponse = (response, set, request) => {
|
|
|
284
255
|
}
|
|
285
256
|
);
|
|
286
257
|
case void 0:
|
|
287
|
-
return response ?
|
|
288
|
-
headers: {
|
|
289
|
-
"content-type": "application/json"
|
|
290
|
-
}
|
|
291
|
-
}) : new Response("");
|
|
258
|
+
return response ? Response.json(response) : new Response("");
|
|
292
259
|
case "Response":
|
|
293
260
|
return response;
|
|
294
261
|
case "Error":
|
|
@@ -332,20 +299,11 @@ const mapResponse = (response, set, request) => {
|
|
|
332
299
|
);
|
|
333
300
|
if (typeof response?.toResponse == "function")
|
|
334
301
|
return mapCompactResponse(response.toResponse());
|
|
335
|
-
if (Array.isArray(response))
|
|
336
|
-
return new Response(JSON.stringify(response), {
|
|
337
|
-
headers: {
|
|
338
|
-
"Content-Type": "application/json"
|
|
339
|
-
}
|
|
340
|
-
});
|
|
302
|
+
if (Array.isArray(response)) return Response.json(response);
|
|
341
303
|
if ("charCodeAt" in response) {
|
|
342
304
|
const code = response.charCodeAt(0);
|
|
343
305
|
if (code === 123 || code === 91)
|
|
344
|
-
return
|
|
345
|
-
headers: {
|
|
346
|
-
"Content-Type": "application/json"
|
|
347
|
-
}
|
|
348
|
-
});
|
|
306
|
+
return Response.json(response);
|
|
349
307
|
}
|
|
350
308
|
return new Response(response);
|
|
351
309
|
}
|
|
@@ -354,12 +312,12 @@ const mapResponse = (response, set, request) => {
|
|
|
354
312
|
const raw = error.toResponse(), targetSet = set ?? { headers: {}, status: 200, redirect: "" }, apply = (resolved) => (resolved instanceof Response && (targetSet.status = resolved.status), mapResponse(resolved, targetSet));
|
|
355
313
|
return typeof raw?.then == "function" ? raw.then(apply) : apply(raw);
|
|
356
314
|
}
|
|
357
|
-
return
|
|
358
|
-
|
|
315
|
+
return Response.json(
|
|
316
|
+
{
|
|
359
317
|
name: error?.name,
|
|
360
318
|
message: error?.message,
|
|
361
319
|
cause: error?.cause
|
|
362
|
-
}
|
|
320
|
+
},
|
|
363
321
|
{
|
|
364
322
|
status: set?.status !== 200 ? set?.status ?? 500 : 500,
|
|
365
323
|
headers: set?.headers
|
|
@@ -91,7 +91,7 @@ const optionalParam = /:.+?\?(?=\/|$)/, getPossibleParams = (path) => {
|
|
|
91
91
|
return r1;
|
|
92
92
|
}, removeTrailingPath = (routes) => {
|
|
93
93
|
for (const key of Object.keys(routes))
|
|
94
|
-
key.charCodeAt(key.length - 1) === 47 && (routes[key.slice(0, -1)] = routes[key], delete routes[key]);
|
|
94
|
+
key.length > 1 && key.charCodeAt(key.length - 1) === 47 && (routes[key.slice(0, -1)] = routes[key], delete routes[key]);
|
|
95
95
|
return routes;
|
|
96
96
|
}, BunAdapter = {
|
|
97
97
|
...import_web_standard.WebStandardAdapter,
|
|
@@ -94,7 +94,7 @@ const optionalParam = /:.+?\?(?=\/|$)/, getPossibleParams = (path) => {
|
|
|
94
94
|
return r1;
|
|
95
95
|
}, removeTrailingPath = (routes) => {
|
|
96
96
|
for (const key of Object.keys(routes))
|
|
97
|
-
key.charCodeAt(key.length - 1) === 47 && (routes[key.slice(0, -1)] = routes[key], delete routes[key]);
|
|
97
|
+
key.length > 1 && key.charCodeAt(key.length - 1) === 47 && (routes[key.slice(0, -1)] = routes[key], delete routes[key]);
|
|
98
98
|
return routes;
|
|
99
99
|
}, BunAdapter = {
|
|
100
100
|
...WebStandardAdapter,
|
package/dist/adapter/utils.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { StatusMap } from '../utils';
|
|
2
2
|
import type { Context } from '../context';
|
|
3
|
-
export declare const handleFile: (response: File | Blob, set?: Context["set"]) => Response;
|
|
3
|
+
export declare const handleFile: (response: File | Blob, set?: Context["set"], request?: Request) => Response;
|
|
4
4
|
export declare const parseSetCookies: (headers: Headers, setCookie: string[]) => Headers;
|
|
5
5
|
export declare const responseToSetHeaders: (response: Response, set?: Context["set"]) => {
|
|
6
|
-
headers: import("
|
|
6
|
+
headers: import("../types").HTTPHeaders;
|
|
7
7
|
status?: number | keyof StatusMap;
|
|
8
8
|
redirect?: string;
|
|
9
9
|
cookie?: Record<string, import("../cookies").ElysiaCookie>;
|