elysia 2.0.0-exp.12 → 2.0.0-exp.13
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/_virtual/_rolldown/runtime.js +2 -0
- package/dist/adapter/utils.d.ts +4 -1
- package/dist/adapter/utils.js +3 -4
- package/dist/adapter/utils.mjs +1 -2
- package/dist/base.d.ts +1 -1
- package/dist/base.js +6 -1
- package/dist/base.mjs +6 -1
- package/dist/compile/handler/index.js +1 -1
- package/dist/compile/handler/index.mjs +1 -1
- package/dist/compile/handler/jit.js +2 -2
- package/dist/compile/handler/jit.mjs +2 -2
- package/dist/compile/handler/params.js +1 -1
- package/dist/compile/handler/params.mjs +1 -1
- package/dist/compile/handler/reconstruct.js +1 -1
- package/dist/compile/handler/reconstruct.mjs +1 -1
- package/dist/cookie/index.d.ts +2 -2
- package/dist/handler/fetch.js +19 -24
- package/dist/handler/fetch.mjs +19 -24
- package/dist/index.d.ts +3 -5
- package/dist/index.js +0 -4
- package/dist/index.mjs +1 -3
- package/dist/type/elysia/file-type.d.ts +1 -1
- package/dist/type/exports.js +29 -2059
- package/dist/type/exports.mjs +7 -295
- package/dist/type/types.d.ts +1 -1
- package/dist/type/validator/index.d.ts +2 -2
- package/dist/types.d.ts +4 -4
- package/dist/universal/file.d.ts +8 -8
- package/dist/universal/file.js +8 -8
- package/dist/universal/file.mjs +8 -8
- package/dist/utils.d.ts +1 -1
- package/dist/validator/index.d.ts +1 -1
- package/dist/validator/index.js +2 -2
- package/dist/validator/index.mjs +2 -2
- package/dist/ws/route.js +5 -1
- package/dist/ws/route.mjs +6 -2
- package/package.json +8 -3
|
@@ -32,6 +32,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
32
32
|
}
|
|
33
33
|
return to;
|
|
34
34
|
};
|
|
35
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
35
36
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
36
37
|
value: mod,
|
|
37
38
|
enumerable: true
|
|
@@ -40,4 +41,5 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
40
41
|
//#endregion
|
|
41
42
|
|
|
42
43
|
exports.__exportAll = __exportAll;
|
|
44
|
+
exports.__reExport = __reExport;
|
|
43
45
|
exports.__toESM = __toESM;
|
package/dist/adapter/utils.d.ts
CHANGED
|
@@ -18,7 +18,10 @@ interface CreateHandlerParameter {
|
|
|
18
18
|
mapResponse(response: unknown, set: Context['set'], request?: Request): Response;
|
|
19
19
|
mapCompactResponse(response: unknown, request?: Request): Response;
|
|
20
20
|
}
|
|
21
|
-
declare function createStreamHandler(
|
|
21
|
+
declare function createStreamHandler({
|
|
22
|
+
mapResponse,
|
|
23
|
+
mapCompactResponse
|
|
24
|
+
}: CreateHandlerParameter): (generator: Generator | AsyncGenerator | ReadableStream, set?: Context["set"], request?: Request, skipFormat?: boolean) => Promise<Response>;
|
|
22
25
|
declare function streamResponse(response: Response): AsyncGenerator<any, void, any>;
|
|
23
26
|
declare function handleSet(set: Context['set']): void;
|
|
24
27
|
declare function mergeHeaders(responseHeaders: Headers, setHeaders: Context['set']['headers']): Headers;
|
package/dist/adapter/utils.js
CHANGED
|
@@ -3,7 +3,6 @@ const require_universal_constants = require('../universal/constants.js');
|
|
|
3
3
|
const require_constants = require('../constants.js');
|
|
4
4
|
const require_utils = require('../utils.js');
|
|
5
5
|
const require_cookie_serialize = require('../cookie/serialize.js');
|
|
6
|
-
const require_adapter_web_standard_handler = require('./web-standard/handler.js');
|
|
7
6
|
|
|
8
7
|
//#region src/adapter/utils.ts
|
|
9
8
|
const setCookie = "set-cookie";
|
|
@@ -121,15 +120,15 @@ function enqueueBinaryChunk(controller, chunk) {
|
|
|
121
120
|
}
|
|
122
121
|
return false;
|
|
123
122
|
}
|
|
124
|
-
function createStreamHandler(
|
|
123
|
+
function createStreamHandler({ mapResponse, mapCompactResponse }) {
|
|
125
124
|
return async (generator, set, request, skipFormat) => {
|
|
126
125
|
let init = generator.next?.();
|
|
127
126
|
if (set) handleSet(set);
|
|
128
127
|
if (init instanceof Promise) init = await init;
|
|
129
128
|
if (init?.value instanceof ReadableStream) generator = init.value;
|
|
130
129
|
else if (init && (typeof init?.done === "undefined" || init?.done)) {
|
|
131
|
-
if (set) return
|
|
132
|
-
return
|
|
130
|
+
if (set) return mapResponse(init.value, set, request);
|
|
131
|
+
return mapCompactResponse(init.value, request);
|
|
133
132
|
}
|
|
134
133
|
const isSSE = !skipFormat && (init?.value?.sse ?? generator?.sse ?? set?.headers["content-type"]?.startsWith("text/event-stream"));
|
|
135
134
|
const format = isSSE ? (data) => `data: ${data}\n\n` : (data) => data;
|
package/dist/adapter/utils.mjs
CHANGED
|
@@ -2,7 +2,6 @@ import { hasHeaderShorthand, isBun } from "../universal/constants.mjs";
|
|
|
2
2
|
import { StatusMap } from "../constants.mjs";
|
|
3
3
|
import { isNotEmpty, nullObject } from "../utils.mjs";
|
|
4
4
|
import { serializeCookie } from "../cookie/serialize.mjs";
|
|
5
|
-
import { mapCompactResponse, mapResponse } from "./web-standard/handler.mjs";
|
|
6
5
|
|
|
7
6
|
//#region src/adapter/utils.ts
|
|
8
7
|
const setCookie = "set-cookie";
|
|
@@ -120,7 +119,7 @@ function enqueueBinaryChunk(controller, chunk) {
|
|
|
120
119
|
}
|
|
121
120
|
return false;
|
|
122
121
|
}
|
|
123
|
-
function createStreamHandler(
|
|
122
|
+
function createStreamHandler({ mapResponse, mapCompactResponse }) {
|
|
124
123
|
return async (generator, set, request, skipFormat) => {
|
|
125
124
|
let init = generator.next?.();
|
|
126
125
|
if (set) handleSet(set);
|
package/dist/base.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ElysiaStatus } from "./error.js";
|
|
2
2
|
import { TraceHandler } from "./trace.js";
|
|
3
|
+
import { AnySchema } from "./type/types.js";
|
|
3
4
|
import { ListenCallback, Serve, Server } from "./universal/server.js";
|
|
4
5
|
import { AddRoute, AddWSRoute, AfterHandler, AfterResponseHandler, AnyErrorConstructor, AnyLocalHook, BodyHandler, CompiledHandler, CreateEden, DefaultEphemeral, DefaultMetadata, DefaultSingleton, DefinitionBase, DocumentDecoration, ElysiaConfig, ElysiaHandlerToResponseSchemaAmbiguous, EphemeralType, ErrorDefinitionEntry, ErrorHandler, EventScope, ExcludeElysiaResponse, ExtractErrorFromHandle, GracefulHandler, GuardLocalHook, HTTPMethod, InlineHandler, InlineHandlerNonMacro, InputSchema, InputSchemaKey, InternalRoute, IntersectIfObjectSchema, JoinPath, LocalHook, Macro, MacroToContext, MacroToProperty, MapResponse, MaybeArray, MaybePromise, MergeElysiaInstances, MergeSchema, MergeScopedSchemas, MetadataBase, NonResolvableMacroKey, ObjectMacroDefs, OptionalHandler, PreHandler, Prettify, PublicRoute, ResolveRouteErrors, RouteBase, SingletonBase, TransformHandler, UnionResponseStatus, UnwrapRoute, WrapFn } from "./types.js";
|
|
5
|
-
import { AnySchema } from "./type/types.js";
|
|
6
6
|
import { ChainNode } from "./utils.js";
|
|
7
7
|
import { Context, ErrorContext, LifecycleContext } from "./context.js";
|
|
8
8
|
import { WSHandlerResponse, WSLocalHook, WSMessageHandler } from "./ws/types.js";
|
package/dist/base.js
CHANGED
|
@@ -5,10 +5,11 @@ const require_constants = require('./constants.js');
|
|
|
5
5
|
const require_utils = require('./utils.js');
|
|
6
6
|
const require_type_bridge = require('./type/bridge.js');
|
|
7
7
|
const require_universal_env = require('./universal/env.js');
|
|
8
|
+
const require_compile_aot = require('./compile/aot.js');
|
|
9
|
+
const require_compile_handler_index = require('./compile/handler/index.js');
|
|
8
10
|
const require_ws_route = require('./ws/route.js');
|
|
9
11
|
const require_adapter_bun_index = require('./adapter/bun/index.js');
|
|
10
12
|
const require_handler_fetch = require('./handler/fetch.js');
|
|
11
|
-
const require_compile_handler_index = require('./compile/handler/index.js');
|
|
12
13
|
let memoirist = require("memoirist");
|
|
13
14
|
memoirist = require_runtime.__toESM(memoirist);
|
|
14
15
|
|
|
@@ -823,6 +824,10 @@ var Elysia = class Elysia {
|
|
|
823
824
|
this["~config"] ??= require_utils.nullObject();
|
|
824
825
|
this["~config"].precompile = true;
|
|
825
826
|
this.#routerBuilt = false;
|
|
827
|
+
if (require_compile_aot.Capture.isCapturing()) {
|
|
828
|
+
this.#compiled = void 0;
|
|
829
|
+
this.#fetchFn = void 0;
|
|
830
|
+
}
|
|
826
831
|
this.fetch;
|
|
827
832
|
return this;
|
|
828
833
|
}
|
package/dist/base.mjs
CHANGED
|
@@ -3,10 +3,11 @@ import { MethodMap, isDynamicRegex, needEncodeRegex } from "./constants.mjs";
|
|
|
3
3
|
import { clonePlainDecorators, coalesceStandaloneSchemas, createErrorEventHandler, eventProperties, flattenChain, fnOrigin, fnv1a, getLoosePath, hookToGuard, isEmpty, isNotEmpty, isRecordNumber, joinPath, mapMethodBack, mergeDeep, mergeResponse, nullObject, pushField, replaceUrlPath, schemaProperties } from "./utils.mjs";
|
|
4
4
|
import { Ref } from "./type/bridge.mjs";
|
|
5
5
|
import { env } from "./universal/env.mjs";
|
|
6
|
+
import { Capture } from "./compile/aot.mjs";
|
|
7
|
+
import { buildNativeStaticResponse, compileHandler, composeRouteHook } from "./compile/handler/index.mjs";
|
|
6
8
|
import { buildWSRoute } from "./ws/route.mjs";
|
|
7
9
|
import { BunAdapter } from "./adapter/bun/index.mjs";
|
|
8
10
|
import { applyHoc, createFetchHandler } from "./handler/fetch.mjs";
|
|
9
|
-
import { buildNativeStaticResponse, compileHandler, composeRouteHook } from "./compile/handler/index.mjs";
|
|
10
11
|
import Memoirist from "memoirist";
|
|
11
12
|
|
|
12
13
|
//#region src/base.ts
|
|
@@ -820,6 +821,10 @@ var Elysia = class Elysia {
|
|
|
820
821
|
this["~config"] ??= nullObject();
|
|
821
822
|
this["~config"].precompile = true;
|
|
822
823
|
this.#routerBuilt = false;
|
|
824
|
+
if (Capture.isCapturing()) {
|
|
825
|
+
this.#compiled = void 0;
|
|
826
|
+
this.#fetchFn = void 0;
|
|
827
|
+
}
|
|
823
828
|
this.fetch;
|
|
824
829
|
return this;
|
|
825
830
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
2
|
const require_utils = require('../../utils.js');
|
|
3
3
|
const require_compile_aot = require('../aot.js');
|
|
4
|
-
const require_adapter_constants = require('../../adapter/constants.js');
|
|
5
4
|
const require_compile_handler_params = require('./params.js');
|
|
6
5
|
const require_compile_handler_jit = require('./jit.js');
|
|
7
6
|
const require_compile_handler_reconstruct = require('./reconstruct.js');
|
|
7
|
+
const require_adapter_constants = require('../../adapter/constants.js');
|
|
8
8
|
|
|
9
9
|
//#region src/compile/handler/index.ts
|
|
10
10
|
function applyHook(localHook, appHook, rootHook, appHookFresh = false) {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { cloneHook, eventProperties, flattenChain, flattenChainMemo, fnOrigin, isLocalScope, mapMethodBack, mergeHook, nullObject } from "../../utils.mjs";
|
|
2
2
|
import { Compiled } from "../aot.mjs";
|
|
3
|
-
import { defaultAdapter } from "../../adapter/constants.mjs";
|
|
4
3
|
import { resolveHandlerParams } from "./params.mjs";
|
|
5
4
|
import { compileHandlerJit, setCaptureHeaderShorthand } from "./jit.mjs";
|
|
6
5
|
import { Reconstrct } from "./reconstruct.mjs";
|
|
6
|
+
import { defaultAdapter } from "../../adapter/constants.mjs";
|
|
7
7
|
|
|
8
8
|
//#region src/compile/handler/index.ts
|
|
9
9
|
function applyHook(localHook, appHook, rootHook, appHookFresh = false) {
|
|
@@ -9,10 +9,10 @@ const require_sucrose = require('../../sucrose.js');
|
|
|
9
9
|
const require_compile_aot = require('../aot.js');
|
|
10
10
|
const require_compile_utils = require('../utils.js');
|
|
11
11
|
const require_compile_handler_utils = require('./utils.js');
|
|
12
|
-
const require_handler_utils = require('../../handler/utils.js');
|
|
13
|
-
const require_trace = require('../../trace.js');
|
|
14
12
|
const require_cookie_config = require('../../cookie/config.js');
|
|
15
13
|
const require_cookie_utils = require('../../cookie/utils.js');
|
|
14
|
+
const require_handler_utils = require('../../handler/utils.js');
|
|
15
|
+
const require_trace = require('../../trace.js');
|
|
16
16
|
const require_compile_jit_probe = require('../jit-probe.js');
|
|
17
17
|
|
|
18
18
|
//#region src/compile/handler/jit.ts
|
|
@@ -8,10 +8,10 @@ import { sucrose } from "../../sucrose.mjs";
|
|
|
8
8
|
import { Capture } from "../aot.mjs";
|
|
9
9
|
import { isAsyncFunction, isAsyncLifecycle, mayReturnPromise } from "../utils.mjs";
|
|
10
10
|
import { cloneResponse, getQueryParseArgs, hasRequestBody, mapAfterHandle, mapAfterResponse, mapBeforeHandle, mapError, mapMapResponse, mapTransform } from "./utils.mjs";
|
|
11
|
-
import { forwardError } from "../../handler/utils.mjs";
|
|
12
|
-
import { createTracer } from "../../trace.mjs";
|
|
13
11
|
import { compileCookieConfig } from "../../cookie/config.mjs";
|
|
14
12
|
import { buildCookieJar, parseCookieRaw, parseCookieRawSync, signCookieValues } from "../../cookie/utils.mjs";
|
|
13
|
+
import { forwardError } from "../../handler/utils.mjs";
|
|
14
|
+
import { createTracer } from "../../trace.mjs";
|
|
15
15
|
import { JITProbe } from "../jit-probe.mjs";
|
|
16
16
|
|
|
17
17
|
//#region src/compile/handler/jit.ts
|
|
@@ -4,8 +4,8 @@ const require_adapter_utils = require('../../adapter/utils.js');
|
|
|
4
4
|
const require_error = require('../../error.js');
|
|
5
5
|
const require_parse_query = require('../../parse-query.js');
|
|
6
6
|
const require_compile_handler_utils = require('./utils.js');
|
|
7
|
-
const require_handler_utils = require('../../handler/utils.js');
|
|
8
7
|
const require_cookie_utils = require('../../cookie/utils.js');
|
|
8
|
+
const require_handler_utils = require('../../handler/utils.js');
|
|
9
9
|
|
|
10
10
|
//#region src/compile/handler/params.ts
|
|
11
11
|
const HANDLER_PARAMS = {
|
|
@@ -3,8 +3,8 @@ import { tee } from "../../adapter/utils.mjs";
|
|
|
3
3
|
import { ElysiaStatus, ParseError, ValidationError } from "../../error.mjs";
|
|
4
4
|
import { parseQueryFromURL } from "../../parse-query.mjs";
|
|
5
5
|
import { cloneResponse, hasRequestBody } from "./utils.mjs";
|
|
6
|
-
import { forwardError } from "../../handler/utils.mjs";
|
|
7
6
|
import { buildCookieJar, parseCookieRaw, parseCookieRawSync, signCookieValues } from "../../cookie/utils.mjs";
|
|
7
|
+
import { forwardError } from "../../handler/utils.mjs";
|
|
8
8
|
|
|
9
9
|
//#region src/compile/handler/params.ts
|
|
10
10
|
const HANDLER_PARAMS = {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
2
|
const require_validator_route = require('../../validator/route.js');
|
|
3
|
-
const require_trace = require('../../trace.js');
|
|
4
3
|
const require_cookie_config = require('../../cookie/config.js');
|
|
4
|
+
const require_trace = require('../../trace.js');
|
|
5
5
|
|
|
6
6
|
//#region src/compile/handler/reconstruct.ts
|
|
7
7
|
var Reconstrct = class {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RouteValidator } from "../../validator/route.mjs";
|
|
2
|
-
import { createTracer } from "../../trace.mjs";
|
|
3
2
|
import { compileCookieConfig } from "../../cookie/config.mjs";
|
|
3
|
+
import { createTracer } from "../../trace.mjs";
|
|
4
4
|
|
|
5
5
|
//#region src/compile/handler/reconstruct.ts
|
|
6
6
|
var Reconstrct = class {
|
package/dist/cookie/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CookieOptions } from "./types.js";
|
|
1
|
+
import { BaseCookie, CookieOptions } from "./types.js";
|
|
2
2
|
import { Cookie } from "./cookie.js";
|
|
3
3
|
import { serializeCookie } from "./serialize.js";
|
|
4
4
|
import { createCookieJar, parseCookie, signCookie, unsignCookie } from "./utils.js";
|
|
5
|
-
export { Cookie, type CookieOptions, createCookieJar, parseCookie, serializeCookie, signCookie, unsignCookie };
|
|
5
|
+
export { type BaseCookie, Cookie, type CookieOptions, createCookieJar, parseCookie, serializeCookie, signCookie, unsignCookie };
|
package/dist/handler/fetch.js
CHANGED
|
@@ -4,10 +4,10 @@ const require_utils = require('../utils.js');
|
|
|
4
4
|
const require_adapter_utils = require('../adapter/utils.js');
|
|
5
5
|
const require_error = require('../error.js');
|
|
6
6
|
const require_context = require('../context.js');
|
|
7
|
-
const require_adapter_constants = require('../adapter/constants.js');
|
|
8
7
|
const require_handler_utils = require('./utils.js');
|
|
9
|
-
const require_handler_error = require('./error.js');
|
|
10
8
|
const require_trace = require('../trace.js');
|
|
9
|
+
const require_adapter_constants = require('../adapter/constants.js');
|
|
10
|
+
const require_handler_error = require('./error.js');
|
|
11
11
|
let deuri = require("deuri");
|
|
12
12
|
|
|
13
13
|
//#region src/handler/fetch.ts
|
|
@@ -30,11 +30,17 @@ const decodeParams = (params) => {
|
|
|
30
30
|
}
|
|
31
31
|
return params;
|
|
32
32
|
};
|
|
33
|
-
|
|
33
|
+
function finalizeError(context, handleError, afterResponse, error) {
|
|
34
34
|
const resp = handleError(context, error);
|
|
35
|
-
afterResponse
|
|
35
|
+
if (!afterResponse) return resp;
|
|
36
|
+
if (resp instanceof Promise) return resp.then((r) => {
|
|
37
|
+
afterResponse(context);
|
|
38
|
+
return r;
|
|
39
|
+
});
|
|
40
|
+
afterResponse(context);
|
|
36
41
|
return resp;
|
|
37
|
-
}
|
|
42
|
+
}
|
|
43
|
+
const catchError = (context, handleError, afterResponse) => (error) => finalizeError(context, handleError, afterResponse, error);
|
|
38
44
|
function findRoute(context, request, map, router, hasError, handleError, afterResponse, strictPath, hasWS) {
|
|
39
45
|
const path = context.path;
|
|
40
46
|
if (hasWS) {
|
|
@@ -52,7 +58,8 @@ function findRoute(context, request, map, router, hasError, handleError, afterRe
|
|
|
52
58
|
return r instanceof Promise ? r.catch(catchError(context, handleError, afterResponse)) : r;
|
|
53
59
|
}
|
|
54
60
|
}
|
|
55
|
-
}
|
|
61
|
+
}
|
|
62
|
+
{
|
|
56
63
|
const methodMap = map[request.method];
|
|
57
64
|
let handler = methodMap?.[path];
|
|
58
65
|
if (!handler) if (!strictPath && path.length > 1 && path.charCodeAt(path.length - 1) === 47) {
|
|
@@ -175,9 +182,7 @@ function createFetchHandler(app) {
|
|
|
175
182
|
return await findRoute(context, request, map, router, hasError, handleError, afterResponse, strictPath, hasWS);
|
|
176
183
|
} catch (error) {
|
|
177
184
|
for (let i = 0; i < traceLength; i++) requestReports[i].resolve(error);
|
|
178
|
-
|
|
179
|
-
afterResponse?.(context);
|
|
180
|
-
return r;
|
|
185
|
+
return finalizeError(context, handleError, afterResponse, error);
|
|
181
186
|
}
|
|
182
187
|
};
|
|
183
188
|
}
|
|
@@ -199,9 +204,7 @@ function createFetchHandler(app) {
|
|
|
199
204
|
}
|
|
200
205
|
return findRoute(context, request, map, router, hasError, handleError, afterResponse, strictPath, hasWS);
|
|
201
206
|
} catch (error) {
|
|
202
|
-
|
|
203
|
-
afterResponse?.(context);
|
|
204
|
-
return r;
|
|
207
|
+
return finalizeError(context, handleError, afterResponse, error);
|
|
205
208
|
}
|
|
206
209
|
};
|
|
207
210
|
return (request) => {
|
|
@@ -219,7 +222,7 @@ function createFetchHandler(app) {
|
|
|
219
222
|
}
|
|
220
223
|
return findRoute(context, request, map, router, hasError, handleError, afterResponse, strictPath, hasWS);
|
|
221
224
|
} catch (error) {
|
|
222
|
-
return
|
|
225
|
+
return finalizeError(context, handleError, afterResponse, error);
|
|
223
226
|
}
|
|
224
227
|
};
|
|
225
228
|
}
|
|
@@ -243,9 +246,7 @@ function createFetchHandler(app) {
|
|
|
243
246
|
return r instanceof Promise ? r.catch(catchError(context, handleError, afterResponse)) : r;
|
|
244
247
|
}
|
|
245
248
|
} catch (error) {
|
|
246
|
-
|
|
247
|
-
afterResponse?.(context);
|
|
248
|
-
return r;
|
|
249
|
+
return finalizeError(context, handleError, afterResponse, error);
|
|
249
250
|
}
|
|
250
251
|
}
|
|
251
252
|
}
|
|
@@ -271,15 +272,9 @@ function createFetchHandler(app) {
|
|
|
271
272
|
return r instanceof Promise ? r.catch(catchError(context, handleError, afterResponse)) : r;
|
|
272
273
|
}
|
|
273
274
|
} catch (error) {
|
|
274
|
-
|
|
275
|
-
afterResponse?.(context);
|
|
276
|
-
return r;
|
|
277
|
-
}
|
|
278
|
-
if (hasError) {
|
|
279
|
-
const r = handleError(context, new require_error.NotFound());
|
|
280
|
-
afterResponse?.(context);
|
|
281
|
-
return r;
|
|
275
|
+
return finalizeError(context, handleError, afterResponse, error);
|
|
282
276
|
}
|
|
277
|
+
if (hasError) return finalizeError(context, handleError, afterResponse, new require_error.NotFound());
|
|
283
278
|
afterResponse?.(context, 404);
|
|
284
279
|
return notFound(context);
|
|
285
280
|
};
|
package/dist/handler/fetch.mjs
CHANGED
|
@@ -2,10 +2,10 @@ import { flattenChain, isNotEmpty, nullObject, requestId } from "../utils.mjs";
|
|
|
2
2
|
import { handleSet } from "../adapter/utils.mjs";
|
|
3
3
|
import { NotFound } from "../error.mjs";
|
|
4
4
|
import { createContext } from "../context.mjs";
|
|
5
|
-
import { defaultAdapter } from "../adapter/constants.mjs";
|
|
6
5
|
import { cachedResponse, getAsyncIndexes } from "./utils.mjs";
|
|
7
|
-
import { createErrorHandler } from "./error.mjs";
|
|
8
6
|
import { createTracer } from "../trace.mjs";
|
|
7
|
+
import { defaultAdapter } from "../adapter/constants.mjs";
|
|
8
|
+
import { createErrorHandler } from "./error.mjs";
|
|
9
9
|
import { decodeComponent } from "deuri";
|
|
10
10
|
|
|
11
11
|
//#region src/handler/fetch.ts
|
|
@@ -28,11 +28,17 @@ const decodeParams = (params) => {
|
|
|
28
28
|
}
|
|
29
29
|
return params;
|
|
30
30
|
};
|
|
31
|
-
|
|
31
|
+
function finalizeError(context, handleError, afterResponse, error) {
|
|
32
32
|
const resp = handleError(context, error);
|
|
33
|
-
afterResponse
|
|
33
|
+
if (!afterResponse) return resp;
|
|
34
|
+
if (resp instanceof Promise) return resp.then((r) => {
|
|
35
|
+
afterResponse(context);
|
|
36
|
+
return r;
|
|
37
|
+
});
|
|
38
|
+
afterResponse(context);
|
|
34
39
|
return resp;
|
|
35
|
-
}
|
|
40
|
+
}
|
|
41
|
+
const catchError = (context, handleError, afterResponse) => (error) => finalizeError(context, handleError, afterResponse, error);
|
|
36
42
|
function findRoute(context, request, map, router, hasError, handleError, afterResponse, strictPath, hasWS) {
|
|
37
43
|
const path = context.path;
|
|
38
44
|
if (hasWS) {
|
|
@@ -50,7 +56,8 @@ function findRoute(context, request, map, router, hasError, handleError, afterRe
|
|
|
50
56
|
return r instanceof Promise ? r.catch(catchError(context, handleError, afterResponse)) : r;
|
|
51
57
|
}
|
|
52
58
|
}
|
|
53
|
-
}
|
|
59
|
+
}
|
|
60
|
+
{
|
|
54
61
|
const methodMap = map[request.method];
|
|
55
62
|
let handler = methodMap?.[path];
|
|
56
63
|
if (!handler) if (!strictPath && path.length > 1 && path.charCodeAt(path.length - 1) === 47) {
|
|
@@ -173,9 +180,7 @@ function createFetchHandler(app) {
|
|
|
173
180
|
return await findRoute(context, request, map, router, hasError, handleError, afterResponse, strictPath, hasWS);
|
|
174
181
|
} catch (error) {
|
|
175
182
|
for (let i = 0; i < traceLength; i++) requestReports[i].resolve(error);
|
|
176
|
-
|
|
177
|
-
afterResponse?.(context);
|
|
178
|
-
return r;
|
|
183
|
+
return finalizeError(context, handleError, afterResponse, error);
|
|
179
184
|
}
|
|
180
185
|
};
|
|
181
186
|
}
|
|
@@ -197,9 +202,7 @@ function createFetchHandler(app) {
|
|
|
197
202
|
}
|
|
198
203
|
return findRoute(context, request, map, router, hasError, handleError, afterResponse, strictPath, hasWS);
|
|
199
204
|
} catch (error) {
|
|
200
|
-
|
|
201
|
-
afterResponse?.(context);
|
|
202
|
-
return r;
|
|
205
|
+
return finalizeError(context, handleError, afterResponse, error);
|
|
203
206
|
}
|
|
204
207
|
};
|
|
205
208
|
return (request) => {
|
|
@@ -217,7 +220,7 @@ function createFetchHandler(app) {
|
|
|
217
220
|
}
|
|
218
221
|
return findRoute(context, request, map, router, hasError, handleError, afterResponse, strictPath, hasWS);
|
|
219
222
|
} catch (error) {
|
|
220
|
-
return
|
|
223
|
+
return finalizeError(context, handleError, afterResponse, error);
|
|
221
224
|
}
|
|
222
225
|
};
|
|
223
226
|
}
|
|
@@ -241,9 +244,7 @@ function createFetchHandler(app) {
|
|
|
241
244
|
return r instanceof Promise ? r.catch(catchError(context, handleError, afterResponse)) : r;
|
|
242
245
|
}
|
|
243
246
|
} catch (error) {
|
|
244
|
-
|
|
245
|
-
afterResponse?.(context);
|
|
246
|
-
return r;
|
|
247
|
+
return finalizeError(context, handleError, afterResponse, error);
|
|
247
248
|
}
|
|
248
249
|
}
|
|
249
250
|
}
|
|
@@ -269,15 +270,9 @@ function createFetchHandler(app) {
|
|
|
269
270
|
return r instanceof Promise ? r.catch(catchError(context, handleError, afterResponse)) : r;
|
|
270
271
|
}
|
|
271
272
|
} catch (error) {
|
|
272
|
-
|
|
273
|
-
afterResponse?.(context);
|
|
274
|
-
return r;
|
|
275
|
-
}
|
|
276
|
-
if (hasError) {
|
|
277
|
-
const r = handleError(context, new NotFound());
|
|
278
|
-
afterResponse?.(context);
|
|
279
|
-
return r;
|
|
273
|
+
return finalizeError(context, handleError, afterResponse, error);
|
|
280
274
|
}
|
|
275
|
+
if (hasError) return finalizeError(context, handleError, afterResponse, new NotFound());
|
|
281
276
|
afterResponse?.(context, 404);
|
|
282
277
|
return notFound(context);
|
|
283
278
|
};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
import { StatusMap, StatusMapBack } from "./constants.js";
|
|
2
2
|
import { ElysiaError, ElysiaStatus, InternalServerError, InvalidCookieSignature, NotFound, ParseError, ValidationError, status, validationDetail } from "./error.js";
|
|
3
|
-
import { Cookie } from "./cookie/cookie.js";
|
|
4
|
-
import { serializeCookie } from "./cookie/serialize.js";
|
|
5
3
|
import { ElysiaFile, file } from "./universal/file.js";
|
|
6
4
|
import { TraceEvent, TraceHandler, TraceListener, TraceProcess, TraceStream } from "./trace.js";
|
|
7
|
-
import { env } from "./universal/env.js";
|
|
8
|
-
import { SSEPayload } from "./types.js";
|
|
9
5
|
import { AnySchema, BaseSchema, StandardJSONSchemaV1Like, StandardSchemaV1Like } from "./type/types.js";
|
|
10
6
|
import { FileTypeDetector, fileType, setFileTypeDetector } from "./type/elysia/file-type.js";
|
|
11
7
|
import { setupTypebox } from "./type/compat.js";
|
|
@@ -13,7 +9,9 @@ import { Capture, Compiled } from "./compile/aot.js";
|
|
|
13
9
|
import { MultiValidator, StandardValidator, Validator } from "./validator/index.js";
|
|
14
10
|
import { TypeBoxValidator } from "./type/validator/index.js";
|
|
15
11
|
import { TypeSystem, t } from "./type/index.js";
|
|
12
|
+
import { env } from "./universal/env.js";
|
|
13
|
+
import { SSEPayload } from "./types.js";
|
|
16
14
|
import { form, redirect, sse } from "./utils.js";
|
|
17
15
|
import { Context, ErrorContext, createBaseContext, createContext } from "./context.js";
|
|
18
16
|
import { Elysia } from "./base.js";
|
|
19
|
-
export { type AnySchema, type BaseSchema, Compiled, type Context,
|
|
17
|
+
export { type AnySchema, type BaseSchema, Compiled, type Context, Elysia, Elysia as default, ElysiaError, ElysiaFile, ElysiaStatus, type ErrorContext, type FileTypeDetector, InternalServerError, InvalidCookieSignature, Capture as Manifest, MultiValidator, NotFound, ParseError, type SSEPayload, type StandardJSONSchemaV1Like, type StandardSchemaV1Like, StandardValidator, StatusMap, StatusMapBack, type TraceEvent, type TraceHandler, type TraceListener, type TraceProcess, type TraceStream, TypeBoxValidator, TypeSystem, ValidationError, Validator, createBaseContext, createContext, env, file, fileType, form, redirect, setFileTypeDetector, setupTypebox, sse, status, t, validationDetail };
|
package/dist/index.js
CHANGED
|
@@ -3,13 +3,11 @@ const require_runtime = require('./_virtual/_rolldown/runtime.js');
|
|
|
3
3
|
const require_constants = require('./constants.js');
|
|
4
4
|
const require_universal_file = require('./universal/file.js');
|
|
5
5
|
const require_utils = require('./utils.js');
|
|
6
|
-
const require_cookie_serialize = require('./cookie/serialize.js');
|
|
7
6
|
const require_universal_env = require('./universal/env.js');
|
|
8
7
|
const require_error = require('./error.js');
|
|
9
8
|
const require_context = require('./context.js');
|
|
10
9
|
const require_compile_aot = require('./compile/aot.js');
|
|
11
10
|
const require_validator_index = require('./validator/index.js');
|
|
12
|
-
const require_cookie_cookie = require('./cookie/cookie.js');
|
|
13
11
|
const require_base = require('./base.js');
|
|
14
12
|
const require_type_elysia_file_type = require('./type/elysia/file-type.js');
|
|
15
13
|
const require_type_validator_index = require('./type/validator/index.js');
|
|
@@ -22,7 +20,6 @@ var src_default = require_base.Elysia;
|
|
|
22
20
|
|
|
23
21
|
//#endregion
|
|
24
22
|
exports.Compiled = require_compile_aot.Compiled;
|
|
25
|
-
exports.Cookie = require_cookie_cookie.Cookie;
|
|
26
23
|
exports.Elysia = require_base.Elysia;
|
|
27
24
|
exports.ElysiaError = require_error.ElysiaError;
|
|
28
25
|
exports.ElysiaFile = require_universal_file.ElysiaFile;
|
|
@@ -53,7 +50,6 @@ exports.file = require_universal_file.file;
|
|
|
53
50
|
exports.fileType = require_type_elysia_file_type.fileType;
|
|
54
51
|
exports.form = require_utils.form;
|
|
55
52
|
exports.redirect = require_utils.redirect;
|
|
56
|
-
exports.serializeCookie = require_cookie_serialize.serializeCookie;
|
|
57
53
|
exports.setFileTypeDetector = require_type_elysia_file_type.setFileTypeDetector;
|
|
58
54
|
exports.setupTypebox = require_type_compat.setupTypebox;
|
|
59
55
|
exports.sse = require_utils.sse;
|
package/dist/index.mjs
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { StatusMap, StatusMapBack } from "./constants.mjs";
|
|
2
2
|
import { ElysiaFile, file } from "./universal/file.mjs";
|
|
3
3
|
import { form, redirect, sse } from "./utils.mjs";
|
|
4
|
-
import { serializeCookie } from "./cookie/serialize.mjs";
|
|
5
4
|
import { env } from "./universal/env.mjs";
|
|
6
5
|
import { ElysiaError, ElysiaStatus, InternalServerError, InvalidCookieSignature, NotFound, ParseError, ValidationError, status, validationDetail } from "./error.mjs";
|
|
7
6
|
import { createBaseContext, createContext } from "./context.mjs";
|
|
8
7
|
import { Capture, Compiled } from "./compile/aot.mjs";
|
|
9
8
|
import { MultiValidator, StandardValidator, Validator } from "./validator/index.mjs";
|
|
10
|
-
import { Cookie } from "./cookie/cookie.mjs";
|
|
11
9
|
import { Elysia } from "./base.mjs";
|
|
12
10
|
import { fileType, setFileTypeDetector } from "./type/elysia/file-type.mjs";
|
|
13
11
|
import { TypeBoxValidator } from "./type/validator/index.mjs";
|
|
@@ -18,4 +16,4 @@ import { TypeSystem, t } from "./type/index.mjs";
|
|
|
18
16
|
var src_default = Elysia;
|
|
19
17
|
|
|
20
18
|
//#endregion
|
|
21
|
-
export { Compiled,
|
|
19
|
+
export { Compiled, Elysia, ElysiaError, ElysiaFile, ElysiaStatus, InternalServerError, InvalidCookieSignature, Capture as Manifest, MultiValidator, NotFound, ParseError, StandardValidator, StatusMap, StatusMapBack, TypeBoxValidator, TypeSystem, ValidationError, Validator, createBaseContext, createContext, src_default as default, env, file, fileType, form, redirect, setFileTypeDetector, setupTypebox, sse, status, t, validationDetail };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { MaybeArray, MaybePromise } from "../../types.js";
|
|
2
1
|
import { FileType, FileUnit } from "../types.js";
|
|
2
|
+
import { MaybeArray, MaybePromise } from "../../types.js";
|
|
3
3
|
|
|
4
4
|
//#region src/type/elysia/file-type.d.ts
|
|
5
5
|
type FileTypeDetector = (file: File) => MaybePromise<string | {
|