elysia 1.3.20 → 1.3.21
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/compose.mjs +17 -13
- package/dist/adapter/bun/handler-native.mjs +28 -22
- package/dist/adapter/bun/handler.mjs +17 -13
- package/dist/adapter/bun/index.mjs +28 -22
- package/dist/adapter/utils.mjs +17 -13
- package/dist/adapter/web-standard/handler.mjs +17 -13
- package/dist/adapter/web-standard/index.mjs +17 -13
- package/dist/bun/index.js +22 -22
- package/dist/bun/index.js.map +6 -6
- package/dist/cjs/adapter/bun/compose.js +17 -13
- package/dist/cjs/adapter/bun/handler-native.js +28 -22
- package/dist/cjs/adapter/bun/handler.js +17 -13
- package/dist/cjs/adapter/bun/index.js +28 -22
- package/dist/cjs/adapter/utils.js +17 -13
- package/dist/cjs/adapter/web-standard/handler.js +17 -13
- package/dist/cjs/adapter/web-standard/index.js +17 -13
- package/dist/cjs/compose.js +84 -67
- package/dist/cjs/index.js +115 -92
- package/dist/compose.mjs +84 -67
- package/dist/index.mjs +115 -92
- package/package.json +1 -1
|
@@ -709,22 +709,26 @@ var handleFile = (response, set2) => {
|
|
|
709
709
|
try {
|
|
710
710
|
for await (let chunk of generator) {
|
|
711
711
|
if (end) break;
|
|
712
|
-
if (chunk != null)
|
|
712
|
+
if (chunk != null)
|
|
713
713
|
if (chunk.toSSE)
|
|
714
714
|
controller.enqueue(chunk.toSSE());
|
|
715
|
-
else
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
715
|
+
else {
|
|
716
|
+
if (typeof chunk == "object")
|
|
717
|
+
try {
|
|
718
|
+
controller.enqueue(
|
|
719
|
+
format(JSON.stringify(chunk))
|
|
720
|
+
);
|
|
721
|
+
} catch {
|
|
722
|
+
controller.enqueue(
|
|
723
|
+
format(chunk.toString())
|
|
724
|
+
);
|
|
725
|
+
}
|
|
726
|
+
else
|
|
721
727
|
controller.enqueue(format(chunk.toString()));
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
);
|
|
727
|
-
}
|
|
728
|
+
isSSE || await new Promise(
|
|
729
|
+
(resolve) => setTimeout(() => resolve(), 0)
|
|
730
|
+
);
|
|
731
|
+
}
|
|
728
732
|
}
|
|
729
733
|
} catch (error) {
|
|
730
734
|
console.warn(error);
|
|
@@ -723,22 +723,26 @@ var handleFile = (response, set2) => {
|
|
|
723
723
|
try {
|
|
724
724
|
for await (let chunk of generator) {
|
|
725
725
|
if (end) break;
|
|
726
|
-
if (chunk != null)
|
|
726
|
+
if (chunk != null)
|
|
727
727
|
if (chunk.toSSE)
|
|
728
728
|
controller.enqueue(chunk.toSSE());
|
|
729
|
-
else
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
729
|
+
else {
|
|
730
|
+
if (typeof chunk == "object")
|
|
731
|
+
try {
|
|
732
|
+
controller.enqueue(
|
|
733
|
+
format(JSON.stringify(chunk))
|
|
734
|
+
);
|
|
735
|
+
} catch {
|
|
736
|
+
controller.enqueue(
|
|
737
|
+
format(chunk.toString())
|
|
738
|
+
);
|
|
739
|
+
}
|
|
740
|
+
else
|
|
735
741
|
controller.enqueue(format(chunk.toString()));
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
);
|
|
741
|
-
}
|
|
742
|
+
isSSE || await new Promise(
|
|
743
|
+
(resolve) => setTimeout(() => resolve(), 0)
|
|
744
|
+
);
|
|
745
|
+
}
|
|
742
746
|
}
|
|
743
747
|
} catch (error) {
|
|
744
748
|
console.warn(error);
|
|
@@ -3411,7 +3415,9 @@ for(const [k,v] of c.request.headers.entries())c.headers[k]=v
|
|
|
3411
3415
|
),
|
|
3412
3416
|
websocket: {
|
|
3413
3417
|
...app.config.websocket || {},
|
|
3414
|
-
...websocket || {}
|
|
3418
|
+
...websocket || {},
|
|
3419
|
+
// @ts-expect-error not available in this variant of options type
|
|
3420
|
+
...options.websocket || {}
|
|
3415
3421
|
},
|
|
3416
3422
|
fetch: app.fetch
|
|
3417
3423
|
} : {
|
|
@@ -3517,7 +3523,7 @@ for(const [k,v] of c.request.headers.entries())c.headers[k]=v
|
|
|
3517
3523
|
...(app.event.error ?? []).map(
|
|
3518
3524
|
(x) => typeof x == "function" ? x : x.fn
|
|
3519
3525
|
)
|
|
3520
|
-
].filter((x) => x),
|
|
3526
|
+
].filter((x) => x), hasCustomErrorHandlers = errorHandlers.length > 0, handleErrors = hasCustomErrorHandlers ? async (ws, error) => {
|
|
3521
3527
|
for (let handleError of errorHandlers) {
|
|
3522
3528
|
let response2 = handleError(
|
|
3523
3529
|
Object.assign(context, { error })
|
|
@@ -3554,14 +3560,14 @@ for(const [k,v] of c.request.headers.entries())c.headers[k]=v
|
|
|
3554
3560
|
},
|
|
3555
3561
|
message: async (ws, _message) => {
|
|
3556
3562
|
let message = await parseMessage(ws, _message);
|
|
3557
|
-
if (validateMessage?.Check(message) === !1)
|
|
3558
|
-
|
|
3559
|
-
|
|
3560
|
-
|
|
3561
|
-
|
|
3562
|
-
message
|
|
3563
|
-
).message
|
|
3563
|
+
if (validateMessage?.Check(message) === !1) {
|
|
3564
|
+
let validationError = new ValidationError(
|
|
3565
|
+
"message",
|
|
3566
|
+
validateMessage,
|
|
3567
|
+
message
|
|
3564
3568
|
);
|
|
3569
|
+
return hasCustomErrorHandlers ? handleErrors(ws, validationError) : void ws.send(validationError.message);
|
|
3570
|
+
}
|
|
3565
3571
|
try {
|
|
3566
3572
|
await handleResponse3(
|
|
3567
3573
|
ws,
|
|
@@ -409,22 +409,26 @@ var handleFile = (response, set2) => {
|
|
|
409
409
|
try {
|
|
410
410
|
for await (let chunk of generator) {
|
|
411
411
|
if (end) break;
|
|
412
|
-
if (chunk != null)
|
|
412
|
+
if (chunk != null)
|
|
413
413
|
if (chunk.toSSE)
|
|
414
414
|
controller.enqueue(chunk.toSSE());
|
|
415
|
-
else
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
415
|
+
else {
|
|
416
|
+
if (typeof chunk == "object")
|
|
417
|
+
try {
|
|
418
|
+
controller.enqueue(
|
|
419
|
+
format(JSON.stringify(chunk))
|
|
420
|
+
);
|
|
421
|
+
} catch {
|
|
422
|
+
controller.enqueue(
|
|
423
|
+
format(chunk.toString())
|
|
424
|
+
);
|
|
425
|
+
}
|
|
426
|
+
else
|
|
421
427
|
controller.enqueue(format(chunk.toString()));
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
);
|
|
427
|
-
}
|
|
428
|
+
isSSE || await new Promise(
|
|
429
|
+
(resolve) => setTimeout(() => resolve(), 0)
|
|
430
|
+
);
|
|
431
|
+
}
|
|
428
432
|
}
|
|
429
433
|
} catch (error) {
|
|
430
434
|
console.warn(error);
|
|
@@ -724,22 +724,26 @@ var handleFile = (response, set2) => {
|
|
|
724
724
|
try {
|
|
725
725
|
for await (let chunk of generator) {
|
|
726
726
|
if (end) break;
|
|
727
|
-
if (chunk != null)
|
|
727
|
+
if (chunk != null)
|
|
728
728
|
if (chunk.toSSE)
|
|
729
729
|
controller.enqueue(chunk.toSSE());
|
|
730
|
-
else
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
730
|
+
else {
|
|
731
|
+
if (typeof chunk == "object")
|
|
732
|
+
try {
|
|
733
|
+
controller.enqueue(
|
|
734
|
+
format(JSON.stringify(chunk))
|
|
735
|
+
);
|
|
736
|
+
} catch {
|
|
737
|
+
controller.enqueue(
|
|
738
|
+
format(chunk.toString())
|
|
739
|
+
);
|
|
740
|
+
}
|
|
741
|
+
else
|
|
736
742
|
controller.enqueue(format(chunk.toString()));
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
);
|
|
742
|
-
}
|
|
743
|
+
isSSE || await new Promise(
|
|
744
|
+
(resolve) => setTimeout(() => resolve(), 0)
|
|
745
|
+
);
|
|
746
|
+
}
|
|
743
747
|
}
|
|
744
748
|
} catch (error) {
|
|
745
749
|
console.warn(error);
|
|
@@ -3429,7 +3433,9 @@ for(const [k,v] of c.request.headers.entries())c.headers[k]=v
|
|
|
3429
3433
|
),
|
|
3430
3434
|
websocket: {
|
|
3431
3435
|
...app.config.websocket || {},
|
|
3432
|
-
...websocket || {}
|
|
3436
|
+
...websocket || {},
|
|
3437
|
+
// @ts-expect-error not available in this variant of options type
|
|
3438
|
+
...options.websocket || {}
|
|
3433
3439
|
},
|
|
3434
3440
|
fetch: app.fetch
|
|
3435
3441
|
} : {
|
|
@@ -3535,7 +3541,7 @@ for(const [k,v] of c.request.headers.entries())c.headers[k]=v
|
|
|
3535
3541
|
...(app.event.error ?? []).map(
|
|
3536
3542
|
(x) => typeof x == "function" ? x : x.fn
|
|
3537
3543
|
)
|
|
3538
|
-
].filter((x) => x),
|
|
3544
|
+
].filter((x) => x), hasCustomErrorHandlers = errorHandlers.length > 0, handleErrors = hasCustomErrorHandlers ? async (ws, error) => {
|
|
3539
3545
|
for (let handleError of errorHandlers) {
|
|
3540
3546
|
let response2 = handleError(
|
|
3541
3547
|
Object.assign(context, { error })
|
|
@@ -3572,14 +3578,14 @@ for(const [k,v] of c.request.headers.entries())c.headers[k]=v
|
|
|
3572
3578
|
},
|
|
3573
3579
|
message: async (ws, _message) => {
|
|
3574
3580
|
let message = await parseMessage(ws, _message);
|
|
3575
|
-
if (validateMessage?.Check(message) === !1)
|
|
3576
|
-
|
|
3577
|
-
|
|
3578
|
-
|
|
3579
|
-
|
|
3580
|
-
message
|
|
3581
|
-
).message
|
|
3581
|
+
if (validateMessage?.Check(message) === !1) {
|
|
3582
|
+
let validationError = new ValidationError(
|
|
3583
|
+
"message",
|
|
3584
|
+
validateMessage,
|
|
3585
|
+
message
|
|
3582
3586
|
);
|
|
3587
|
+
return hasCustomErrorHandlers ? handleErrors(ws, validationError) : void ws.send(validationError.message);
|
|
3588
|
+
}
|
|
3583
3589
|
try {
|
|
3584
3590
|
await handleResponse3(
|
|
3585
3591
|
ws,
|
|
@@ -285,22 +285,26 @@ var handleFile = (response, set) => {
|
|
|
285
285
|
try {
|
|
286
286
|
for await (let chunk of generator) {
|
|
287
287
|
if (end) break;
|
|
288
|
-
if (chunk != null)
|
|
288
|
+
if (chunk != null)
|
|
289
289
|
if (chunk.toSSE)
|
|
290
290
|
controller.enqueue(chunk.toSSE());
|
|
291
|
-
else
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
291
|
+
else {
|
|
292
|
+
if (typeof chunk == "object")
|
|
293
|
+
try {
|
|
294
|
+
controller.enqueue(
|
|
295
|
+
format(JSON.stringify(chunk))
|
|
296
|
+
);
|
|
297
|
+
} catch {
|
|
298
|
+
controller.enqueue(
|
|
299
|
+
format(chunk.toString())
|
|
300
|
+
);
|
|
301
|
+
}
|
|
302
|
+
else
|
|
297
303
|
controller.enqueue(format(chunk.toString()));
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
);
|
|
303
|
-
}
|
|
304
|
+
isSSE || await new Promise(
|
|
305
|
+
(resolve) => setTimeout(() => resolve(), 0)
|
|
306
|
+
);
|
|
307
|
+
}
|
|
304
308
|
}
|
|
305
309
|
} catch (error) {
|
|
306
310
|
console.warn(error);
|
|
@@ -488,22 +488,26 @@ var handleFile = (response, set2) => {
|
|
|
488
488
|
try {
|
|
489
489
|
for await (let chunk of generator) {
|
|
490
490
|
if (end) break;
|
|
491
|
-
if (chunk != null)
|
|
491
|
+
if (chunk != null)
|
|
492
492
|
if (chunk.toSSE)
|
|
493
493
|
controller.enqueue(chunk.toSSE());
|
|
494
|
-
else
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
494
|
+
else {
|
|
495
|
+
if (typeof chunk == "object")
|
|
496
|
+
try {
|
|
497
|
+
controller.enqueue(
|
|
498
|
+
format(JSON.stringify(chunk))
|
|
499
|
+
);
|
|
500
|
+
} catch {
|
|
501
|
+
controller.enqueue(
|
|
502
|
+
format(chunk.toString())
|
|
503
|
+
);
|
|
504
|
+
}
|
|
505
|
+
else
|
|
500
506
|
controller.enqueue(format(chunk.toString()));
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
);
|
|
506
|
-
}
|
|
507
|
+
isSSE || await new Promise(
|
|
508
|
+
(resolve) => setTimeout(() => resolve(), 0)
|
|
509
|
+
);
|
|
510
|
+
}
|
|
507
511
|
}
|
|
508
512
|
} catch (error) {
|
|
509
513
|
console.warn(error);
|
|
@@ -484,22 +484,26 @@ var handleFile = (response, set2) => {
|
|
|
484
484
|
try {
|
|
485
485
|
for await (let chunk of generator) {
|
|
486
486
|
if (end) break;
|
|
487
|
-
if (chunk != null)
|
|
487
|
+
if (chunk != null)
|
|
488
488
|
if (chunk.toSSE)
|
|
489
489
|
controller.enqueue(chunk.toSSE());
|
|
490
|
-
else
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
490
|
+
else {
|
|
491
|
+
if (typeof chunk == "object")
|
|
492
|
+
try {
|
|
493
|
+
controller.enqueue(
|
|
494
|
+
format(JSON.stringify(chunk))
|
|
495
|
+
);
|
|
496
|
+
} catch {
|
|
497
|
+
controller.enqueue(
|
|
498
|
+
format(chunk.toString())
|
|
499
|
+
);
|
|
500
|
+
}
|
|
501
|
+
else
|
|
496
502
|
controller.enqueue(format(chunk.toString()));
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
);
|
|
502
|
-
}
|
|
503
|
+
isSSE || await new Promise(
|
|
504
|
+
(resolve) => setTimeout(() => resolve(), 0)
|
|
505
|
+
);
|
|
506
|
+
}
|
|
503
507
|
}
|
|
504
508
|
} catch (error) {
|
|
505
509
|
console.warn(error);
|
package/dist/cjs/compose.js
CHANGED
|
@@ -2602,11 +2602,16 @@ try{a${index}.push(JSON.parse(value))}catch{a${index}.push(value)}if(deepMemory=
|
|
|
2602
2602
|
}
|
|
2603
2603
|
}
|
|
2604
2604
|
let isAsyncHandler = typeof handler == "function" && isAsync(handler), saveResponse = hasTrace || hooks.afterResponse?.length ? "c.response= " : "", maybeAsync = hasCookie || hasBody || isAsyncHandler || !!hooks.parse?.length || !!hooks.afterHandle?.some(isAsync) || !!hooks.beforeHandle?.some(isAsync) || !!hooks.transform?.some(isAsync) || !!hooks.mapResponse?.some(isAsync), maybeStream = (typeof handler == "function" ? isGenerator(handler) : !1) || !!hooks.beforeHandle?.some(isGenerator) || !!hooks.afterHandle?.some(isGenerator) || !!hooks.transform?.some(isGenerator), responseKeys = Object.keys(validator.response ?? {}), hasMultipleResponses = responseKeys.length > 1, hasSingle200 = responseKeys.length === 0 || responseKeys.length === 1 && responseKeys[0] === "200", hasSet = inference.cookie || inference.set || hasHeaders || hasTrace || hasMultipleResponses || !hasSingle200 || isHandleFn && hasDefaultHeaders || maybeStream, afterResponse = () => {
|
|
2605
|
-
if (!hooks.afterResponse?.length) return "";
|
|
2605
|
+
if (!hooks.afterResponse?.length && !hasTrace) return "";
|
|
2606
2606
|
let afterResponse2 = "", prefix = hooks.afterResponse?.some(isAsync) ? "async " : "";
|
|
2607
2607
|
afterResponse2 += `
|
|
2608
2608
|
setImmediate(${prefix}()=>{`;
|
|
2609
|
-
let reporter =
|
|
2609
|
+
let reporter = createReport({
|
|
2610
|
+
trace: hooks.trace,
|
|
2611
|
+
addFn: (word) => {
|
|
2612
|
+
afterResponse2 += word;
|
|
2613
|
+
}
|
|
2614
|
+
})("afterResponse", {
|
|
2610
2615
|
total: hooks.afterResponse?.length
|
|
2611
2616
|
});
|
|
2612
2617
|
if (hooks.afterResponse?.length && hooks.afterResponse)
|
|
@@ -2623,7 +2628,7 @@ ${prefix2}e.afterResponse[${i}](c)
|
|
|
2623
2628
|
}, mapResponse = (r = "r") => {
|
|
2624
2629
|
let after = afterResponse(), response = `${hasSet ? "mapResponse" : "mapCompactResponse"}(${saveResponse}${r}${hasSet ? ",c.set" : ""}${mapResponseContext})
|
|
2625
2630
|
`;
|
|
2626
|
-
return after
|
|
2631
|
+
return after ? `const _res=${response}` + after + "return _res" : `return ${response}`;
|
|
2627
2632
|
}, mapResponseContext = maybeStream || adapter.mapResponseContext ? `,${adapter.mapResponseContext}` : "";
|
|
2628
2633
|
(hasTrace || inference.route) && (fnLiteral += `c.route=\`${path}\`
|
|
2629
2634
|
`);
|
|
@@ -2777,15 +2782,16 @@ delete c.contentType`);
|
|
|
2777
2782
|
}
|
|
2778
2783
|
fnLiteral += "}catch(error){throw new ParseError(error)}";
|
|
2779
2784
|
}
|
|
2780
|
-
if (parseReporter.resolve(), hooks?.transform) {
|
|
2785
|
+
if (parseReporter.resolve(), hooks?.transform || hasTrace) {
|
|
2781
2786
|
let reporter = report("transform", {
|
|
2782
|
-
total: hooks.transform
|
|
2787
|
+
total: hooks.transform?.length
|
|
2783
2788
|
});
|
|
2784
|
-
hooks.transform
|
|
2785
|
-
`
|
|
2786
|
-
|
|
2787
|
-
let
|
|
2788
|
-
|
|
2789
|
+
if (hooks.transform?.length) {
|
|
2790
|
+
fnLiteral += `let transformed
|
|
2791
|
+
`;
|
|
2792
|
+
for (let i = 0; i < hooks.transform.length; i++) {
|
|
2793
|
+
let transform = hooks.transform[i], endUnit = reporter.resolveChild(transform.fn.name);
|
|
2794
|
+
fnLiteral += isAsync(transform) ? `transformed=await e.transform[${i}](c)
|
|
2789
2795
|
` : `transformed=e.transform[${i}](c)
|
|
2790
2796
|
`, transform.subType === "mapDerive" ? fnLiteral += "if(transformed instanceof ElysiaCustomStatusResponse){" + mapResponse("transformed") + `}else{transformed.request=c.request
|
|
2791
2797
|
transformed.store=c.store
|
|
@@ -2797,6 +2803,7 @@ transformed.set=c.set
|
|
|
2797
2803
|
transformed.error=c.error
|
|
2798
2804
|
c=transformed}` : fnLiteral += "if(transformed instanceof ElysiaCustomStatusResponse){" + mapResponse("transformed") + `}else Object.assign(c,transformed)
|
|
2799
2805
|
`, endUnit();
|
|
2806
|
+
}
|
|
2800
2807
|
}
|
|
2801
2808
|
reporter.resolve();
|
|
2802
2809
|
}
|
|
@@ -2984,14 +2991,15 @@ for(const [key,value] of Object.entries(c.cookie))cookieValue[key]=value.value
|
|
|
2984
2991
|
)), cookieValidator.isOptional && (fnLiteral += "}");
|
|
2985
2992
|
}
|
|
2986
2993
|
}
|
|
2987
|
-
if (hooks?.beforeHandle) {
|
|
2994
|
+
if (hooks?.beforeHandle || hasTrace) {
|
|
2988
2995
|
let reporter = report("beforeHandle", {
|
|
2989
|
-
total: hooks.beforeHandle
|
|
2996
|
+
total: hooks.beforeHandle?.length
|
|
2990
2997
|
}), hasResolve = !1;
|
|
2991
|
-
|
|
2992
|
-
let
|
|
2993
|
-
|
|
2994
|
-
|
|
2998
|
+
if (hooks.beforeHandle?.length)
|
|
2999
|
+
for (let i = 0; i < hooks.beforeHandle.length; i++) {
|
|
3000
|
+
let beforeHandle = hooks.beforeHandle[i], endUnit = reporter.resolveChild(beforeHandle.fn.name), returning = hasReturn(beforeHandle);
|
|
3001
|
+
if (beforeHandle.subType === "resolve" || beforeHandle.subType === "mapResolve")
|
|
3002
|
+
hasResolve || (hasResolve = !0, fnLiteral += `
|
|
2995
3003
|
let resolved
|
|
2996
3004
|
`), fnLiteral += isAsync(beforeHandle) ? `resolved=await e.beforeHandle[${i}](c);
|
|
2997
3005
|
` : `resolved=e.beforeHandle[${i}](c);
|
|
@@ -3004,76 +3012,78 @@ resolved.redirect=c.redirect
|
|
|
3004
3012
|
resolved.set=c.set
|
|
3005
3013
|
resolved.error=c.error
|
|
3006
3014
|
c=resolved}` : fnLiteral += "if(resolved instanceof ElysiaCustomStatusResponse){" + mapResponse("resolved") + `}else Object.assign(c, resolved)
|
|
3007
|
-
|
|
3008
|
-
|
|
3009
|
-
|
|
3015
|
+
`, endUnit();
|
|
3016
|
+
else if (!returning)
|
|
3017
|
+
fnLiteral += isAsync(beforeHandle) ? `await e.beforeHandle[${i}](c)
|
|
3010
3018
|
` : `e.beforeHandle[${i}](c)
|
|
3011
3019
|
`, endUnit();
|
|
3012
|
-
|
|
3013
|
-
|
|
3020
|
+
else {
|
|
3021
|
+
if (fnLiteral += isAsync(beforeHandle) ? `be=await e.beforeHandle[${i}](c)
|
|
3014
3022
|
` : `be=e.beforeHandle[${i}](c)
|
|
3015
|
-
`, endUnit("be"), fnLiteral += "if(be!==undefined){", reporter.resolve(), hooks.afterHandle?.length) {
|
|
3016
|
-
|
|
3017
|
-
|
|
3018
|
-
|
|
3019
|
-
|
|
3020
|
-
|
|
3021
|
-
|
|
3022
|
-
|
|
3023
|
-
|
|
3024
|
-
|
|
3023
|
+
`, endUnit("be"), fnLiteral += "if(be!==undefined){", reporter.resolve(), hooks.afterHandle?.length || hasTrace) {
|
|
3024
|
+
report("handle", {
|
|
3025
|
+
name: isHandleFn ? handler.name : void 0
|
|
3026
|
+
}).resolve();
|
|
3027
|
+
let reporter2 = report("afterHandle", {
|
|
3028
|
+
total: hooks.afterHandle?.length
|
|
3029
|
+
});
|
|
3030
|
+
if (hooks.afterHandle?.length)
|
|
3031
|
+
for (let i2 = 0; i2 < hooks.afterHandle.length; i2++) {
|
|
3032
|
+
let hook = hooks.afterHandle[i2], returning2 = hasReturn(hook), endUnit2 = reporter2.resolveChild(hook.fn.name);
|
|
3033
|
+
fnLiteral += `c.response = be
|
|
3025
3034
|
`, returning2 ? (fnLiteral += isAsync(hook.fn) ? `af=await e.afterHandle[${i2}](c)
|
|
3026
3035
|
` : `af=e.afterHandle[${i2}](c)
|
|
3027
3036
|
`, fnLiteral += `if(af!==undefined) c.response=be=af
|
|
3028
3037
|
`) : fnLiteral += isAsync(hook.fn) ? `await e.afterHandle[${i2}](c, be)
|
|
3029
3038
|
` : `e.afterHandle[${i2}](c, be)
|
|
3030
3039
|
`, endUnit2("af");
|
|
3040
|
+
}
|
|
3041
|
+
reporter2.resolve();
|
|
3031
3042
|
}
|
|
3032
|
-
|
|
3033
|
-
|
|
3034
|
-
|
|
3035
|
-
|
|
3036
|
-
|
|
3037
|
-
|
|
3038
|
-
if (hooks.mapResponse?.length) {
|
|
3039
|
-
fnLiteral += `c.response=be
|
|
3043
|
+
validator.response && (fnLiteral += validation.response("be"));
|
|
3044
|
+
let mapResponseReporter = report("mapResponse", {
|
|
3045
|
+
total: hooks.mapResponse?.length
|
|
3046
|
+
});
|
|
3047
|
+
if (hooks.mapResponse?.length) {
|
|
3048
|
+
fnLiteral += `c.response=be
|
|
3040
3049
|
`;
|
|
3041
|
-
|
|
3042
|
-
|
|
3043
|
-
|
|
3044
|
-
|
|
3045
|
-
|
|
3050
|
+
for (let i2 = 0; i2 < hooks.mapResponse.length; i2++) {
|
|
3051
|
+
let mapResponse2 = hooks.mapResponse[i2], endUnit2 = mapResponseReporter.resolveChild(
|
|
3052
|
+
mapResponse2.fn.name
|
|
3053
|
+
);
|
|
3054
|
+
fnLiteral += `if(mr===undefined){mr=${isAsyncName(mapResponse2) ? "await " : ""}e.mapResponse[${i2}](c)
|
|
3046
3055
|
if(mr!==undefined)be=c.response=mr}`, endUnit2();
|
|
3056
|
+
}
|
|
3047
3057
|
}
|
|
3048
|
-
|
|
3049
|
-
mapResponseReporter.resolve(), fnLiteral += encodeCookie(), fnLiteral += `return mapEarlyResponse(${saveResponse}be,c.set${mapResponseContext})}
|
|
3058
|
+
mapResponseReporter.resolve(), fnLiteral += encodeCookie(), fnLiteral += `return mapEarlyResponse(${saveResponse}be,c.set${mapResponseContext})}
|
|
3050
3059
|
`;
|
|
3060
|
+
}
|
|
3051
3061
|
}
|
|
3052
|
-
}
|
|
3053
3062
|
reporter.resolve();
|
|
3054
3063
|
}
|
|
3055
|
-
if (hooks.afterHandle?.length) {
|
|
3064
|
+
if (hooks.afterHandle?.length || hasTrace) {
|
|
3056
3065
|
let handleReporter = report("handle", {
|
|
3057
3066
|
name: isHandleFn ? handler.name : void 0
|
|
3058
3067
|
});
|
|
3059
|
-
hooks.afterHandle
|
|
3068
|
+
hooks.afterHandle?.length ? fnLiteral += isAsyncHandler ? `let r=c.response=await ${handle}
|
|
3060
3069
|
` : `let r=c.response=${handle}
|
|
3061
3070
|
` : fnLiteral += isAsyncHandler ? `let r=await ${handle}
|
|
3062
3071
|
` : `let r=${handle}
|
|
3063
3072
|
`, handleReporter.resolve();
|
|
3064
3073
|
let reporter = report("afterHandle", {
|
|
3065
|
-
total: hooks.afterHandle
|
|
3074
|
+
total: hooks.afterHandle?.length
|
|
3066
3075
|
});
|
|
3067
|
-
|
|
3068
|
-
let
|
|
3069
|
-
|
|
3076
|
+
if (hooks.afterHandle?.length)
|
|
3077
|
+
for (let i = 0; i < hooks.afterHandle.length; i++) {
|
|
3078
|
+
let hook = hooks.afterHandle[i], returning = hasReturn(hook), endUnit = reporter.resolveChild(hook.fn.name);
|
|
3079
|
+
returning ? (fnLiteral += isAsync(hook.fn) ? `af=await e.afterHandle[${i}](c)
|
|
3070
3080
|
` : `af=e.afterHandle[${i}](c)
|
|
3071
3081
|
`, endUnit("af"), validator.response ? (fnLiteral += "if(af!==undefined){", reporter.resolve(), fnLiteral += validation.response("af"), fnLiteral += "c.response=af}") : (fnLiteral += "if(af!==undefined){", reporter.resolve(), fnLiteral += "c.response=af}")) : (fnLiteral += isAsync(hook.fn) ? `await e.afterHandle[${i}](c)
|
|
3072
3082
|
` : `e.afterHandle[${i}](c)
|
|
3073
3083
|
`, endUnit());
|
|
3074
|
-
|
|
3075
|
-
reporter.resolve(), fnLiteral += `r=c.response
|
|
3076
|
-
|
|
3084
|
+
}
|
|
3085
|
+
reporter.resolve(), hooks.afterHandle?.length && (fnLiteral += `r=c.response
|
|
3086
|
+
`), validator.response && (fnLiteral += validation.response()), fnLiteral += encodeCookie();
|
|
3077
3087
|
let mapResponseReporter = report("mapResponse", {
|
|
3078
3088
|
total: hooks.mapResponse?.length
|
|
3079
3089
|
});
|
|
@@ -3091,7 +3101,7 @@ if(mr!==undefined)r=c.response=mr
|
|
|
3091
3101
|
let handleReporter = report("handle", {
|
|
3092
3102
|
name: isHandleFn ? handler.name : void 0
|
|
3093
3103
|
});
|
|
3094
|
-
if (validator.response || hooks.mapResponse?.length) {
|
|
3104
|
+
if (validator.response || hooks.mapResponse?.length || hasTrace) {
|
|
3095
3105
|
fnLiteral += isAsyncHandler ? `let r=await ${handle}
|
|
3096
3106
|
` : `let r=${handle}
|
|
3097
3107
|
`, handleReporter.resolve(), validator.response && (fnLiteral += validation.response());
|
|
@@ -3411,22 +3421,29 @@ map: switch(p){
|
|
|
3411
3421
|
fnLiteral += word;
|
|
3412
3422
|
}
|
|
3413
3423
|
}), afterResponse = () => {
|
|
3414
|
-
if (!hooks.afterResponse?.length) return "";
|
|
3415
|
-
let afterResponse2 = "", prefix = hooks.afterResponse
|
|
3424
|
+
if (!hooks.afterResponse?.length && !hasTrace) return "";
|
|
3425
|
+
let afterResponse2 = "", prefix = hooks.afterResponse?.some(isAsync) ? "async" : "";
|
|
3416
3426
|
afterResponse2 += `
|
|
3417
3427
|
setImmediate(${prefix}()=>{`;
|
|
3418
|
-
let reporter =
|
|
3428
|
+
let reporter = createReport({
|
|
3429
|
+
context: "context",
|
|
3430
|
+
trace: hooks.trace,
|
|
3431
|
+
addFn: (word) => {
|
|
3432
|
+
afterResponse2 += word;
|
|
3433
|
+
}
|
|
3434
|
+
})("afterResponse", {
|
|
3419
3435
|
total: hooks.afterResponse?.length,
|
|
3420
3436
|
name: "context"
|
|
3421
3437
|
});
|
|
3422
|
-
|
|
3423
|
-
let
|
|
3424
|
-
|
|
3438
|
+
if (hooks.afterResponse?.length && hooks.afterResponse)
|
|
3439
|
+
for (let i = 0; i < hooks.afterResponse.length; i++) {
|
|
3440
|
+
let fn = hooks.afterResponse[i].fn, endUnit = reporter.resolveChild(fn.name);
|
|
3441
|
+
afterResponse2 += `
|
|
3425
3442
|
${isAsyncName(fn) ? "await " : ""}afterResponse[${i}](context)
|
|
3426
3443
|
`, endUnit();
|
|
3427
|
-
|
|
3428
|
-
return afterResponse2 += `})
|
|
3429
|
-
`,
|
|
3444
|
+
}
|
|
3445
|
+
return reporter.resolve(), afterResponse2 += `})
|
|
3446
|
+
`, afterResponse2;
|
|
3430
3447
|
};
|
|
3431
3448
|
fnLiteral += `const set=context.set
|
|
3432
3449
|
let _r
|
|
@@ -3434,7 +3451,7 @@ if(!context.code)context.code=error.code??error[ERROR_CODE]
|
|
|
3434
3451
|
if(!(context.error instanceof Error))context.error=error
|
|
3435
3452
|
if(error instanceof ElysiaCustomStatusResponse){set.status=error.status=error.code
|
|
3436
3453
|
error.message=error.response}`, adapter.declare && (fnLiteral += adapter.declare);
|
|
3437
|
-
let saveResponse = hasTrace || hooks.afterResponse?.length
|
|
3454
|
+
let saveResponse = hasTrace || hooks.afterResponse?.length ? "context.response = " : "";
|
|
3438
3455
|
if (app.event.error)
|
|
3439
3456
|
for (let i = 0; i < app.event.error.length; i++) {
|
|
3440
3457
|
let handler = app.event.error[i], response = `${isAsync(handler) ? "await " : ""}onError[${i}](context)
|