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/compose.mjs
CHANGED
|
@@ -2599,11 +2599,16 @@ try{a${index}.push(JSON.parse(value))}catch{a${index}.push(value)}if(deepMemory=
|
|
|
2599
2599
|
}
|
|
2600
2600
|
}
|
|
2601
2601
|
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 = () => {
|
|
2602
|
-
if (!hooks.afterResponse?.length) return "";
|
|
2602
|
+
if (!hooks.afterResponse?.length && !hasTrace) return "";
|
|
2603
2603
|
let afterResponse2 = "", prefix = hooks.afterResponse?.some(isAsync) ? "async " : "";
|
|
2604
2604
|
afterResponse2 += `
|
|
2605
2605
|
setImmediate(${prefix}()=>{`;
|
|
2606
|
-
let reporter =
|
|
2606
|
+
let reporter = createReport({
|
|
2607
|
+
trace: hooks.trace,
|
|
2608
|
+
addFn: (word) => {
|
|
2609
|
+
afterResponse2 += word;
|
|
2610
|
+
}
|
|
2611
|
+
})("afterResponse", {
|
|
2607
2612
|
total: hooks.afterResponse?.length
|
|
2608
2613
|
});
|
|
2609
2614
|
if (hooks.afterResponse?.length && hooks.afterResponse)
|
|
@@ -2620,7 +2625,7 @@ ${prefix2}e.afterResponse[${i}](c)
|
|
|
2620
2625
|
}, mapResponse = (r = "r") => {
|
|
2621
2626
|
let after = afterResponse(), response = `${hasSet ? "mapResponse" : "mapCompactResponse"}(${saveResponse}${r}${hasSet ? ",c.set" : ""}${mapResponseContext})
|
|
2622
2627
|
`;
|
|
2623
|
-
return after
|
|
2628
|
+
return after ? `const _res=${response}` + after + "return _res" : `return ${response}`;
|
|
2624
2629
|
}, mapResponseContext = maybeStream || adapter.mapResponseContext ? `,${adapter.mapResponseContext}` : "";
|
|
2625
2630
|
(hasTrace || inference.route) && (fnLiteral += `c.route=\`${path}\`
|
|
2626
2631
|
`);
|
|
@@ -2774,15 +2779,16 @@ delete c.contentType`);
|
|
|
2774
2779
|
}
|
|
2775
2780
|
fnLiteral += "}catch(error){throw new ParseError(error)}";
|
|
2776
2781
|
}
|
|
2777
|
-
if (parseReporter.resolve(), hooks?.transform) {
|
|
2782
|
+
if (parseReporter.resolve(), hooks?.transform || hasTrace) {
|
|
2778
2783
|
let reporter = report("transform", {
|
|
2779
|
-
total: hooks.transform
|
|
2784
|
+
total: hooks.transform?.length
|
|
2780
2785
|
});
|
|
2781
|
-
hooks.transform
|
|
2782
|
-
`
|
|
2783
|
-
|
|
2784
|
-
let
|
|
2785
|
-
|
|
2786
|
+
if (hooks.transform?.length) {
|
|
2787
|
+
fnLiteral += `let transformed
|
|
2788
|
+
`;
|
|
2789
|
+
for (let i = 0; i < hooks.transform.length; i++) {
|
|
2790
|
+
let transform = hooks.transform[i], endUnit = reporter.resolveChild(transform.fn.name);
|
|
2791
|
+
fnLiteral += isAsync(transform) ? `transformed=await e.transform[${i}](c)
|
|
2786
2792
|
` : `transformed=e.transform[${i}](c)
|
|
2787
2793
|
`, transform.subType === "mapDerive" ? fnLiteral += "if(transformed instanceof ElysiaCustomStatusResponse){" + mapResponse("transformed") + `}else{transformed.request=c.request
|
|
2788
2794
|
transformed.store=c.store
|
|
@@ -2794,6 +2800,7 @@ transformed.set=c.set
|
|
|
2794
2800
|
transformed.error=c.error
|
|
2795
2801
|
c=transformed}` : fnLiteral += "if(transformed instanceof ElysiaCustomStatusResponse){" + mapResponse("transformed") + `}else Object.assign(c,transformed)
|
|
2796
2802
|
`, endUnit();
|
|
2803
|
+
}
|
|
2797
2804
|
}
|
|
2798
2805
|
reporter.resolve();
|
|
2799
2806
|
}
|
|
@@ -2981,14 +2988,15 @@ for(const [key,value] of Object.entries(c.cookie))cookieValue[key]=value.value
|
|
|
2981
2988
|
)), cookieValidator.isOptional && (fnLiteral += "}");
|
|
2982
2989
|
}
|
|
2983
2990
|
}
|
|
2984
|
-
if (hooks?.beforeHandle) {
|
|
2991
|
+
if (hooks?.beforeHandle || hasTrace) {
|
|
2985
2992
|
let reporter = report("beforeHandle", {
|
|
2986
|
-
total: hooks.beforeHandle
|
|
2993
|
+
total: hooks.beforeHandle?.length
|
|
2987
2994
|
}), hasResolve = !1;
|
|
2988
|
-
|
|
2989
|
-
let
|
|
2990
|
-
|
|
2991
|
-
|
|
2995
|
+
if (hooks.beforeHandle?.length)
|
|
2996
|
+
for (let i = 0; i < hooks.beforeHandle.length; i++) {
|
|
2997
|
+
let beforeHandle = hooks.beforeHandle[i], endUnit = reporter.resolveChild(beforeHandle.fn.name), returning = hasReturn(beforeHandle);
|
|
2998
|
+
if (beforeHandle.subType === "resolve" || beforeHandle.subType === "mapResolve")
|
|
2999
|
+
hasResolve || (hasResolve = !0, fnLiteral += `
|
|
2992
3000
|
let resolved
|
|
2993
3001
|
`), fnLiteral += isAsync(beforeHandle) ? `resolved=await e.beforeHandle[${i}](c);
|
|
2994
3002
|
` : `resolved=e.beforeHandle[${i}](c);
|
|
@@ -3001,76 +3009,78 @@ resolved.redirect=c.redirect
|
|
|
3001
3009
|
resolved.set=c.set
|
|
3002
3010
|
resolved.error=c.error
|
|
3003
3011
|
c=resolved}` : fnLiteral += "if(resolved instanceof ElysiaCustomStatusResponse){" + mapResponse("resolved") + `}else Object.assign(c, resolved)
|
|
3004
|
-
|
|
3005
|
-
|
|
3006
|
-
|
|
3012
|
+
`, endUnit();
|
|
3013
|
+
else if (!returning)
|
|
3014
|
+
fnLiteral += isAsync(beforeHandle) ? `await e.beforeHandle[${i}](c)
|
|
3007
3015
|
` : `e.beforeHandle[${i}](c)
|
|
3008
3016
|
`, endUnit();
|
|
3009
|
-
|
|
3010
|
-
|
|
3017
|
+
else {
|
|
3018
|
+
if (fnLiteral += isAsync(beforeHandle) ? `be=await e.beforeHandle[${i}](c)
|
|
3011
3019
|
` : `be=e.beforeHandle[${i}](c)
|
|
3012
|
-
`, endUnit("be"), fnLiteral += "if(be!==undefined){", reporter.resolve(), hooks.afterHandle?.length) {
|
|
3013
|
-
|
|
3014
|
-
|
|
3015
|
-
|
|
3016
|
-
|
|
3017
|
-
|
|
3018
|
-
|
|
3019
|
-
|
|
3020
|
-
|
|
3021
|
-
|
|
3020
|
+
`, endUnit("be"), fnLiteral += "if(be!==undefined){", reporter.resolve(), hooks.afterHandle?.length || hasTrace) {
|
|
3021
|
+
report("handle", {
|
|
3022
|
+
name: isHandleFn ? handler.name : void 0
|
|
3023
|
+
}).resolve();
|
|
3024
|
+
let reporter2 = report("afterHandle", {
|
|
3025
|
+
total: hooks.afterHandle?.length
|
|
3026
|
+
});
|
|
3027
|
+
if (hooks.afterHandle?.length)
|
|
3028
|
+
for (let i2 = 0; i2 < hooks.afterHandle.length; i2++) {
|
|
3029
|
+
let hook = hooks.afterHandle[i2], returning2 = hasReturn(hook), endUnit2 = reporter2.resolveChild(hook.fn.name);
|
|
3030
|
+
fnLiteral += `c.response = be
|
|
3022
3031
|
`, returning2 ? (fnLiteral += isAsync(hook.fn) ? `af=await e.afterHandle[${i2}](c)
|
|
3023
3032
|
` : `af=e.afterHandle[${i2}](c)
|
|
3024
3033
|
`, fnLiteral += `if(af!==undefined) c.response=be=af
|
|
3025
3034
|
`) : fnLiteral += isAsync(hook.fn) ? `await e.afterHandle[${i2}](c, be)
|
|
3026
3035
|
` : `e.afterHandle[${i2}](c, be)
|
|
3027
3036
|
`, endUnit2("af");
|
|
3037
|
+
}
|
|
3038
|
+
reporter2.resolve();
|
|
3028
3039
|
}
|
|
3029
|
-
|
|
3030
|
-
|
|
3031
|
-
|
|
3032
|
-
|
|
3033
|
-
|
|
3034
|
-
|
|
3035
|
-
if (hooks.mapResponse?.length) {
|
|
3036
|
-
fnLiteral += `c.response=be
|
|
3040
|
+
validator.response && (fnLiteral += validation.response("be"));
|
|
3041
|
+
let mapResponseReporter = report("mapResponse", {
|
|
3042
|
+
total: hooks.mapResponse?.length
|
|
3043
|
+
});
|
|
3044
|
+
if (hooks.mapResponse?.length) {
|
|
3045
|
+
fnLiteral += `c.response=be
|
|
3037
3046
|
`;
|
|
3038
|
-
|
|
3039
|
-
|
|
3040
|
-
|
|
3041
|
-
|
|
3042
|
-
|
|
3047
|
+
for (let i2 = 0; i2 < hooks.mapResponse.length; i2++) {
|
|
3048
|
+
let mapResponse2 = hooks.mapResponse[i2], endUnit2 = mapResponseReporter.resolveChild(
|
|
3049
|
+
mapResponse2.fn.name
|
|
3050
|
+
);
|
|
3051
|
+
fnLiteral += `if(mr===undefined){mr=${isAsyncName(mapResponse2) ? "await " : ""}e.mapResponse[${i2}](c)
|
|
3043
3052
|
if(mr!==undefined)be=c.response=mr}`, endUnit2();
|
|
3053
|
+
}
|
|
3044
3054
|
}
|
|
3045
|
-
|
|
3046
|
-
mapResponseReporter.resolve(), fnLiteral += encodeCookie(), fnLiteral += `return mapEarlyResponse(${saveResponse}be,c.set${mapResponseContext})}
|
|
3055
|
+
mapResponseReporter.resolve(), fnLiteral += encodeCookie(), fnLiteral += `return mapEarlyResponse(${saveResponse}be,c.set${mapResponseContext})}
|
|
3047
3056
|
`;
|
|
3057
|
+
}
|
|
3048
3058
|
}
|
|
3049
|
-
}
|
|
3050
3059
|
reporter.resolve();
|
|
3051
3060
|
}
|
|
3052
|
-
if (hooks.afterHandle?.length) {
|
|
3061
|
+
if (hooks.afterHandle?.length || hasTrace) {
|
|
3053
3062
|
let handleReporter = report("handle", {
|
|
3054
3063
|
name: isHandleFn ? handler.name : void 0
|
|
3055
3064
|
});
|
|
3056
|
-
hooks.afterHandle
|
|
3065
|
+
hooks.afterHandle?.length ? fnLiteral += isAsyncHandler ? `let r=c.response=await ${handle}
|
|
3057
3066
|
` : `let r=c.response=${handle}
|
|
3058
3067
|
` : fnLiteral += isAsyncHandler ? `let r=await ${handle}
|
|
3059
3068
|
` : `let r=${handle}
|
|
3060
3069
|
`, handleReporter.resolve();
|
|
3061
3070
|
let reporter = report("afterHandle", {
|
|
3062
|
-
total: hooks.afterHandle
|
|
3071
|
+
total: hooks.afterHandle?.length
|
|
3063
3072
|
});
|
|
3064
|
-
|
|
3065
|
-
let
|
|
3066
|
-
|
|
3073
|
+
if (hooks.afterHandle?.length)
|
|
3074
|
+
for (let i = 0; i < hooks.afterHandle.length; i++) {
|
|
3075
|
+
let hook = hooks.afterHandle[i], returning = hasReturn(hook), endUnit = reporter.resolveChild(hook.fn.name);
|
|
3076
|
+
returning ? (fnLiteral += isAsync(hook.fn) ? `af=await e.afterHandle[${i}](c)
|
|
3067
3077
|
` : `af=e.afterHandle[${i}](c)
|
|
3068
3078
|
`, 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)
|
|
3069
3079
|
` : `e.afterHandle[${i}](c)
|
|
3070
3080
|
`, endUnit());
|
|
3071
|
-
|
|
3072
|
-
reporter.resolve(), fnLiteral += `r=c.response
|
|
3073
|
-
|
|
3081
|
+
}
|
|
3082
|
+
reporter.resolve(), hooks.afterHandle?.length && (fnLiteral += `r=c.response
|
|
3083
|
+
`), validator.response && (fnLiteral += validation.response()), fnLiteral += encodeCookie();
|
|
3074
3084
|
let mapResponseReporter = report("mapResponse", {
|
|
3075
3085
|
total: hooks.mapResponse?.length
|
|
3076
3086
|
});
|
|
@@ -3088,7 +3098,7 @@ if(mr!==undefined)r=c.response=mr
|
|
|
3088
3098
|
let handleReporter = report("handle", {
|
|
3089
3099
|
name: isHandleFn ? handler.name : void 0
|
|
3090
3100
|
});
|
|
3091
|
-
if (validator.response || hooks.mapResponse?.length) {
|
|
3101
|
+
if (validator.response || hooks.mapResponse?.length || hasTrace) {
|
|
3092
3102
|
fnLiteral += isAsyncHandler ? `let r=await ${handle}
|
|
3093
3103
|
` : `let r=${handle}
|
|
3094
3104
|
`, handleReporter.resolve(), validator.response && (fnLiteral += validation.response());
|
|
@@ -3408,22 +3418,29 @@ map: switch(p){
|
|
|
3408
3418
|
fnLiteral += word;
|
|
3409
3419
|
}
|
|
3410
3420
|
}), afterResponse = () => {
|
|
3411
|
-
if (!hooks.afterResponse?.length) return "";
|
|
3412
|
-
let afterResponse2 = "", prefix = hooks.afterResponse
|
|
3421
|
+
if (!hooks.afterResponse?.length && !hasTrace) return "";
|
|
3422
|
+
let afterResponse2 = "", prefix = hooks.afterResponse?.some(isAsync) ? "async" : "";
|
|
3413
3423
|
afterResponse2 += `
|
|
3414
3424
|
setImmediate(${prefix}()=>{`;
|
|
3415
|
-
let reporter =
|
|
3425
|
+
let reporter = createReport({
|
|
3426
|
+
context: "context",
|
|
3427
|
+
trace: hooks.trace,
|
|
3428
|
+
addFn: (word) => {
|
|
3429
|
+
afterResponse2 += word;
|
|
3430
|
+
}
|
|
3431
|
+
})("afterResponse", {
|
|
3416
3432
|
total: hooks.afterResponse?.length,
|
|
3417
3433
|
name: "context"
|
|
3418
3434
|
});
|
|
3419
|
-
|
|
3420
|
-
let
|
|
3421
|
-
|
|
3435
|
+
if (hooks.afterResponse?.length && hooks.afterResponse)
|
|
3436
|
+
for (let i = 0; i < hooks.afterResponse.length; i++) {
|
|
3437
|
+
let fn = hooks.afterResponse[i].fn, endUnit = reporter.resolveChild(fn.name);
|
|
3438
|
+
afterResponse2 += `
|
|
3422
3439
|
${isAsyncName(fn) ? "await " : ""}afterResponse[${i}](context)
|
|
3423
3440
|
`, endUnit();
|
|
3424
|
-
|
|
3425
|
-
return afterResponse2 += `})
|
|
3426
|
-
`,
|
|
3441
|
+
}
|
|
3442
|
+
return reporter.resolve(), afterResponse2 += `})
|
|
3443
|
+
`, afterResponse2;
|
|
3427
3444
|
};
|
|
3428
3445
|
fnLiteral += `const set=context.set
|
|
3429
3446
|
let _r
|
|
@@ -3431,7 +3448,7 @@ if(!context.code)context.code=error.code??error[ERROR_CODE]
|
|
|
3431
3448
|
if(!(context.error instanceof Error))context.error=error
|
|
3432
3449
|
if(error instanceof ElysiaCustomStatusResponse){set.status=error.status=error.code
|
|
3433
3450
|
error.message=error.response}`, adapter.declare && (fnLiteral += adapter.declare);
|
|
3434
|
-
let saveResponse = hasTrace || hooks.afterResponse?.length
|
|
3451
|
+
let saveResponse = hasTrace || hooks.afterResponse?.length ? "context.response = " : "";
|
|
3435
3452
|
if (app.event.error)
|
|
3436
3453
|
for (let i = 0; i < app.event.error.length; i++) {
|
|
3437
3454
|
let handler = app.event.error[i], response = `${isAsync(handler) ? "await " : ""}onError[${i}](context)
|
package/dist/index.mjs
CHANGED
|
@@ -411,7 +411,7 @@ import { TypeCompiler } from "@sinclair/typebox/compiler";
|
|
|
411
411
|
var isBun = typeof Bun < "u";
|
|
412
412
|
|
|
413
413
|
// src/universal/file.ts
|
|
414
|
-
var
|
|
414
|
+
var mime = {
|
|
415
415
|
aac: "audio/aac",
|
|
416
416
|
abw: "application/x-abiword",
|
|
417
417
|
ai: "application/postscript",
|
|
@@ -507,7 +507,7 @@ var mime2 = {
|
|
|
507
507
|
get type() {
|
|
508
508
|
return (
|
|
509
509
|
// @ts-ignore
|
|
510
|
-
|
|
510
|
+
mime[getFileExtension(this.path)] || "application/octet-stream"
|
|
511
511
|
);
|
|
512
512
|
}
|
|
513
513
|
get length() {
|
|
@@ -2250,22 +2250,26 @@ var handleFile = (response, set2) => {
|
|
|
2250
2250
|
try {
|
|
2251
2251
|
for await (let chunk of generator) {
|
|
2252
2252
|
if (end) break;
|
|
2253
|
-
if (chunk != null)
|
|
2253
|
+
if (chunk != null)
|
|
2254
2254
|
if (chunk.toSSE)
|
|
2255
2255
|
controller.enqueue(chunk.toSSE());
|
|
2256
|
-
else
|
|
2257
|
-
|
|
2258
|
-
|
|
2259
|
-
|
|
2260
|
-
|
|
2261
|
-
|
|
2256
|
+
else {
|
|
2257
|
+
if (typeof chunk == "object")
|
|
2258
|
+
try {
|
|
2259
|
+
controller.enqueue(
|
|
2260
|
+
format(JSON.stringify(chunk))
|
|
2261
|
+
);
|
|
2262
|
+
} catch {
|
|
2263
|
+
controller.enqueue(
|
|
2264
|
+
format(chunk.toString())
|
|
2265
|
+
);
|
|
2266
|
+
}
|
|
2267
|
+
else
|
|
2262
2268
|
controller.enqueue(format(chunk.toString()));
|
|
2263
|
-
|
|
2264
|
-
|
|
2265
|
-
|
|
2266
|
-
|
|
2267
|
-
);
|
|
2268
|
-
}
|
|
2269
|
+
isSSE || await new Promise(
|
|
2270
|
+
(resolve) => setTimeout(() => resolve(), 0)
|
|
2271
|
+
);
|
|
2272
|
+
}
|
|
2269
2273
|
}
|
|
2270
2274
|
} catch (error2) {
|
|
2271
2275
|
console.warn(error2);
|
|
@@ -4365,11 +4369,16 @@ try{a${index}.push(JSON.parse(value))}catch{a${index}.push(value)}if(deepMemory=
|
|
|
4365
4369
|
}
|
|
4366
4370
|
}
|
|
4367
4371
|
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 = () => {
|
|
4368
|
-
if (!hooks.afterResponse?.length) return "";
|
|
4372
|
+
if (!hooks.afterResponse?.length && !hasTrace) return "";
|
|
4369
4373
|
let afterResponse2 = "", prefix = hooks.afterResponse?.some(isAsync) ? "async " : "";
|
|
4370
4374
|
afterResponse2 += `
|
|
4371
4375
|
setImmediate(${prefix}()=>{`;
|
|
4372
|
-
let reporter =
|
|
4376
|
+
let reporter = createReport({
|
|
4377
|
+
trace: hooks.trace,
|
|
4378
|
+
addFn: (word) => {
|
|
4379
|
+
afterResponse2 += word;
|
|
4380
|
+
}
|
|
4381
|
+
})("afterResponse", {
|
|
4373
4382
|
total: hooks.afterResponse?.length
|
|
4374
4383
|
});
|
|
4375
4384
|
if (hooks.afterResponse?.length && hooks.afterResponse)
|
|
@@ -4386,7 +4395,7 @@ ${prefix2}e.afterResponse[${i}](c)
|
|
|
4386
4395
|
}, mapResponse3 = (r = "r") => {
|
|
4387
4396
|
let after = afterResponse(), response = `${hasSet ? "mapResponse" : "mapCompactResponse"}(${saveResponse}${r}${hasSet ? ",c.set" : ""}${mapResponseContext})
|
|
4388
4397
|
`;
|
|
4389
|
-
return after
|
|
4398
|
+
return after ? `const _res=${response}` + after + "return _res" : `return ${response}`;
|
|
4390
4399
|
}, mapResponseContext = maybeStream || adapter.mapResponseContext ? `,${adapter.mapResponseContext}` : "";
|
|
4391
4400
|
(hasTrace || inference.route) && (fnLiteral += `c.route=\`${path}\`
|
|
4392
4401
|
`);
|
|
@@ -4540,15 +4549,16 @@ delete c.contentType`);
|
|
|
4540
4549
|
}
|
|
4541
4550
|
fnLiteral += "}catch(error){throw new ParseError(error)}";
|
|
4542
4551
|
}
|
|
4543
|
-
if (parseReporter.resolve(), hooks?.transform) {
|
|
4552
|
+
if (parseReporter.resolve(), hooks?.transform || hasTrace) {
|
|
4544
4553
|
let reporter = report("transform", {
|
|
4545
|
-
total: hooks.transform
|
|
4554
|
+
total: hooks.transform?.length
|
|
4546
4555
|
});
|
|
4547
|
-
hooks.transform
|
|
4548
|
-
`
|
|
4549
|
-
|
|
4550
|
-
let
|
|
4551
|
-
|
|
4556
|
+
if (hooks.transform?.length) {
|
|
4557
|
+
fnLiteral += `let transformed
|
|
4558
|
+
`;
|
|
4559
|
+
for (let i = 0; i < hooks.transform.length; i++) {
|
|
4560
|
+
let transform = hooks.transform[i], endUnit = reporter.resolveChild(transform.fn.name);
|
|
4561
|
+
fnLiteral += isAsync(transform) ? `transformed=await e.transform[${i}](c)
|
|
4552
4562
|
` : `transformed=e.transform[${i}](c)
|
|
4553
4563
|
`, transform.subType === "mapDerive" ? fnLiteral += "if(transformed instanceof ElysiaCustomStatusResponse){" + mapResponse3("transformed") + `}else{transformed.request=c.request
|
|
4554
4564
|
transformed.store=c.store
|
|
@@ -4560,6 +4570,7 @@ transformed.set=c.set
|
|
|
4560
4570
|
transformed.error=c.error
|
|
4561
4571
|
c=transformed}` : fnLiteral += "if(transformed instanceof ElysiaCustomStatusResponse){" + mapResponse3("transformed") + `}else Object.assign(c,transformed)
|
|
4562
4572
|
`, endUnit();
|
|
4573
|
+
}
|
|
4563
4574
|
}
|
|
4564
4575
|
reporter.resolve();
|
|
4565
4576
|
}
|
|
@@ -4747,14 +4758,15 @@ for(const [key,value] of Object.entries(c.cookie))cookieValue[key]=value.value
|
|
|
4747
4758
|
)), cookieValidator.isOptional && (fnLiteral += "}");
|
|
4748
4759
|
}
|
|
4749
4760
|
}
|
|
4750
|
-
if (hooks?.beforeHandle) {
|
|
4761
|
+
if (hooks?.beforeHandle || hasTrace) {
|
|
4751
4762
|
let reporter = report("beforeHandle", {
|
|
4752
|
-
total: hooks.beforeHandle
|
|
4763
|
+
total: hooks.beforeHandle?.length
|
|
4753
4764
|
}), hasResolve = !1;
|
|
4754
|
-
|
|
4755
|
-
let
|
|
4756
|
-
|
|
4757
|
-
|
|
4765
|
+
if (hooks.beforeHandle?.length)
|
|
4766
|
+
for (let i = 0; i < hooks.beforeHandle.length; i++) {
|
|
4767
|
+
let beforeHandle = hooks.beforeHandle[i], endUnit = reporter.resolveChild(beforeHandle.fn.name), returning = hasReturn(beforeHandle);
|
|
4768
|
+
if (beforeHandle.subType === "resolve" || beforeHandle.subType === "mapResolve")
|
|
4769
|
+
hasResolve || (hasResolve = !0, fnLiteral += `
|
|
4758
4770
|
let resolved
|
|
4759
4771
|
`), fnLiteral += isAsync(beforeHandle) ? `resolved=await e.beforeHandle[${i}](c);
|
|
4760
4772
|
` : `resolved=e.beforeHandle[${i}](c);
|
|
@@ -4767,76 +4779,78 @@ resolved.redirect=c.redirect
|
|
|
4767
4779
|
resolved.set=c.set
|
|
4768
4780
|
resolved.error=c.error
|
|
4769
4781
|
c=resolved}` : fnLiteral += "if(resolved instanceof ElysiaCustomStatusResponse){" + mapResponse3("resolved") + `}else Object.assign(c, resolved)
|
|
4770
|
-
|
|
4771
|
-
|
|
4772
|
-
|
|
4782
|
+
`, endUnit();
|
|
4783
|
+
else if (!returning)
|
|
4784
|
+
fnLiteral += isAsync(beforeHandle) ? `await e.beforeHandle[${i}](c)
|
|
4773
4785
|
` : `e.beforeHandle[${i}](c)
|
|
4774
4786
|
`, endUnit();
|
|
4775
|
-
|
|
4776
|
-
|
|
4787
|
+
else {
|
|
4788
|
+
if (fnLiteral += isAsync(beforeHandle) ? `be=await e.beforeHandle[${i}](c)
|
|
4777
4789
|
` : `be=e.beforeHandle[${i}](c)
|
|
4778
|
-
`, endUnit("be"), fnLiteral += "if(be!==undefined){", reporter.resolve(), hooks.afterHandle?.length) {
|
|
4779
|
-
|
|
4780
|
-
|
|
4781
|
-
|
|
4782
|
-
|
|
4783
|
-
|
|
4784
|
-
|
|
4785
|
-
|
|
4786
|
-
|
|
4787
|
-
|
|
4790
|
+
`, endUnit("be"), fnLiteral += "if(be!==undefined){", reporter.resolve(), hooks.afterHandle?.length || hasTrace) {
|
|
4791
|
+
report("handle", {
|
|
4792
|
+
name: isHandleFn ? handler.name : void 0
|
|
4793
|
+
}).resolve();
|
|
4794
|
+
let reporter2 = report("afterHandle", {
|
|
4795
|
+
total: hooks.afterHandle?.length
|
|
4796
|
+
});
|
|
4797
|
+
if (hooks.afterHandle?.length)
|
|
4798
|
+
for (let i2 = 0; i2 < hooks.afterHandle.length; i2++) {
|
|
4799
|
+
let hook = hooks.afterHandle[i2], returning2 = hasReturn(hook), endUnit2 = reporter2.resolveChild(hook.fn.name);
|
|
4800
|
+
fnLiteral += `c.response = be
|
|
4788
4801
|
`, returning2 ? (fnLiteral += isAsync(hook.fn) ? `af=await e.afterHandle[${i2}](c)
|
|
4789
4802
|
` : `af=e.afterHandle[${i2}](c)
|
|
4790
4803
|
`, fnLiteral += `if(af!==undefined) c.response=be=af
|
|
4791
4804
|
`) : fnLiteral += isAsync(hook.fn) ? `await e.afterHandle[${i2}](c, be)
|
|
4792
4805
|
` : `e.afterHandle[${i2}](c, be)
|
|
4793
4806
|
`, endUnit2("af");
|
|
4807
|
+
}
|
|
4808
|
+
reporter2.resolve();
|
|
4794
4809
|
}
|
|
4795
|
-
|
|
4796
|
-
|
|
4797
|
-
|
|
4798
|
-
|
|
4799
|
-
|
|
4800
|
-
|
|
4801
|
-
if (hooks.mapResponse?.length) {
|
|
4802
|
-
fnLiteral += `c.response=be
|
|
4810
|
+
validator.response && (fnLiteral += validation.response("be"));
|
|
4811
|
+
let mapResponseReporter = report("mapResponse", {
|
|
4812
|
+
total: hooks.mapResponse?.length
|
|
4813
|
+
});
|
|
4814
|
+
if (hooks.mapResponse?.length) {
|
|
4815
|
+
fnLiteral += `c.response=be
|
|
4803
4816
|
`;
|
|
4804
|
-
|
|
4805
|
-
|
|
4806
|
-
|
|
4807
|
-
|
|
4808
|
-
|
|
4817
|
+
for (let i2 = 0; i2 < hooks.mapResponse.length; i2++) {
|
|
4818
|
+
let mapResponse4 = hooks.mapResponse[i2], endUnit2 = mapResponseReporter.resolveChild(
|
|
4819
|
+
mapResponse4.fn.name
|
|
4820
|
+
);
|
|
4821
|
+
fnLiteral += `if(mr===undefined){mr=${isAsyncName(mapResponse4) ? "await " : ""}e.mapResponse[${i2}](c)
|
|
4809
4822
|
if(mr!==undefined)be=c.response=mr}`, endUnit2();
|
|
4823
|
+
}
|
|
4810
4824
|
}
|
|
4811
|
-
|
|
4812
|
-
mapResponseReporter.resolve(), fnLiteral += encodeCookie(), fnLiteral += `return mapEarlyResponse(${saveResponse}be,c.set${mapResponseContext})}
|
|
4825
|
+
mapResponseReporter.resolve(), fnLiteral += encodeCookie(), fnLiteral += `return mapEarlyResponse(${saveResponse}be,c.set${mapResponseContext})}
|
|
4813
4826
|
`;
|
|
4827
|
+
}
|
|
4814
4828
|
}
|
|
4815
|
-
}
|
|
4816
4829
|
reporter.resolve();
|
|
4817
4830
|
}
|
|
4818
|
-
if (hooks.afterHandle?.length) {
|
|
4831
|
+
if (hooks.afterHandle?.length || hasTrace) {
|
|
4819
4832
|
let handleReporter = report("handle", {
|
|
4820
4833
|
name: isHandleFn ? handler.name : void 0
|
|
4821
4834
|
});
|
|
4822
|
-
hooks.afterHandle
|
|
4835
|
+
hooks.afterHandle?.length ? fnLiteral += isAsyncHandler ? `let r=c.response=await ${handle}
|
|
4823
4836
|
` : `let r=c.response=${handle}
|
|
4824
4837
|
` : fnLiteral += isAsyncHandler ? `let r=await ${handle}
|
|
4825
4838
|
` : `let r=${handle}
|
|
4826
4839
|
`, handleReporter.resolve();
|
|
4827
4840
|
let reporter = report("afterHandle", {
|
|
4828
|
-
total: hooks.afterHandle
|
|
4841
|
+
total: hooks.afterHandle?.length
|
|
4829
4842
|
});
|
|
4830
|
-
|
|
4831
|
-
let
|
|
4832
|
-
|
|
4843
|
+
if (hooks.afterHandle?.length)
|
|
4844
|
+
for (let i = 0; i < hooks.afterHandle.length; i++) {
|
|
4845
|
+
let hook = hooks.afterHandle[i], returning = hasReturn(hook), endUnit = reporter.resolveChild(hook.fn.name);
|
|
4846
|
+
returning ? (fnLiteral += isAsync(hook.fn) ? `af=await e.afterHandle[${i}](c)
|
|
4833
4847
|
` : `af=e.afterHandle[${i}](c)
|
|
4834
4848
|
`, 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)
|
|
4835
4849
|
` : `e.afterHandle[${i}](c)
|
|
4836
4850
|
`, endUnit());
|
|
4837
|
-
|
|
4838
|
-
reporter.resolve(), fnLiteral += `r=c.response
|
|
4839
|
-
|
|
4851
|
+
}
|
|
4852
|
+
reporter.resolve(), hooks.afterHandle?.length && (fnLiteral += `r=c.response
|
|
4853
|
+
`), validator.response && (fnLiteral += validation.response()), fnLiteral += encodeCookie();
|
|
4840
4854
|
let mapResponseReporter = report("mapResponse", {
|
|
4841
4855
|
total: hooks.mapResponse?.length
|
|
4842
4856
|
});
|
|
@@ -4854,7 +4868,7 @@ if(mr!==undefined)r=c.response=mr
|
|
|
4854
4868
|
let handleReporter = report("handle", {
|
|
4855
4869
|
name: isHandleFn ? handler.name : void 0
|
|
4856
4870
|
});
|
|
4857
|
-
if (validator.response || hooks.mapResponse?.length) {
|
|
4871
|
+
if (validator.response || hooks.mapResponse?.length || hasTrace) {
|
|
4858
4872
|
fnLiteral += isAsyncHandler ? `let r=await ${handle}
|
|
4859
4873
|
` : `let r=${handle}
|
|
4860
4874
|
`, handleReporter.resolve(), validator.response && (fnLiteral += validation.response());
|
|
@@ -5174,22 +5188,29 @@ map: switch(p){
|
|
|
5174
5188
|
fnLiteral += word;
|
|
5175
5189
|
}
|
|
5176
5190
|
}), afterResponse = () => {
|
|
5177
|
-
if (!hooks.afterResponse?.length) return "";
|
|
5178
|
-
let afterResponse2 = "", prefix = hooks.afterResponse
|
|
5191
|
+
if (!hooks.afterResponse?.length && !hasTrace) return "";
|
|
5192
|
+
let afterResponse2 = "", prefix = hooks.afterResponse?.some(isAsync) ? "async" : "";
|
|
5179
5193
|
afterResponse2 += `
|
|
5180
5194
|
setImmediate(${prefix}()=>{`;
|
|
5181
|
-
let reporter =
|
|
5195
|
+
let reporter = createReport({
|
|
5196
|
+
context: "context",
|
|
5197
|
+
trace: hooks.trace,
|
|
5198
|
+
addFn: (word) => {
|
|
5199
|
+
afterResponse2 += word;
|
|
5200
|
+
}
|
|
5201
|
+
})("afterResponse", {
|
|
5182
5202
|
total: hooks.afterResponse?.length,
|
|
5183
5203
|
name: "context"
|
|
5184
5204
|
});
|
|
5185
|
-
|
|
5186
|
-
let
|
|
5187
|
-
|
|
5205
|
+
if (hooks.afterResponse?.length && hooks.afterResponse)
|
|
5206
|
+
for (let i = 0; i < hooks.afterResponse.length; i++) {
|
|
5207
|
+
let fn = hooks.afterResponse[i].fn, endUnit = reporter.resolveChild(fn.name);
|
|
5208
|
+
afterResponse2 += `
|
|
5188
5209
|
${isAsyncName(fn) ? "await " : ""}afterResponse[${i}](context)
|
|
5189
5210
|
`, endUnit();
|
|
5190
|
-
|
|
5191
|
-
return afterResponse2 += `})
|
|
5192
|
-
`,
|
|
5211
|
+
}
|
|
5212
|
+
return reporter.resolve(), afterResponse2 += `})
|
|
5213
|
+
`, afterResponse2;
|
|
5193
5214
|
};
|
|
5194
5215
|
fnLiteral += `const set=context.set
|
|
5195
5216
|
let _r
|
|
@@ -5197,7 +5218,7 @@ if(!context.code)context.code=error.code??error[ERROR_CODE]
|
|
|
5197
5218
|
if(!(context.error instanceof Error))context.error=error
|
|
5198
5219
|
if(error instanceof ElysiaCustomStatusResponse){set.status=error.status=error.code
|
|
5199
5220
|
error.message=error.response}`, adapter.declare && (fnLiteral += adapter.declare);
|
|
5200
|
-
let saveResponse = hasTrace || hooks.afterResponse?.length
|
|
5221
|
+
let saveResponse = hasTrace || hooks.afterResponse?.length ? "context.response = " : "";
|
|
5201
5222
|
if (app.event.error)
|
|
5202
5223
|
for (let i = 0; i < app.event.error.length; i++) {
|
|
5203
5224
|
let handler = app.event.error[i], response = `${isAsync(handler) ? "await " : ""}onError[${i}](context)
|
|
@@ -5624,7 +5645,9 @@ for(const [k,v] of c.request.headers.entries())c.headers[k]=v
|
|
|
5624
5645
|
),
|
|
5625
5646
|
websocket: {
|
|
5626
5647
|
...app.config.websocket || {},
|
|
5627
|
-
...websocket || {}
|
|
5648
|
+
...websocket || {},
|
|
5649
|
+
// @ts-expect-error not available in this variant of options type
|
|
5650
|
+
...options.websocket || {}
|
|
5628
5651
|
},
|
|
5629
5652
|
fetch: app.fetch
|
|
5630
5653
|
} : {
|
|
@@ -5730,7 +5753,7 @@ for(const [k,v] of c.request.headers.entries())c.headers[k]=v
|
|
|
5730
5753
|
...(app.event.error ?? []).map(
|
|
5731
5754
|
(x) => typeof x == "function" ? x : x.fn
|
|
5732
5755
|
)
|
|
5733
|
-
].filter((x) => x),
|
|
5756
|
+
].filter((x) => x), hasCustomErrorHandlers = errorHandlers.length > 0, handleErrors = hasCustomErrorHandlers ? async (ws, error2) => {
|
|
5734
5757
|
for (let handleError of errorHandlers) {
|
|
5735
5758
|
let response2 = handleError(
|
|
5736
5759
|
Object.assign(context, { error: error2 })
|
|
@@ -5767,14 +5790,14 @@ for(const [k,v] of c.request.headers.entries())c.headers[k]=v
|
|
|
5767
5790
|
},
|
|
5768
5791
|
message: async (ws, _message) => {
|
|
5769
5792
|
let message = await parseMessage(ws, _message);
|
|
5770
|
-
if (validateMessage?.Check(message) === !1)
|
|
5771
|
-
|
|
5772
|
-
|
|
5773
|
-
|
|
5774
|
-
|
|
5775
|
-
message
|
|
5776
|
-
).message
|
|
5793
|
+
if (validateMessage?.Check(message) === !1) {
|
|
5794
|
+
let validationError = new ValidationError(
|
|
5795
|
+
"message",
|
|
5796
|
+
validateMessage,
|
|
5797
|
+
message
|
|
5777
5798
|
);
|
|
5799
|
+
return hasCustomErrorHandlers ? handleErrors(ws, validationError) : void ws.send(validationError.message);
|
|
5800
|
+
}
|
|
5778
5801
|
try {
|
|
5779
5802
|
await handleResponse3(
|
|
5780
5803
|
ws,
|
|
@@ -7313,7 +7336,7 @@ var _Elysia = class _Elysia {
|
|
|
7313
7336
|
if (typeof plugin2 == "function") return plugin2(this);
|
|
7314
7337
|
if (plugin2 instanceof _Elysia)
|
|
7315
7338
|
return this._use(plugin2).compile();
|
|
7316
|
-
if (plugin2.constructor
|
|
7339
|
+
if (plugin2.constructor?.name === "Elysia")
|
|
7317
7340
|
return this._use(
|
|
7318
7341
|
plugin2
|
|
7319
7342
|
).compile();
|
|
@@ -7321,9 +7344,9 @@ var _Elysia = class _Elysia {
|
|
|
7321
7344
|
return plugin2.default(this);
|
|
7322
7345
|
if (plugin2.default instanceof _Elysia)
|
|
7323
7346
|
return this._use(plugin2.default);
|
|
7324
|
-
if (plugin2.constructor
|
|
7347
|
+
if (plugin2.constructor?.name === "Elysia")
|
|
7325
7348
|
return this._use(plugin2.default);
|
|
7326
|
-
if (plugin2.constructor
|
|
7349
|
+
if (plugin2.constructor?.name === "_Elysia")
|
|
7327
7350
|
return this._use(plugin2.default);
|
|
7328
7351
|
try {
|
|
7329
7352
|
return this._use(plugin2.default);
|