elysia 1.3.19 → 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 +30 -24
- package/dist/adapter/bun/handler.mjs +17 -13
- package/dist/adapter/bun/index.mjs +30 -24
- package/dist/adapter/utils.mjs +17 -13
- package/dist/adapter/web-standard/handler.mjs +96 -13
- package/dist/adapter/web-standard/index.mjs +96 -13
- package/dist/bun/index.js +23 -23
- package/dist/bun/index.js.map +7 -7
- package/dist/cjs/adapter/bun/compose.js +17 -13
- package/dist/cjs/adapter/bun/handler-native.js +30 -24
- package/dist/cjs/adapter/bun/handler.js +17 -13
- package/dist/cjs/adapter/bun/index.js +30 -24
- package/dist/cjs/adapter/utils.js +17 -13
- package/dist/cjs/adapter/web-standard/handler.js +96 -13
- package/dist/cjs/adapter/web-standard/index.js +96 -13
- package/dist/cjs/compose.js +84 -67
- package/dist/cjs/index.js +117 -94
- package/dist/compose.mjs +84 -67
- package/dist/index.mjs +117 -94
- package/package.json +1 -1
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)
|
package/dist/cjs/index.js
CHANGED
|
@@ -468,7 +468,7 @@ var import_typebox2 = require("@sinclair/typebox"), import_value2 = require("@si
|
|
|
468
468
|
var isBun = typeof Bun < "u";
|
|
469
469
|
|
|
470
470
|
// src/universal/file.ts
|
|
471
|
-
var
|
|
471
|
+
var mime = {
|
|
472
472
|
aac: "audio/aac",
|
|
473
473
|
abw: "application/x-abiword",
|
|
474
474
|
ai: "application/postscript",
|
|
@@ -564,7 +564,7 @@ var mime2 = {
|
|
|
564
564
|
get type() {
|
|
565
565
|
return (
|
|
566
566
|
// @ts-ignore
|
|
567
|
-
|
|
567
|
+
mime[getFileExtension(this.path)] || "application/octet-stream"
|
|
568
568
|
);
|
|
569
569
|
}
|
|
570
570
|
get length() {
|
|
@@ -2298,22 +2298,26 @@ var handleFile = (response, set2) => {
|
|
|
2298
2298
|
try {
|
|
2299
2299
|
for await (let chunk of generator) {
|
|
2300
2300
|
if (end) break;
|
|
2301
|
-
if (chunk != null)
|
|
2301
|
+
if (chunk != null)
|
|
2302
2302
|
if (chunk.toSSE)
|
|
2303
2303
|
controller.enqueue(chunk.toSSE());
|
|
2304
|
-
else
|
|
2305
|
-
|
|
2306
|
-
|
|
2307
|
-
|
|
2308
|
-
|
|
2309
|
-
|
|
2304
|
+
else {
|
|
2305
|
+
if (typeof chunk == "object")
|
|
2306
|
+
try {
|
|
2307
|
+
controller.enqueue(
|
|
2308
|
+
format(JSON.stringify(chunk))
|
|
2309
|
+
);
|
|
2310
|
+
} catch {
|
|
2311
|
+
controller.enqueue(
|
|
2312
|
+
format(chunk.toString())
|
|
2313
|
+
);
|
|
2314
|
+
}
|
|
2315
|
+
else
|
|
2310
2316
|
controller.enqueue(format(chunk.toString()));
|
|
2311
|
-
|
|
2312
|
-
|
|
2313
|
-
|
|
2314
|
-
|
|
2315
|
-
);
|
|
2316
|
-
}
|
|
2317
|
+
isSSE || await new Promise(
|
|
2318
|
+
(resolve) => setTimeout(() => resolve(), 0)
|
|
2319
|
+
);
|
|
2320
|
+
}
|
|
2317
2321
|
}
|
|
2318
2322
|
} catch (error2) {
|
|
2319
2323
|
console.warn(error2);
|
|
@@ -4398,11 +4402,16 @@ try{a${index}.push(JSON.parse(value))}catch{a${index}.push(value)}if(deepMemory=
|
|
|
4398
4402
|
}
|
|
4399
4403
|
}
|
|
4400
4404
|
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 = () => {
|
|
4401
|
-
if (!hooks.afterResponse?.length) return "";
|
|
4405
|
+
if (!hooks.afterResponse?.length && !hasTrace) return "";
|
|
4402
4406
|
let afterResponse2 = "", prefix = hooks.afterResponse?.some(isAsync) ? "async " : "";
|
|
4403
4407
|
afterResponse2 += `
|
|
4404
4408
|
setImmediate(${prefix}()=>{`;
|
|
4405
|
-
let reporter =
|
|
4409
|
+
let reporter = createReport({
|
|
4410
|
+
trace: hooks.trace,
|
|
4411
|
+
addFn: (word) => {
|
|
4412
|
+
afterResponse2 += word;
|
|
4413
|
+
}
|
|
4414
|
+
})("afterResponse", {
|
|
4406
4415
|
total: hooks.afterResponse?.length
|
|
4407
4416
|
});
|
|
4408
4417
|
if (hooks.afterResponse?.length && hooks.afterResponse)
|
|
@@ -4419,7 +4428,7 @@ ${prefix2}e.afterResponse[${i}](c)
|
|
|
4419
4428
|
}, mapResponse3 = (r = "r") => {
|
|
4420
4429
|
let after = afterResponse(), response = `${hasSet ? "mapResponse" : "mapCompactResponse"}(${saveResponse}${r}${hasSet ? ",c.set" : ""}${mapResponseContext})
|
|
4421
4430
|
`;
|
|
4422
|
-
return after
|
|
4431
|
+
return after ? `const _res=${response}` + after + "return _res" : `return ${response}`;
|
|
4423
4432
|
}, mapResponseContext = maybeStream || adapter.mapResponseContext ? `,${adapter.mapResponseContext}` : "";
|
|
4424
4433
|
(hasTrace || inference.route) && (fnLiteral += `c.route=\`${path}\`
|
|
4425
4434
|
`);
|
|
@@ -4573,15 +4582,16 @@ delete c.contentType`);
|
|
|
4573
4582
|
}
|
|
4574
4583
|
fnLiteral += "}catch(error){throw new ParseError(error)}";
|
|
4575
4584
|
}
|
|
4576
|
-
if (parseReporter.resolve(), hooks?.transform) {
|
|
4585
|
+
if (parseReporter.resolve(), hooks?.transform || hasTrace) {
|
|
4577
4586
|
let reporter = report("transform", {
|
|
4578
|
-
total: hooks.transform
|
|
4587
|
+
total: hooks.transform?.length
|
|
4579
4588
|
});
|
|
4580
|
-
hooks.transform
|
|
4581
|
-
`
|
|
4582
|
-
|
|
4583
|
-
let
|
|
4584
|
-
|
|
4589
|
+
if (hooks.transform?.length) {
|
|
4590
|
+
fnLiteral += `let transformed
|
|
4591
|
+
`;
|
|
4592
|
+
for (let i = 0; i < hooks.transform.length; i++) {
|
|
4593
|
+
let transform = hooks.transform[i], endUnit = reporter.resolveChild(transform.fn.name);
|
|
4594
|
+
fnLiteral += isAsync(transform) ? `transformed=await e.transform[${i}](c)
|
|
4585
4595
|
` : `transformed=e.transform[${i}](c)
|
|
4586
4596
|
`, transform.subType === "mapDerive" ? fnLiteral += "if(transformed instanceof ElysiaCustomStatusResponse){" + mapResponse3("transformed") + `}else{transformed.request=c.request
|
|
4587
4597
|
transformed.store=c.store
|
|
@@ -4593,6 +4603,7 @@ transformed.set=c.set
|
|
|
4593
4603
|
transformed.error=c.error
|
|
4594
4604
|
c=transformed}` : fnLiteral += "if(transformed instanceof ElysiaCustomStatusResponse){" + mapResponse3("transformed") + `}else Object.assign(c,transformed)
|
|
4595
4605
|
`, endUnit();
|
|
4606
|
+
}
|
|
4596
4607
|
}
|
|
4597
4608
|
reporter.resolve();
|
|
4598
4609
|
}
|
|
@@ -4780,14 +4791,15 @@ for(const [key,value] of Object.entries(c.cookie))cookieValue[key]=value.value
|
|
|
4780
4791
|
)), cookieValidator.isOptional && (fnLiteral += "}");
|
|
4781
4792
|
}
|
|
4782
4793
|
}
|
|
4783
|
-
if (hooks?.beforeHandle) {
|
|
4794
|
+
if (hooks?.beforeHandle || hasTrace) {
|
|
4784
4795
|
let reporter = report("beforeHandle", {
|
|
4785
|
-
total: hooks.beforeHandle
|
|
4796
|
+
total: hooks.beforeHandle?.length
|
|
4786
4797
|
}), hasResolve = !1;
|
|
4787
|
-
|
|
4788
|
-
let
|
|
4789
|
-
|
|
4790
|
-
|
|
4798
|
+
if (hooks.beforeHandle?.length)
|
|
4799
|
+
for (let i = 0; i < hooks.beforeHandle.length; i++) {
|
|
4800
|
+
let beforeHandle = hooks.beforeHandle[i], endUnit = reporter.resolveChild(beforeHandle.fn.name), returning = hasReturn(beforeHandle);
|
|
4801
|
+
if (beforeHandle.subType === "resolve" || beforeHandle.subType === "mapResolve")
|
|
4802
|
+
hasResolve || (hasResolve = !0, fnLiteral += `
|
|
4791
4803
|
let resolved
|
|
4792
4804
|
`), fnLiteral += isAsync(beforeHandle) ? `resolved=await e.beforeHandle[${i}](c);
|
|
4793
4805
|
` : `resolved=e.beforeHandle[${i}](c);
|
|
@@ -4800,76 +4812,78 @@ resolved.redirect=c.redirect
|
|
|
4800
4812
|
resolved.set=c.set
|
|
4801
4813
|
resolved.error=c.error
|
|
4802
4814
|
c=resolved}` : fnLiteral += "if(resolved instanceof ElysiaCustomStatusResponse){" + mapResponse3("resolved") + `}else Object.assign(c, resolved)
|
|
4803
|
-
|
|
4804
|
-
|
|
4805
|
-
|
|
4815
|
+
`, endUnit();
|
|
4816
|
+
else if (!returning)
|
|
4817
|
+
fnLiteral += isAsync(beforeHandle) ? `await e.beforeHandle[${i}](c)
|
|
4806
4818
|
` : `e.beforeHandle[${i}](c)
|
|
4807
4819
|
`, endUnit();
|
|
4808
|
-
|
|
4809
|
-
|
|
4820
|
+
else {
|
|
4821
|
+
if (fnLiteral += isAsync(beforeHandle) ? `be=await e.beforeHandle[${i}](c)
|
|
4810
4822
|
` : `be=e.beforeHandle[${i}](c)
|
|
4811
|
-
`, endUnit("be"), fnLiteral += "if(be!==undefined){", reporter.resolve(), hooks.afterHandle?.length) {
|
|
4812
|
-
|
|
4813
|
-
|
|
4814
|
-
|
|
4815
|
-
|
|
4816
|
-
|
|
4817
|
-
|
|
4818
|
-
|
|
4819
|
-
|
|
4820
|
-
|
|
4823
|
+
`, endUnit("be"), fnLiteral += "if(be!==undefined){", reporter.resolve(), hooks.afterHandle?.length || hasTrace) {
|
|
4824
|
+
report("handle", {
|
|
4825
|
+
name: isHandleFn ? handler.name : void 0
|
|
4826
|
+
}).resolve();
|
|
4827
|
+
let reporter2 = report("afterHandle", {
|
|
4828
|
+
total: hooks.afterHandle?.length
|
|
4829
|
+
});
|
|
4830
|
+
if (hooks.afterHandle?.length)
|
|
4831
|
+
for (let i2 = 0; i2 < hooks.afterHandle.length; i2++) {
|
|
4832
|
+
let hook = hooks.afterHandle[i2], returning2 = hasReturn(hook), endUnit2 = reporter2.resolveChild(hook.fn.name);
|
|
4833
|
+
fnLiteral += `c.response = be
|
|
4821
4834
|
`, returning2 ? (fnLiteral += isAsync(hook.fn) ? `af=await e.afterHandle[${i2}](c)
|
|
4822
4835
|
` : `af=e.afterHandle[${i2}](c)
|
|
4823
4836
|
`, fnLiteral += `if(af!==undefined) c.response=be=af
|
|
4824
4837
|
`) : fnLiteral += isAsync(hook.fn) ? `await e.afterHandle[${i2}](c, be)
|
|
4825
4838
|
` : `e.afterHandle[${i2}](c, be)
|
|
4826
4839
|
`, endUnit2("af");
|
|
4840
|
+
}
|
|
4841
|
+
reporter2.resolve();
|
|
4827
4842
|
}
|
|
4828
|
-
|
|
4829
|
-
|
|
4830
|
-
|
|
4831
|
-
|
|
4832
|
-
|
|
4833
|
-
|
|
4834
|
-
if (hooks.mapResponse?.length) {
|
|
4835
|
-
fnLiteral += `c.response=be
|
|
4843
|
+
validator.response && (fnLiteral += validation.response("be"));
|
|
4844
|
+
let mapResponseReporter = report("mapResponse", {
|
|
4845
|
+
total: hooks.mapResponse?.length
|
|
4846
|
+
});
|
|
4847
|
+
if (hooks.mapResponse?.length) {
|
|
4848
|
+
fnLiteral += `c.response=be
|
|
4836
4849
|
`;
|
|
4837
|
-
|
|
4838
|
-
|
|
4839
|
-
|
|
4840
|
-
|
|
4841
|
-
|
|
4850
|
+
for (let i2 = 0; i2 < hooks.mapResponse.length; i2++) {
|
|
4851
|
+
let mapResponse4 = hooks.mapResponse[i2], endUnit2 = mapResponseReporter.resolveChild(
|
|
4852
|
+
mapResponse4.fn.name
|
|
4853
|
+
);
|
|
4854
|
+
fnLiteral += `if(mr===undefined){mr=${isAsyncName(mapResponse4) ? "await " : ""}e.mapResponse[${i2}](c)
|
|
4842
4855
|
if(mr!==undefined)be=c.response=mr}`, endUnit2();
|
|
4856
|
+
}
|
|
4843
4857
|
}
|
|
4844
|
-
|
|
4845
|
-
mapResponseReporter.resolve(), fnLiteral += encodeCookie(), fnLiteral += `return mapEarlyResponse(${saveResponse}be,c.set${mapResponseContext})}
|
|
4858
|
+
mapResponseReporter.resolve(), fnLiteral += encodeCookie(), fnLiteral += `return mapEarlyResponse(${saveResponse}be,c.set${mapResponseContext})}
|
|
4846
4859
|
`;
|
|
4860
|
+
}
|
|
4847
4861
|
}
|
|
4848
|
-
}
|
|
4849
4862
|
reporter.resolve();
|
|
4850
4863
|
}
|
|
4851
|
-
if (hooks.afterHandle?.length) {
|
|
4864
|
+
if (hooks.afterHandle?.length || hasTrace) {
|
|
4852
4865
|
let handleReporter = report("handle", {
|
|
4853
4866
|
name: isHandleFn ? handler.name : void 0
|
|
4854
4867
|
});
|
|
4855
|
-
hooks.afterHandle
|
|
4868
|
+
hooks.afterHandle?.length ? fnLiteral += isAsyncHandler ? `let r=c.response=await ${handle}
|
|
4856
4869
|
` : `let r=c.response=${handle}
|
|
4857
4870
|
` : fnLiteral += isAsyncHandler ? `let r=await ${handle}
|
|
4858
4871
|
` : `let r=${handle}
|
|
4859
4872
|
`, handleReporter.resolve();
|
|
4860
4873
|
let reporter = report("afterHandle", {
|
|
4861
|
-
total: hooks.afterHandle
|
|
4874
|
+
total: hooks.afterHandle?.length
|
|
4862
4875
|
});
|
|
4863
|
-
|
|
4864
|
-
let
|
|
4865
|
-
|
|
4876
|
+
if (hooks.afterHandle?.length)
|
|
4877
|
+
for (let i = 0; i < hooks.afterHandle.length; i++) {
|
|
4878
|
+
let hook = hooks.afterHandle[i], returning = hasReturn(hook), endUnit = reporter.resolveChild(hook.fn.name);
|
|
4879
|
+
returning ? (fnLiteral += isAsync(hook.fn) ? `af=await e.afterHandle[${i}](c)
|
|
4866
4880
|
` : `af=e.afterHandle[${i}](c)
|
|
4867
4881
|
`, 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)
|
|
4868
4882
|
` : `e.afterHandle[${i}](c)
|
|
4869
4883
|
`, endUnit());
|
|
4870
|
-
|
|
4871
|
-
reporter.resolve(), fnLiteral += `r=c.response
|
|
4872
|
-
|
|
4884
|
+
}
|
|
4885
|
+
reporter.resolve(), hooks.afterHandle?.length && (fnLiteral += `r=c.response
|
|
4886
|
+
`), validator.response && (fnLiteral += validation.response()), fnLiteral += encodeCookie();
|
|
4873
4887
|
let mapResponseReporter = report("mapResponse", {
|
|
4874
4888
|
total: hooks.mapResponse?.length
|
|
4875
4889
|
});
|
|
@@ -4887,7 +4901,7 @@ if(mr!==undefined)r=c.response=mr
|
|
|
4887
4901
|
let handleReporter = report("handle", {
|
|
4888
4902
|
name: isHandleFn ? handler.name : void 0
|
|
4889
4903
|
});
|
|
4890
|
-
if (validator.response || hooks.mapResponse?.length) {
|
|
4904
|
+
if (validator.response || hooks.mapResponse?.length || hasTrace) {
|
|
4891
4905
|
fnLiteral += isAsyncHandler ? `let r=await ${handle}
|
|
4892
4906
|
` : `let r=${handle}
|
|
4893
4907
|
`, handleReporter.resolve(), validator.response && (fnLiteral += validation.response());
|
|
@@ -5207,22 +5221,29 @@ map: switch(p){
|
|
|
5207
5221
|
fnLiteral += word;
|
|
5208
5222
|
}
|
|
5209
5223
|
}), afterResponse = () => {
|
|
5210
|
-
if (!hooks.afterResponse?.length) return "";
|
|
5211
|
-
let afterResponse2 = "", prefix = hooks.afterResponse
|
|
5224
|
+
if (!hooks.afterResponse?.length && !hasTrace) return "";
|
|
5225
|
+
let afterResponse2 = "", prefix = hooks.afterResponse?.some(isAsync) ? "async" : "";
|
|
5212
5226
|
afterResponse2 += `
|
|
5213
5227
|
setImmediate(${prefix}()=>{`;
|
|
5214
|
-
let reporter =
|
|
5228
|
+
let reporter = createReport({
|
|
5229
|
+
context: "context",
|
|
5230
|
+
trace: hooks.trace,
|
|
5231
|
+
addFn: (word) => {
|
|
5232
|
+
afterResponse2 += word;
|
|
5233
|
+
}
|
|
5234
|
+
})("afterResponse", {
|
|
5215
5235
|
total: hooks.afterResponse?.length,
|
|
5216
5236
|
name: "context"
|
|
5217
5237
|
});
|
|
5218
|
-
|
|
5219
|
-
let
|
|
5220
|
-
|
|
5238
|
+
if (hooks.afterResponse?.length && hooks.afterResponse)
|
|
5239
|
+
for (let i = 0; i < hooks.afterResponse.length; i++) {
|
|
5240
|
+
let fn = hooks.afterResponse[i].fn, endUnit = reporter.resolveChild(fn.name);
|
|
5241
|
+
afterResponse2 += `
|
|
5221
5242
|
${isAsyncName(fn) ? "await " : ""}afterResponse[${i}](context)
|
|
5222
5243
|
`, endUnit();
|
|
5223
|
-
|
|
5224
|
-
return afterResponse2 += `})
|
|
5225
|
-
`,
|
|
5244
|
+
}
|
|
5245
|
+
return reporter.resolve(), afterResponse2 += `})
|
|
5246
|
+
`, afterResponse2;
|
|
5226
5247
|
};
|
|
5227
5248
|
fnLiteral += `const set=context.set
|
|
5228
5249
|
let _r
|
|
@@ -5230,7 +5251,7 @@ if(!context.code)context.code=error.code??error[ERROR_CODE]
|
|
|
5230
5251
|
if(!(context.error instanceof Error))context.error=error
|
|
5231
5252
|
if(error instanceof ElysiaCustomStatusResponse){set.status=error.status=error.code
|
|
5232
5253
|
error.message=error.response}`, adapter.declare && (fnLiteral += adapter.declare);
|
|
5233
|
-
let saveResponse = hasTrace || hooks.afterResponse?.length
|
|
5254
|
+
let saveResponse = hasTrace || hooks.afterResponse?.length ? "context.response = " : "";
|
|
5234
5255
|
if (app.event.error)
|
|
5235
5256
|
for (let i = 0; i < app.event.error.length; i++) {
|
|
5236
5257
|
let handler = app.event.error[i], response = `${isAsync(handler) ? "await " : ""}onError[${i}](context)
|
|
@@ -5657,7 +5678,9 @@ for(const [k,v] of c.request.headers.entries())c.headers[k]=v
|
|
|
5657
5678
|
),
|
|
5658
5679
|
websocket: {
|
|
5659
5680
|
...app.config.websocket || {},
|
|
5660
|
-
...websocket || {}
|
|
5681
|
+
...websocket || {},
|
|
5682
|
+
// @ts-expect-error not available in this variant of options type
|
|
5683
|
+
...options.websocket || {}
|
|
5661
5684
|
},
|
|
5662
5685
|
fetch: app.fetch
|
|
5663
5686
|
} : {
|
|
@@ -5763,7 +5786,7 @@ for(const [k,v] of c.request.headers.entries())c.headers[k]=v
|
|
|
5763
5786
|
...(app.event.error ?? []).map(
|
|
5764
5787
|
(x) => typeof x == "function" ? x : x.fn
|
|
5765
5788
|
)
|
|
5766
|
-
].filter((x) => x),
|
|
5789
|
+
].filter((x) => x), hasCustomErrorHandlers = errorHandlers.length > 0, handleErrors = hasCustomErrorHandlers ? async (ws, error2) => {
|
|
5767
5790
|
for (let handleError of errorHandlers) {
|
|
5768
5791
|
let response2 = handleError(
|
|
5769
5792
|
Object.assign(context, { error: error2 })
|
|
@@ -5800,14 +5823,14 @@ for(const [k,v] of c.request.headers.entries())c.headers[k]=v
|
|
|
5800
5823
|
},
|
|
5801
5824
|
message: async (ws, _message) => {
|
|
5802
5825
|
let message = await parseMessage(ws, _message);
|
|
5803
|
-
if (validateMessage?.Check(message) === !1)
|
|
5804
|
-
|
|
5805
|
-
|
|
5806
|
-
|
|
5807
|
-
|
|
5808
|
-
message
|
|
5809
|
-
).message
|
|
5826
|
+
if (validateMessage?.Check(message) === !1) {
|
|
5827
|
+
let validationError = new ValidationError(
|
|
5828
|
+
"message",
|
|
5829
|
+
validateMessage,
|
|
5830
|
+
message
|
|
5810
5831
|
);
|
|
5832
|
+
return hasCustomErrorHandlers ? handleErrors(ws, validationError) : void ws.send(validationError.message);
|
|
5833
|
+
}
|
|
5811
5834
|
try {
|
|
5812
5835
|
await handleResponse3(
|
|
5813
5836
|
ws,
|
|
@@ -7345,7 +7368,7 @@ var _Elysia = class _Elysia {
|
|
|
7345
7368
|
if (typeof plugin2 == "function") return plugin2(this);
|
|
7346
7369
|
if (plugin2 instanceof _Elysia)
|
|
7347
7370
|
return this._use(plugin2).compile();
|
|
7348
|
-
if (plugin2.constructor
|
|
7371
|
+
if (plugin2.constructor?.name === "Elysia")
|
|
7349
7372
|
return this._use(
|
|
7350
7373
|
plugin2
|
|
7351
7374
|
).compile();
|
|
@@ -7353,9 +7376,9 @@ var _Elysia = class _Elysia {
|
|
|
7353
7376
|
return plugin2.default(this);
|
|
7354
7377
|
if (plugin2.default instanceof _Elysia)
|
|
7355
7378
|
return this._use(plugin2.default);
|
|
7356
|
-
if (plugin2.constructor
|
|
7379
|
+
if (plugin2.constructor?.name === "Elysia")
|
|
7357
7380
|
return this._use(plugin2.default);
|
|
7358
|
-
if (plugin2.constructor
|
|
7381
|
+
if (plugin2.constructor?.name === "_Elysia")
|
|
7359
7382
|
return this._use(plugin2.default);
|
|
7360
7383
|
try {
|
|
7361
7384
|
return this._use(plugin2.default);
|