@taserjs/router 0.1.2 → 0.1.4
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/README.md +0 -7
- package/dist/cjs/builder/constants.cjs +0 -6
- package/dist/cjs/builder/constants.cjs.map +1 -1
- package/dist/cjs/builder/constants.d.cts +0 -5
- package/dist/cjs/builder/middleware-unit.cjs +55 -0
- package/dist/cjs/builder/middleware-unit.cjs.map +1 -0
- package/dist/cjs/builder/middleware-unit.d.cts +18 -0
- package/dist/cjs/builder/middleware.cjs +2 -1
- package/dist/cjs/builder/middleware.cjs.map +1 -1
- package/dist/cjs/builder/route.cjs +6 -21
- package/dist/cjs/builder/route.cjs.map +1 -1
- package/dist/cjs/builder/router.cjs +0 -4
- package/dist/cjs/builder/router.cjs.map +1 -1
- package/dist/cjs/builder/router.d.cts +1 -11
- package/dist/cjs/define/middleware.cjs +10 -14
- package/dist/cjs/define/middleware.cjs.map +1 -1
- package/dist/cjs/define/middleware.d.cts +42 -31
- package/dist/cjs/index.cjs +2 -2
- package/dist/cjs/index.d.cts +2 -2
- package/dist/cjs/middleware/body-limit.cjs +3 -3
- package/dist/cjs/middleware/body-limit.cjs.map +1 -1
- package/dist/cjs/middleware/body-limit.d.cts +1 -1
- package/dist/cjs/middleware/compress.cjs +3 -3
- package/dist/cjs/middleware/compress.cjs.map +1 -1
- package/dist/cjs/middleware/compress.d.cts +1 -1
- package/dist/cjs/middleware/cors.cjs +3 -3
- package/dist/cjs/middleware/cors.cjs.map +1 -1
- package/dist/cjs/middleware/cors.d.cts +1 -1
- package/dist/cjs/middleware/csrf.cjs +3 -3
- package/dist/cjs/middleware/csrf.cjs.map +1 -1
- package/dist/cjs/middleware/csrf.d.cts +1 -1
- package/dist/cjs/middleware/etag.cjs +3 -3
- package/dist/cjs/middleware/etag.cjs.map +1 -1
- package/dist/cjs/middleware/etag.d.cts +1 -1
- package/dist/cjs/middleware/hono-mw.cjs +23 -0
- package/dist/cjs/middleware/hono-mw.cjs.map +1 -0
- package/dist/cjs/middleware/hono-mw.d.cts +16 -0
- package/dist/cjs/middleware/jwk.cjs +6 -2
- package/dist/cjs/middleware/jwk.cjs.map +1 -1
- package/dist/cjs/middleware/jwt.cjs +6 -2
- package/dist/cjs/middleware/jwt.cjs.map +1 -1
- package/dist/cjs/middleware/secure-headers.cjs +3 -3
- package/dist/cjs/middleware/secure-headers.cjs.map +1 -1
- package/dist/cjs/middleware/secure-headers.d.cts +1 -1
- package/dist/cjs/middleware/timing.cjs +3 -3
- package/dist/cjs/middleware/timing.cjs.map +1 -1
- package/dist/cjs/middleware/timing.d.cts +1 -1
- package/dist/cjs/types/index.d.cts +4 -41
- package/dist/cjs/types/units.d.cts +9 -34
- package/dist/esm/builder/constants.d.ts +0 -5
- package/dist/esm/builder/constants.js +1 -6
- package/dist/esm/builder/constants.js.map +1 -1
- package/dist/esm/builder/middleware-unit.d.ts +18 -0
- package/dist/esm/builder/middleware-unit.js +55 -0
- package/dist/esm/builder/middleware-unit.js.map +1 -0
- package/dist/esm/builder/middleware.js +2 -1
- package/dist/esm/builder/middleware.js.map +1 -1
- package/dist/esm/builder/route.js +6 -21
- package/dist/esm/builder/route.js.map +1 -1
- package/dist/esm/builder/router.d.ts +1 -11
- package/dist/esm/builder/router.js +0 -4
- package/dist/esm/builder/router.js.map +1 -1
- package/dist/esm/define/middleware.d.ts +42 -31
- package/dist/esm/define/middleware.js +10 -14
- package/dist/esm/define/middleware.js.map +1 -1
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/middleware/body-limit.d.ts +1 -1
- package/dist/esm/middleware/body-limit.js +3 -3
- package/dist/esm/middleware/body-limit.js.map +1 -1
- package/dist/esm/middleware/compress.d.ts +1 -1
- package/dist/esm/middleware/compress.js +3 -3
- package/dist/esm/middleware/compress.js.map +1 -1
- package/dist/esm/middleware/cors.d.ts +1 -1
- package/dist/esm/middleware/cors.js +3 -3
- package/dist/esm/middleware/cors.js.map +1 -1
- package/dist/esm/middleware/csrf.d.ts +1 -1
- package/dist/esm/middleware/csrf.js +3 -3
- package/dist/esm/middleware/csrf.js.map +1 -1
- package/dist/esm/middleware/etag.d.ts +1 -1
- package/dist/esm/middleware/etag.js +3 -3
- package/dist/esm/middleware/etag.js.map +1 -1
- package/dist/esm/middleware/hono-mw.d.ts +16 -0
- package/dist/esm/middleware/hono-mw.js +23 -0
- package/dist/esm/middleware/hono-mw.js.map +1 -0
- package/dist/esm/middleware/jwk.js +6 -2
- package/dist/esm/middleware/jwk.js.map +1 -1
- package/dist/esm/middleware/jwt.js +6 -2
- package/dist/esm/middleware/jwt.js.map +1 -1
- package/dist/esm/middleware/secure-headers.d.ts +1 -1
- package/dist/esm/middleware/secure-headers.js +3 -3
- package/dist/esm/middleware/secure-headers.js.map +1 -1
- package/dist/esm/middleware/timing.d.ts +1 -1
- package/dist/esm/middleware/timing.js +3 -3
- package/dist/esm/middleware/timing.js.map +1 -1
- package/dist/esm/types/index.d.ts +4 -41
- package/dist/esm/types/units.d.ts +9 -34
- package/package.json +3 -3
- package/src/builder/constants.ts +0 -6
- package/src/builder/middleware-unit.ts +55 -0
- package/src/builder/middleware.ts +6 -2
- package/src/builder/route.ts +8 -34
- package/src/builder/router.ts +1 -18
- package/src/define/middleware.ts +133 -228
- package/src/index.ts +3 -1
- package/src/middleware/body-limit.ts +3 -4
- package/src/middleware/compress.ts +3 -4
- package/src/middleware/cors.ts +3 -4
- package/src/middleware/csrf.ts +3 -4
- package/src/middleware/etag.ts +3 -4
- package/src/middleware/hono-mw.ts +22 -0
- package/src/middleware/jwk.ts +9 -7
- package/src/middleware/jwt.ts +8 -6
- package/src/middleware/secure-headers.ts +3 -4
- package/src/middleware/timing.ts +3 -4
- package/src/types/index.ts +15 -172
- package/src/types/units.ts +119 -77
- package/dist/cjs/define/handler.cjs +0 -38
- package/dist/cjs/define/handler.cjs.map +0 -1
- package/dist/cjs/define/handler.d.cts +0 -13
- package/dist/cjs/middleware/wrap-hono.cjs +0 -19
- package/dist/cjs/middleware/wrap-hono.cjs.map +0 -1
- package/dist/cjs/middleware/wrap-hono.d.cts +0 -7
- package/dist/cjs/types/units.cjs +0 -8
- package/dist/cjs/types/units.cjs.map +0 -1
- package/dist/esm/define/handler.d.ts +0 -13
- package/dist/esm/define/handler.js +0 -38
- package/dist/esm/define/handler.js.map +0 -1
- package/dist/esm/middleware/wrap-hono.d.ts +0 -7
- package/dist/esm/middleware/wrap-hono.js +0 -18
- package/dist/esm/middleware/wrap-hono.js.map +0 -1
- package/dist/esm/types/units.js +0 -8
- package/dist/esm/types/units.js.map +0 -1
- package/src/define/handler.ts +0 -62
- package/src/middleware/wrap-hono.ts +0 -25
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { defineMiddleware } from "../define/middleware.js";
|
|
2
|
-
import { createTaserCompatHandler } from "@taserjs/router-core";
|
|
3
|
-
//#region src/middleware/wrap-hono.ts
|
|
4
|
-
function wrapHonoMiddleware(honoFactory) {
|
|
5
|
-
return (...args) => defineMiddleware(honoFactory(...args));
|
|
6
|
-
}
|
|
7
|
-
/** Extracts the jwtPayload from Hono's variable bag and forwards it into Taser's state via next(). */
|
|
8
|
-
function extractJwtPayload(honoMw) {
|
|
9
|
-
const taserHandler = createTaserCompatHandler(honoMw);
|
|
10
|
-
return (ctx, next) => taserHandler(ctx, async () => {
|
|
11
|
-
const payload = ctx.var.jwtPayload;
|
|
12
|
-
return next({ jwtPayload: payload });
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
//#endregion
|
|
16
|
-
export { extractJwtPayload, wrapHonoMiddleware };
|
|
17
|
-
|
|
18
|
-
//# sourceMappingURL=wrap-hono.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wrap-hono.js","names":[],"sources":["../../../src/middleware/wrap-hono.ts"],"sourcesContent":["import { createTaserCompatHandler } from \"@taserjs/router-core\";\nimport type { MiddlewareHandler } from \"hono\";\n\nimport { defineMiddleware } from \"../define/middleware.js\";\nimport type { MiddlewareReturnFromParts, MiddlewareUnit } from \"../types/units.js\";\n\nexport function wrapHonoMiddleware<F extends (...args: never[]) => MiddlewareHandler>(\n honoFactory: F,\n): (\n ...args: Parameters<F>\n) => MiddlewareUnit<MiddlewareReturnFromParts<unknown, unknown, unknown, {}>> {\n return (...args) => defineMiddleware(honoFactory(...args));\n}\n\n/** Extracts the jwtPayload from Hono's variable bag and forwards it into Taser's state via next(). */\nexport function extractJwtPayload<TPayload>(\n honoMw: MiddlewareHandler,\n): (ctx: unknown, next: (state: { jwtPayload: TPayload }) => unknown) => unknown {\n const taserHandler = createTaserCompatHandler(honoMw);\n return (ctx, next) =>\n taserHandler(ctx, async () => {\n const payload = (ctx as unknown as { var: { jwtPayload?: unknown } }).var.jwtPayload;\n return next({ jwtPayload: payload as TPayload });\n });\n}\n"],"mappings":";;;AAMA,SAAgB,mBACd,aAG4E;CAC5E,QAAQ,GAAG,SAAS,iBAAiB,YAAY,GAAG,IAAI,CAAC;AAC3D;;AAGA,SAAgB,kBACd,QAC+E;CAC/E,MAAM,eAAe,yBAAyB,MAAM;CACpD,QAAQ,KAAK,SACX,aAAa,KAAK,YAAY;EAC5B,MAAM,UAAW,IAAqD,IAAI;EAC1E,OAAO,KAAK,EAAE,YAAY,QAAoB,CAAC;CACjD,CAAC;AACL"}
|
package/dist/esm/types/units.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
//#region src/types/units.ts
|
|
2
|
-
function isHandlerUnit(value) {
|
|
3
|
-
return typeof value === "object" && value !== null && "handler" in value && "middlewares" in value && Array.isArray(value.middlewares);
|
|
4
|
-
}
|
|
5
|
-
//#endregion
|
|
6
|
-
export { isHandlerUnit };
|
|
7
|
-
|
|
8
|
-
//# sourceMappingURL=units.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"units.js","names":[],"sources":["../../../src/types/units.ts"],"sourcesContent":["import type {\n Awaitable,\n MiddlewareDefinition as CoreMiddlewareDefinition,\n TaserCookieJar,\n TaserHeaders,\n} from \"@taserjs/router-core\";\n\nimport type {\n MergeMiddlewareField,\n MergePart,\n RequestShape,\n Simplify,\n UnitRuntimeContext,\n UnwrapPart,\n} from \"./type-utils.js\";\nimport type { ReturnsMap } from \"./returns.js\";\nimport type { Schema } from \"./schema.js\";\n\nexport type { HttpMethod, Method } from \"./type-utils.js\";\nexport type {\n EmptyReturns,\n MergeReturns,\n ReturnsMap,\n HandlerReply,\n HasReturns,\n StatusCode,\n ValidHandlerReply,\n EnforceHandlerReply,\n} from \"./returns.js\";\n\n/** Default empty app context for standalone units without a bound router instance. */\nexport type AppContext = Record<never, never>;\n\nexport type ValidatorParts = {\n query?: unknown;\n params?: unknown;\n body?: unknown;\n queryIn?: unknown;\n paramsIn?: unknown;\n bodyIn?: unknown;\n};\n\nexport declare const StateBrand: unique symbol;\n\nexport type NextResult<TState = unknown> = Response & {\n readonly [StateBrand]?: TState;\n};\n\nexport type ExtractState<T> = [Extract<Awaited<T>, { [StateBrand]?: unknown }>] extends [never]\n ? {}\n : Extract<Awaited<T>, { [StateBrand]?: unknown }> extends { [StateBrand]?: infer S }\n ? [S] extends [never]\n ? {}\n : S\n : {};\n\nexport type IsUnknown<T> = [unknown] extends [T] ? true : false;\n\nexport type NextFn<TExpectedState = unknown> =\n IsUnknown<TExpectedState> extends true\n ? <S extends Record<string, unknown> = {}>(state?: S) => Promise<NextResult<S>>\n : (state: TExpectedState) => Promise<NextResult<TExpectedState>>;\n\nexport type MiddlewareNext = NextFn;\n\nexport type MiddlewareDefinition = CoreMiddlewareDefinition<ReturnsMap>;\n\nexport type MiddlewareReturnFromParts<\n TQuery,\n TParams,\n TBody,\n TState,\n TQueryIn = TQuery,\n TParamsIn = TParams,\n TBodyIn = TBody,\n> = {\n query: Simplify<UnwrapPart<TQuery>>;\n params: Simplify<UnwrapPart<TParams>>;\n body: Simplify<UnwrapPart<TBody>>;\n state: Simplify<UnwrapPart<TState>>;\n /** Pre-parse shapes merged into route `$Infer.Input`. */\n input: {\n query: RequestShape<TQueryIn, TQuery>;\n params: RequestShape<TParamsIn, TParams>;\n body: RequestShape<TBodyIn, TBody>;\n };\n};\n\nexport type DefineMiddlewareResult<\n TQuery,\n TParams,\n TBody,\n TState,\n R,\n TQueryIn = TQuery,\n TParamsIn = TParams,\n TBodyIn = TBody,\n TReturns extends ReturnsMap = {},\n TLayout = null,\n TRequires = {},\n> = MiddlewareUnit<\n MiddlewareReturnFromParts<\n TQuery,\n TParams,\n TBody,\n IsUnknown<TState> extends true ? ExtractState<R> : TState,\n TQueryIn,\n TParamsIn,\n TBodyIn\n >,\n TReturns,\n TLayout,\n TRequires\n>;\n\nexport type StandaloneMiddlewareContext<\n TQuery = unknown,\n TParams = unknown,\n TBody = unknown,\n TAppContext extends Record<string, unknown> = AppContext,\n TState = {},\n> = Simplify<\n TAppContext &\n UnitRuntimeContext & {\n query: Simplify<UnwrapPart<TQuery>>;\n params: Simplify<UnwrapPart<TParams>>;\n body: Simplify<UnwrapPart<TBody>>;\n state: Simplify<UnwrapPart<TState>>;\n headers: TaserHeaders;\n cookies: TaserCookieJar;\n }\n>;\n\nexport type HandlerContext<\n Acc extends readonly unknown[],\n Validators extends ValidatorParts,\n TAppContext extends Record<string, unknown> = AppContext,\n> = Simplify<\n TAppContext &\n UnitRuntimeContext & {\n query: Simplify<\n MergePart<\n Validators extends { query?: infer Q } ? Q : unknown,\n MergeMiddlewareField<Acc, \"query\">\n >\n >;\n params: Simplify<\n MergePart<\n Validators extends { params?: infer P } ? P : unknown,\n MergeMiddlewareField<Acc, \"params\">\n >\n >;\n body: Simplify<\n MergePart<\n Validators extends { body?: infer B } ? B : unknown,\n MergeMiddlewareField<Acc, \"body\">\n >\n >;\n state: Simplify<MergeMiddlewareField<Acc, \"state\">>;\n headers: TaserHeaders;\n cookies: TaserCookieJar;\n }\n>;\n\nexport type MiddlewareUnit<\n TAcc = unknown,\n TReturns extends ReturnsMap = {},\n TRequiredLayouts = unknown,\n TRequiredState = unknown,\n> = MiddlewareDefinition & {\n readonly __middlewareAcc: TAcc;\n readonly __returns?: TReturns;\n readonly __requiredLayouts?: TRequiredLayouts;\n readonly __requiredState?: TRequiredState;\n};\n\nexport type HandlerUnit<\n _Acc extends readonly unknown[],\n _Validators extends ValidatorParts,\n TReturns extends ReturnsMap = {},\n TOutput = Response,\n> = {\n readonly __returns?: TReturns;\n readonly $Infer: {\n Output: TOutput;\n };\n middlewares: readonly MiddlewareDefinition[];\n handler: (ctx: unknown) => Awaitable<Response>;\n returns?: ReturnsMap;\n query?: Schema<unknown>;\n params?: Schema<unknown>;\n body?: Schema<unknown>;\n};\n\nexport type InlineMiddlewareOptions<\n Ctx = unknown,\n TQuery = unknown,\n TParams = unknown,\n TBody = unknown,\n TReturns extends ReturnsMap = {},\n TQueryIn = unknown,\n TParamsIn = unknown,\n TBodyIn = unknown,\n R = unknown,\n> = {\n query?: Schema<TQuery, TQueryIn>;\n params?: Schema<TParams, TParamsIn>;\n body?: Schema<TBody, TBodyIn>;\n returns?: TReturns;\n handler: (ctx: Ctx, next: NextFn) => Awaitable<R>;\n};\n\nexport function isHandlerUnit(\n value: unknown,\n): value is HandlerUnit<readonly unknown[], ValidatorParts> {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"handler\" in value &&\n \"middlewares\" in value &&\n Array.isArray((value as HandlerUnit<readonly unknown[], ValidatorParts>).middlewares)\n );\n}\n"],"mappings":";AAoNA,SAAgB,cACd,OAC0D;CAC1D,OACE,OAAO,UAAU,YACjB,UAAU,QACV,aAAa,SACb,iBAAiB,SACjB,MAAM,QAAS,MAA0D,WAAW;AAExF"}
|
package/src/define/handler.ts
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import type { HandlerBuilder } from "../types/index.js";
|
|
2
|
-
import type {
|
|
3
|
-
AppContext,
|
|
4
|
-
HandlerUnit,
|
|
5
|
-
MiddlewareDefinition,
|
|
6
|
-
ReturnsMap,
|
|
7
|
-
ValidatorParts,
|
|
8
|
-
} from "../types/units.js";
|
|
9
|
-
import type { Schema } from "../types/schema.js";
|
|
10
|
-
import { pickDefinedSchemas, type SchemaValidators } from "./validators.js";
|
|
11
|
-
import { collectReturnsFromDefinitions } from "@taserjs/router-utils";
|
|
12
|
-
|
|
13
|
-
function createHandlerBuilder<TAppContext extends Record<string, unknown> = AppContext>(
|
|
14
|
-
validators: SchemaValidators,
|
|
15
|
-
middlewares: MiddlewareDefinition[],
|
|
16
|
-
returnsMap: ReturnsMap,
|
|
17
|
-
): HandlerBuilder<readonly [], ValidatorParts, {}, TAppContext> {
|
|
18
|
-
const builder = {
|
|
19
|
-
returns(map: ReturnsMap) {
|
|
20
|
-
return createHandlerBuilder<TAppContext>(validators, middlewares, { ...returnsMap, ...map });
|
|
21
|
-
},
|
|
22
|
-
use(unitOrOptions: MiddlewareDefinition) {
|
|
23
|
-
middlewares.push(unitOrOptions);
|
|
24
|
-
return builder;
|
|
25
|
-
},
|
|
26
|
-
handler(fn: (ctx: unknown) => unknown) {
|
|
27
|
-
const mwReturns = collectReturnsFromDefinitions(middlewares);
|
|
28
|
-
const mergedReturns = { ...mwReturns, ...returnsMap };
|
|
29
|
-
const unit = {
|
|
30
|
-
$Infer: { Output: undefined as unknown as Response },
|
|
31
|
-
middlewares: [...middlewares],
|
|
32
|
-
handler: fn as HandlerUnit<readonly [], ValidatorParts>["handler"],
|
|
33
|
-
...pickDefinedSchemas(validators),
|
|
34
|
-
...(Object.keys(mergedReturns).length > 0 ? { returns: mergedReturns } : {}),
|
|
35
|
-
} as HandlerUnit<readonly [], ValidatorParts>;
|
|
36
|
-
return unit;
|
|
37
|
-
},
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
return builder as unknown as HandlerBuilder<readonly [], ValidatorParts, {}, TAppContext>;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export function defineHandler<
|
|
44
|
-
TAppContext extends Record<string, unknown> = AppContext,
|
|
45
|
-
>(): HandlerBuilder<readonly [], {}, {}, TAppContext>;
|
|
46
|
-
|
|
47
|
-
export function defineHandler<
|
|
48
|
-
TAppContext extends Record<string, unknown> = AppContext,
|
|
49
|
-
TQuery = unknown,
|
|
50
|
-
TParams = unknown,
|
|
51
|
-
TBody = unknown,
|
|
52
|
-
>(options: {
|
|
53
|
-
query?: Schema<TQuery>;
|
|
54
|
-
params?: Schema<TParams>;
|
|
55
|
-
body?: Schema<TBody>;
|
|
56
|
-
}): HandlerBuilder<readonly [], { query: TQuery; params: TParams; body: TBody }, {}, TAppContext>;
|
|
57
|
-
|
|
58
|
-
export function defineHandler<TAppContext extends Record<string, unknown> = AppContext>(
|
|
59
|
-
options?: SchemaValidators,
|
|
60
|
-
): HandlerBuilder<readonly [], ValidatorParts, {}, TAppContext> {
|
|
61
|
-
return createHandlerBuilder<TAppContext>(options ?? {}, [], {});
|
|
62
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { createTaserCompatHandler } from "@taserjs/router-core";
|
|
2
|
-
import type { MiddlewareHandler } from "hono";
|
|
3
|
-
|
|
4
|
-
import { defineMiddleware } from "../define/middleware.js";
|
|
5
|
-
import type { MiddlewareReturnFromParts, MiddlewareUnit } from "../types/units.js";
|
|
6
|
-
|
|
7
|
-
export function wrapHonoMiddleware<F extends (...args: never[]) => MiddlewareHandler>(
|
|
8
|
-
honoFactory: F,
|
|
9
|
-
): (
|
|
10
|
-
...args: Parameters<F>
|
|
11
|
-
) => MiddlewareUnit<MiddlewareReturnFromParts<unknown, unknown, unknown, {}>> {
|
|
12
|
-
return (...args) => defineMiddleware(honoFactory(...args));
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
/** Extracts the jwtPayload from Hono's variable bag and forwards it into Taser's state via next(). */
|
|
16
|
-
export function extractJwtPayload<TPayload>(
|
|
17
|
-
honoMw: MiddlewareHandler,
|
|
18
|
-
): (ctx: unknown, next: (state: { jwtPayload: TPayload }) => unknown) => unknown {
|
|
19
|
-
const taserHandler = createTaserCompatHandler(honoMw);
|
|
20
|
-
return (ctx, next) =>
|
|
21
|
-
taserHandler(ctx, async () => {
|
|
22
|
-
const payload = (ctx as unknown as { var: { jwtPayload?: unknown } }).var.jwtPayload;
|
|
23
|
-
return next({ jwtPayload: payload as TPayload });
|
|
24
|
-
});
|
|
25
|
-
}
|