@taserjs/router 0.1.3 → 0.1.5

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.
Files changed (153) hide show
  1. package/README.md +0 -7
  2. package/dist/cjs/builder/constants.cjs +0 -6
  3. package/dist/cjs/builder/constants.cjs.map +1 -1
  4. package/dist/cjs/builder/constants.d.cts +0 -5
  5. package/dist/cjs/builder/factories.cjs.map +1 -1
  6. package/dist/cjs/builder/factories.d.cts +9 -9
  7. package/dist/cjs/builder/middleware-unit.cjs +64 -0
  8. package/dist/cjs/builder/middleware-unit.cjs.map +1 -0
  9. package/dist/cjs/builder/middleware-unit.d.cts +1 -0
  10. package/dist/cjs/builder/middleware.cjs +3 -1
  11. package/dist/cjs/builder/middleware.cjs.map +1 -1
  12. package/dist/cjs/builder/route.cjs +7 -21
  13. package/dist/cjs/builder/route.cjs.map +1 -1
  14. package/dist/cjs/builder/router.cjs +1 -20
  15. package/dist/cjs/builder/router.cjs.map +1 -1
  16. package/dist/cjs/builder/router.d.cts +6 -27
  17. package/dist/cjs/builder/standalone.cjs +43 -0
  18. package/dist/cjs/builder/standalone.cjs.map +1 -0
  19. package/dist/cjs/builder/standalone.d.cts +28 -0
  20. package/dist/cjs/define/middleware.cjs +11 -16
  21. package/dist/cjs/define/middleware.cjs.map +1 -1
  22. package/dist/cjs/define/middleware.d.cts +44 -34
  23. package/dist/cjs/index.cjs +15 -4
  24. package/dist/cjs/index.d.cts +6 -4
  25. package/dist/cjs/middleware/body-limit.cjs +3 -3
  26. package/dist/cjs/middleware/body-limit.cjs.map +1 -1
  27. package/dist/cjs/middleware/body-limit.d.cts +1 -1
  28. package/dist/cjs/middleware/compress.cjs +3 -3
  29. package/dist/cjs/middleware/compress.cjs.map +1 -1
  30. package/dist/cjs/middleware/compress.d.cts +1 -1
  31. package/dist/cjs/middleware/cors.cjs +3 -3
  32. package/dist/cjs/middleware/cors.cjs.map +1 -1
  33. package/dist/cjs/middleware/cors.d.cts +1 -1
  34. package/dist/cjs/middleware/csrf.cjs +3 -3
  35. package/dist/cjs/middleware/csrf.cjs.map +1 -1
  36. package/dist/cjs/middleware/csrf.d.cts +1 -1
  37. package/dist/cjs/middleware/etag.cjs +3 -3
  38. package/dist/cjs/middleware/etag.cjs.map +1 -1
  39. package/dist/cjs/middleware/etag.d.cts +1 -1
  40. package/dist/cjs/middleware/hono-mw.cjs +23 -0
  41. package/dist/cjs/middleware/hono-mw.cjs.map +1 -0
  42. package/dist/cjs/middleware/hono-mw.d.cts +16 -0
  43. package/dist/cjs/middleware/jwk.cjs +6 -2
  44. package/dist/cjs/middleware/jwk.cjs.map +1 -1
  45. package/dist/cjs/middleware/jwt.cjs +6 -2
  46. package/dist/cjs/middleware/jwt.cjs.map +1 -1
  47. package/dist/cjs/middleware/secure-headers.cjs +3 -3
  48. package/dist/cjs/middleware/secure-headers.cjs.map +1 -1
  49. package/dist/cjs/middleware/secure-headers.d.cts +1 -1
  50. package/dist/cjs/middleware/timing.cjs +3 -3
  51. package/dist/cjs/middleware/timing.cjs.map +1 -1
  52. package/dist/cjs/middleware/timing.d.cts +1 -1
  53. package/dist/cjs/types/index.d.cts +20 -52
  54. package/dist/cjs/types/type-utils.d.cts +2 -2
  55. package/dist/cjs/types/units.d.cts +18 -45
  56. package/dist/esm/builder/constants.d.ts +0 -5
  57. package/dist/esm/builder/constants.js +1 -6
  58. package/dist/esm/builder/constants.js.map +1 -1
  59. package/dist/esm/builder/factories.d.ts +9 -9
  60. package/dist/esm/builder/factories.js.map +1 -1
  61. package/dist/esm/builder/middleware-unit.d.ts +1 -0
  62. package/dist/esm/builder/middleware-unit.js +64 -0
  63. package/dist/esm/builder/middleware-unit.js.map +1 -0
  64. package/dist/esm/builder/middleware.js +3 -1
  65. package/dist/esm/builder/middleware.js.map +1 -1
  66. package/dist/esm/builder/route.js +7 -21
  67. package/dist/esm/builder/route.js.map +1 -1
  68. package/dist/esm/builder/router.d.ts +6 -27
  69. package/dist/esm/builder/router.js +1 -20
  70. package/dist/esm/builder/router.js.map +1 -1
  71. package/dist/esm/builder/standalone.d.ts +28 -0
  72. package/dist/esm/builder/standalone.js +32 -0
  73. package/dist/esm/builder/standalone.js.map +1 -0
  74. package/dist/esm/define/middleware.d.ts +44 -34
  75. package/dist/esm/define/middleware.js +11 -16
  76. package/dist/esm/define/middleware.js.map +1 -1
  77. package/dist/esm/index.d.ts +6 -4
  78. package/dist/esm/index.js +3 -3
  79. package/dist/esm/middleware/body-limit.d.ts +1 -1
  80. package/dist/esm/middleware/body-limit.js +3 -3
  81. package/dist/esm/middleware/body-limit.js.map +1 -1
  82. package/dist/esm/middleware/compress.d.ts +1 -1
  83. package/dist/esm/middleware/compress.js +3 -3
  84. package/dist/esm/middleware/compress.js.map +1 -1
  85. package/dist/esm/middleware/cors.d.ts +1 -1
  86. package/dist/esm/middleware/cors.js +3 -3
  87. package/dist/esm/middleware/cors.js.map +1 -1
  88. package/dist/esm/middleware/csrf.d.ts +1 -1
  89. package/dist/esm/middleware/csrf.js +3 -3
  90. package/dist/esm/middleware/csrf.js.map +1 -1
  91. package/dist/esm/middleware/etag.d.ts +1 -1
  92. package/dist/esm/middleware/etag.js +3 -3
  93. package/dist/esm/middleware/etag.js.map +1 -1
  94. package/dist/esm/middleware/hono-mw.d.ts +16 -0
  95. package/dist/esm/middleware/hono-mw.js +23 -0
  96. package/dist/esm/middleware/hono-mw.js.map +1 -0
  97. package/dist/esm/middleware/jwk.js +7 -3
  98. package/dist/esm/middleware/jwk.js.map +1 -1
  99. package/dist/esm/middleware/jwt.js +7 -3
  100. package/dist/esm/middleware/jwt.js.map +1 -1
  101. package/dist/esm/middleware/secure-headers.d.ts +1 -1
  102. package/dist/esm/middleware/secure-headers.js +3 -3
  103. package/dist/esm/middleware/secure-headers.js.map +1 -1
  104. package/dist/esm/middleware/timing.d.ts +1 -1
  105. package/dist/esm/middleware/timing.js +3 -3
  106. package/dist/esm/middleware/timing.js.map +1 -1
  107. package/dist/esm/types/index.d.ts +20 -52
  108. package/dist/esm/types/type-utils.d.ts +2 -2
  109. package/dist/esm/types/units.d.ts +18 -45
  110. package/package.json +3 -3
  111. package/src/builder/constants.ts +0 -6
  112. package/src/builder/factories.ts +2 -2
  113. package/src/builder/middleware-unit.ts +66 -0
  114. package/src/builder/middleware.ts +8 -2
  115. package/src/builder/route.ts +10 -34
  116. package/src/builder/router.ts +7 -77
  117. package/src/builder/standalone.ts +70 -0
  118. package/src/define/middleware.ts +155 -231
  119. package/src/index.ts +29 -3
  120. package/src/middleware/body-limit.ts +3 -4
  121. package/src/middleware/compress.ts +3 -4
  122. package/src/middleware/cors.ts +3 -4
  123. package/src/middleware/csrf.ts +3 -4
  124. package/src/middleware/etag.ts +3 -4
  125. package/src/middleware/hono-mw.ts +22 -0
  126. package/src/middleware/jwk.ts +10 -8
  127. package/src/middleware/jwt.ts +9 -7
  128. package/src/middleware/secure-headers.ts +3 -4
  129. package/src/middleware/timing.ts +3 -4
  130. package/src/types/index.ts +54 -196
  131. package/src/types/type-utils.ts +8 -4
  132. package/src/types/units.ts +153 -87
  133. package/dist/cjs/define/handler.cjs +0 -38
  134. package/dist/cjs/define/handler.cjs.map +0 -1
  135. package/dist/cjs/define/handler.d.cts +0 -13
  136. package/dist/cjs/middleware/wrap-hono.cjs +0 -19
  137. package/dist/cjs/middleware/wrap-hono.cjs.map +0 -1
  138. package/dist/cjs/middleware/wrap-hono.d.cts +0 -7
  139. package/dist/cjs/register.d.cts +0 -2
  140. package/dist/cjs/types/units.cjs +0 -8
  141. package/dist/cjs/types/units.cjs.map +0 -1
  142. package/dist/esm/define/handler.d.ts +0 -13
  143. package/dist/esm/define/handler.js +0 -38
  144. package/dist/esm/define/handler.js.map +0 -1
  145. package/dist/esm/middleware/wrap-hono.d.ts +0 -7
  146. package/dist/esm/middleware/wrap-hono.js +0 -18
  147. package/dist/esm/middleware/wrap-hono.js.map +0 -1
  148. package/dist/esm/register.d.ts +0 -2
  149. package/dist/esm/types/units.js +0 -8
  150. package/dist/esm/types/units.js.map +0 -1
  151. package/src/define/handler.ts +0 -62
  152. package/src/middleware/wrap-hono.ts +0 -25
  153. package/src/register.ts +0 -1
@@ -1,35 +1,45 @@
1
- import { createTaserCompatHandler, Awaitable } from '@taserjs/router-core';
2
- import { ReturnsMap } from '../types/returns.js';
3
- import { AppContext, DefineMiddlewareResult, MiddlewareReturnFromParts, MiddlewareUnit, NextFn, StandaloneMiddlewareContext } from '../types/units.js';
4
- import { LayoutId, ResolveLayoutMiddlewaresState, ResolveLayoutsState } from '../types/index.js';
5
- import { Schema } from '../types/schema.js';
6
- export type HonoMiddlewareHandler = Parameters<typeof createTaserCompatHandler>[0];
7
- export type HonoMiddlewareUnit = MiddlewareUnit<MiddlewareReturnFromParts<unknown, unknown, unknown, {}>, {}, null, {}>;
8
- export type DefineMiddlewareOptions<TState = unknown, TRequires = {}, TQuery = unknown, TParams = unknown, TBody = unknown, TReturns extends ReturnsMap = {}, TQueryIn = unknown, TParamsIn = unknown, TBodyIn = unknown, TAppContext extends Record<string, unknown> = AppContext, R = unknown> = {
9
- query?: Schema<TQuery, TQueryIn>;
10
- params?: Schema<TParams, TParamsIn>;
11
- body?: Schema<TBody, TBodyIn>;
12
- returns?: TReturns;
13
- handler: (ctx: StandaloneMiddlewareContext<TQuery, TParams, TBody, TAppContext, TRequires>, next: NextFn<NoInfer<TState>>) => Awaitable<R>;
14
- };
15
- export type ScopedMiddlewareOptions<Layout extends LayoutId, TState = unknown, TRequires = {}, TQuery = unknown, TParams = unknown, TBody = unknown, TReturns extends ReturnsMap = {}, TQueryIn = unknown, TParamsIn = unknown, TBodyIn = unknown, TAppContext extends Record<string, unknown> = AppContext, R = unknown> = {
16
- query?: Schema<TQuery, TQueryIn>;
17
- params?: Schema<TParams, TParamsIn>;
18
- body?: Schema<TBody, TBodyIn>;
19
- returns?: TReturns;
20
- handler: (ctx: StandaloneMiddlewareContext<TQuery, TParams, TBody, TAppContext, ResolveLayoutMiddlewaresState<Layout> & TRequires>, next: NextFn<NoInfer<TState>>) => Awaitable<R>;
21
- };
22
- export type MultiScopedMiddlewareOptions<Layouts extends readonly LayoutId[], TState = unknown, TRequires = {}, TQuery = unknown, TParams = unknown, TBody = unknown, TReturns extends ReturnsMap = {}, TQueryIn = unknown, TParamsIn = unknown, TBodyIn = unknown, TAppContext extends Record<string, unknown> = AppContext, R = unknown> = {
23
- query?: Schema<TQuery, TQueryIn>;
24
- params?: Schema<TParams, TParamsIn>;
25
- body?: Schema<TBody, TBodyIn>;
26
- returns?: TReturns;
27
- handler: (ctx: StandaloneMiddlewareContext<TQuery, TParams, TBody, TAppContext, ResolveLayoutsState<Layouts> & TRequires>, next: NextFn<NoInfer<TState>>) => Awaitable<R>;
28
- };
29
- export interface DefineMiddlewareFn<TAppContext extends Record<string, unknown> = AppContext> {
30
- (middleware: HonoMiddlewareHandler): HonoMiddlewareUnit;
31
- <const Layout extends LayoutId, TState = unknown, TRequires = {}, TQuery = unknown, TParams = unknown, TBody = unknown, TReturns extends ReturnsMap = {}, TQueryIn = unknown, TParamsIn = unknown, TBodyIn = unknown, R = unknown>(layout: Layout, options: ScopedMiddlewareOptions<Layout, TState, TRequires, TQuery, TParams, TBody, TReturns, TQueryIn, TParamsIn, TBodyIn, TAppContext, R>): DefineMiddlewareResult<TQuery, TParams, TBody, TState, R, TQueryIn, TParamsIn, TBodyIn, TReturns, Layout, TRequires>;
32
- <const Layouts extends readonly [LayoutId, ...LayoutId[]], TState = unknown, TRequires = {}, TQuery = unknown, TParams = unknown, TBody = unknown, TReturns extends ReturnsMap = {}, TQueryIn = unknown, TParamsIn = unknown, TBodyIn = unknown, R = unknown>(layouts: Layouts, options: MultiScopedMiddlewareOptions<Layouts, TState, TRequires, TQuery, TParams, TBody, TReturns, TQueryIn, TParamsIn, TBodyIn, TAppContext, R>): DefineMiddlewareResult<TQuery, TParams, TBody, TState, R, TQueryIn, TParamsIn, TBodyIn, TReturns, Layouts, TRequires>;
33
- <TState = unknown, TRequires = {}, TQuery = unknown, TParams = unknown, TBody = unknown, TReturns extends ReturnsMap = {}, TQueryIn = unknown, TParamsIn = unknown, TBodyIn = unknown, R = unknown>(options: DefineMiddlewareOptions<TState, TRequires, TQuery, TParams, TBody, TReturns, TQueryIn, TParamsIn, TBodyIn, TAppContext, R>): DefineMiddlewareResult<TQuery, TParams, TBody, TState, R, TQueryIn, TParamsIn, TBodyIn, TReturns, null, TRequires>;
1
+ import { DefineMiddlewareResult, ExtractState, IsUnknown, MiddlewareUnitBuilder, NextFn, StandaloneMiddlewareContext } from '../types/units.js';
2
+ import { AppContext, LayoutId, ResolveLayoutMiddlewaresState, ResolveLayoutsState } from '../types/index.js';
3
+ export interface MiddlewareFn<TAppContext extends Record<string, unknown> = AppContext> {
4
+ /**
5
+ * Constructs a fluent unscoped middleware builder, with optional explicit State generic.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const auth = middleware<{ user: string }>()
10
+ * .query(z.object({ token: z.string() }))
11
+ * .body("form", z.object({ file: z.instanceof(File) }))
12
+ * .returns({ 401: z.string() })
13
+ * .handler(async (ctx, next) => next({ user: "alice" }));
14
+ * ```
15
+ */
16
+ <TState = unknown>(): MiddlewareUnitBuilder<unknown, unknown, unknown, {}, null, {}, TAppContext, {}, unknown, unknown, unknown, TState>;
17
+ /**
18
+ * Constructs a fluent middleware builder scoped to a single layout branch, with optional explicit State generic.
19
+ */
20
+ <const Layout extends LayoutId, TState = unknown>(layout: Layout): MiddlewareUnitBuilder<unknown, unknown, unknown, {}, Layout, {}, TAppContext, ResolveLayoutMiddlewaresState<Layout>, unknown, unknown, unknown, TState>;
21
+ /**
22
+ * Constructs a fluent middleware builder scoped to multiple layout branches (branch union), with optional explicit State generic.
23
+ */
24
+ <const Layouts extends readonly [LayoutId, ...LayoutId[]], TState = unknown>(layouts: Layouts): MiddlewareUnitBuilder<unknown, unknown, unknown, {}, Layouts, {}, TAppContext, ResolveLayoutsState<Layouts>, unknown, unknown, unknown, TState>;
25
+ /**
26
+ * Defines a standalone middleware scoped to a single layout branch using a short function signature.
27
+ */
28
+ <const Layout extends LayoutId, TState = unknown, TRequires = {}, R = unknown>(layout: Layout, fn: (ctx: StandaloneMiddlewareContext<unknown, unknown, unknown, TAppContext, ResolveLayoutMiddlewaresState<Layout> & TRequires>, next: NextFn<NoInfer<TState>>) => R): DefineMiddlewareResult<unknown, unknown, unknown, IsUnknown<TState> extends true ? ExtractState<R> : TState, R, unknown, unknown, unknown, {}, Layout, TRequires>;
29
+ /**
30
+ * Defines a standalone middleware scoped to multiple layout branches using a short function signature.
31
+ */
32
+ <const Layouts extends readonly [LayoutId, ...LayoutId[]], TState = unknown, TRequires = {}, R = unknown>(layouts: Layouts, fn: (ctx: StandaloneMiddlewareContext<unknown, unknown, unknown, TAppContext, ResolveLayoutsState<Layouts> & TRequires>, next: NextFn<NoInfer<TState>>) => R): DefineMiddlewareResult<unknown, unknown, unknown, IsUnknown<TState> extends true ? ExtractState<R> : TState, R, unknown, unknown, unknown, {}, Layouts, TRequires>;
33
+ /**
34
+ * Defines a standalone, unscoped middleware using a short function signature.
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * const auth = middleware((ctx, next) => {
39
+ * return next({ user: "alice" });
40
+ * });
41
+ * ```
42
+ */
43
+ <TState = unknown, TRequires = {}, R = unknown>(fn: (ctx: StandaloneMiddlewareContext<unknown, unknown, unknown, TAppContext, TRequires>, next: NextFn<NoInfer<TState>>) => R): DefineMiddlewareResult<unknown, unknown, unknown, IsUnknown<TState> extends true ? ExtractState<R> : TState, R, unknown, unknown, unknown, {}, null, TRequires>;
34
44
  }
35
- export declare const defineMiddleware: DefineMiddlewareFn<AppContext>;
45
+ export declare const middleware: MiddlewareFn<AppContext>;
@@ -1,9 +1,9 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_handler = require("./define/handler.cjs");
3
- const require_middleware = require("./define/middleware.cjs");
2
+ const require_standalone = require("./builder/standalone.cjs");
4
3
  const require_app = require("./builder/app.cjs");
5
4
  const require_router = require("./builder/router.cjs");
6
5
  const require_create_context = require("./context/create-context.cjs");
6
+ const require_hono_mw = require("./middleware/hono-mw.cjs");
7
7
  let _taserjs_router_utils = require("@taserjs/router-utils");
8
8
  exports.TaserApp = require_app.TaserApp;
9
9
  exports.TaserRouter = require_router.TaserRouter;
@@ -13,10 +13,21 @@ Object.defineProperty(exports, "ValidationError", {
13
13
  return _taserjs_router_utils.ValidationError;
14
14
  }
15
15
  });
16
+ exports.all = require_standalone.all;
17
+ exports.any = require_standalone.any;
16
18
  exports.createContext = require_create_context.createContext;
17
19
  exports.createTaserApp = require_router.createTaserApp;
18
- exports.defineHandler = require_handler.defineHandler;
19
- exports.defineMiddleware = require_middleware.defineMiddleware;
20
+ exports.del = require_standalone.del;
21
+ exports.get = require_standalone.get;
22
+ exports.head = require_standalone.head;
23
+ exports.honoMw = require_hono_mw.honoMw;
24
+ exports.layout = require_standalone.layout;
25
+ exports.middleware = require_standalone.middleware;
26
+ exports.options = require_standalone.options;
27
+ exports.patch = require_standalone.patch;
28
+ exports.post = require_standalone.post;
29
+ exports.put = require_standalone.put;
30
+ exports.t = require_standalone.t;
20
31
  Object.defineProperty(exports, "validationErrorSchema", {
21
32
  enumerable: true,
22
33
  get: function() {
@@ -1,11 +1,13 @@
1
- export type { RouterRegister } from './register.js';
2
- export type { HttpMethod, InferInput, InferOutput, InferRouteContext, InferRouteInput, InferRouteOutput, Method, MiddlewareDefinition, PathParams, ReturnsMap, RouteDefinition, RouteExport, RoutePath, Schema, Simplify, StatusCode, } from './types/index.js';
1
+ export interface RouterRegister {
2
+ }
3
+ export type { AppContext, EmptyAppContext, HttpMethod, InferInput, InferOutput, InferRouteContext, InferRouteInput, InferRouteInputFromPath, InferRouteOutput, LayoutBuilder, LayoutId, LayoutTree, Method, MiddlewareBuilder, MiddlewareDefinition, MiddlewareUnit, MiddlewareUnitBuilder, PathParams, ReturnsMap, RouteByPathMethod, RouteDefinition, RouteExport, RoutePath, Schema, Simplify, StatusCode, } from './types/index.js';
3
4
  export type { ContextDefinition, CreateTaserAppOptions, InferAppContext, InferAppManifest, OnErrorOptions, RouteManifestShape, } from './types/app.js';
4
5
  export { ValidationError, validationErrorSchema } from '@taserjs/router-utils';
5
6
  export type { ResponseValidationFailureHandler, SuccessStatusCode } from '@taserjs/router-utils';
7
+ export { all, any, del, get, head, layout, middleware, options, patch, post, put, t, type TaserNamespace, } from './builder/standalone.js';
6
8
  export { createTaserApp, TaserRouter } from './builder/router.js';
7
9
  export { TaserApp } from './builder/app.js';
8
10
  export { createContext } from './context/create-context.js';
9
- export { defineHandler } from './define/handler.js';
10
- export { defineMiddleware } from './define/middleware.js';
11
+ export { honoMw } from './middleware/hono-mw.js';
12
+ export type { MiddlewareFn } from './define/middleware.js';
11
13
  export type { TaserCookieJar, TaserHeaders } from '@taserjs/router-core';
@@ -1,10 +1,10 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_wrap_hono = require("./wrap-hono.cjs");
2
+ const require_middleware = require("../define/middleware.cjs");
3
+ const require_hono_mw = require("./hono-mw.cjs");
3
4
  let hono_body_limit = require("hono/body-limit");
4
5
  //#region src/middleware/body-limit.ts
5
- var wrapped = require_wrap_hono.wrapHonoMiddleware(hono_body_limit.bodyLimit);
6
6
  function bodyLimit(...args) {
7
- return wrapped(...args);
7
+ return require_middleware.middleware(require_hono_mw.honoMw((0, hono_body_limit.bodyLimit)(...args)));
8
8
  }
9
9
  //#endregion
10
10
  exports.bodyLimit = bodyLimit;
@@ -1 +1 @@
1
- {"version":3,"file":"body-limit.cjs","names":[],"sources":["../../../src/middleware/body-limit.ts"],"sourcesContent":["import { bodyLimit as honoBodyLimit } from \"hono/body-limit\";\n\nimport { wrapHonoMiddleware } from \"./wrap-hono.js\";\n\nconst wrapped = wrapHonoMiddleware(honoBodyLimit);\n\nexport function bodyLimit(...args: Parameters<typeof honoBodyLimit>) {\n return wrapped(...args);\n}\n\nexport type BodyLimitOptions = Parameters<typeof honoBodyLimit>[0];\n"],"mappings":";;;;AAIA,IAAM,UAAU,kBAAA,mBAAmB,gBAAA,SAAa;AAEhD,SAAgB,UAAU,GAAG,MAAwC;CACnE,OAAO,QAAQ,GAAG,IAAI;AACxB"}
1
+ {"version":3,"file":"body-limit.cjs","names":[],"sources":["../../../src/middleware/body-limit.ts"],"sourcesContent":["import { bodyLimit as honoBodyLimit } from \"hono/body-limit\";\n\nimport { middleware } from \"../define/middleware.js\";\nimport { honoMw } from \"./hono-mw.js\";\n\nexport function bodyLimit(...args: Parameters<typeof honoBodyLimit>) {\n return middleware(honoMw(honoBodyLimit(...args)));\n}\n\nexport type BodyLimitOptions = Parameters<typeof honoBodyLimit>[0];\n"],"mappings":";;;;;AAKA,SAAgB,UAAU,GAAG,MAAwC;CACnE,OAAO,mBAAA,WAAW,gBAAA,QAAA,GAAA,gBAAA,UAAA,CAAqB,GAAG,IAAI,CAAC,CAAC;AAClD"}
@@ -1,3 +1,3 @@
1
1
  import { bodyLimit as honoBodyLimit } from 'hono/body-limit';
2
- export declare function bodyLimit(...args: Parameters<typeof honoBodyLimit>): import('../types/units.js').MiddlewareUnit<import('../types/units.js').MiddlewareReturnFromParts<unknown, unknown, unknown, {}>>;
2
+ export declare function bodyLimit(...args: Parameters<typeof honoBodyLimit>): import('../types/units.js').DefineMiddlewareResult<unknown, unknown, unknown, {}, Promise<Response>, unknown, unknown, unknown, {}, null, {}>;
3
3
  export type BodyLimitOptions = Parameters<typeof honoBodyLimit>[0];
@@ -1,10 +1,10 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_wrap_hono = require("./wrap-hono.cjs");
2
+ const require_middleware = require("../define/middleware.cjs");
3
+ const require_hono_mw = require("./hono-mw.cjs");
3
4
  let hono_compress = require("hono/compress");
4
5
  //#region src/middleware/compress.ts
5
- var wrapped = require_wrap_hono.wrapHonoMiddleware(hono_compress.compress);
6
6
  function compress(...args) {
7
- return wrapped(...args);
7
+ return require_middleware.middleware(require_hono_mw.honoMw((0, hono_compress.compress)(...args)));
8
8
  }
9
9
  //#endregion
10
10
  exports.compress = compress;
@@ -1 +1 @@
1
- {"version":3,"file":"compress.cjs","names":[],"sources":["../../../src/middleware/compress.ts"],"sourcesContent":["import { compress as honoCompress } from \"hono/compress\";\n\nimport { wrapHonoMiddleware } from \"./wrap-hono.js\";\n\nconst wrapped = wrapHonoMiddleware(honoCompress);\n\nexport function compress(...args: Parameters<typeof honoCompress>) {\n return wrapped(...args);\n}\n\nexport type CompressOptions = NonNullable<Parameters<typeof honoCompress>[0]>;\n"],"mappings":";;;;AAIA,IAAM,UAAU,kBAAA,mBAAmB,cAAA,QAAY;AAE/C,SAAgB,SAAS,GAAG,MAAuC;CACjE,OAAO,QAAQ,GAAG,IAAI;AACxB"}
1
+ {"version":3,"file":"compress.cjs","names":[],"sources":["../../../src/middleware/compress.ts"],"sourcesContent":["import { compress as honoCompress } from \"hono/compress\";\n\nimport { middleware } from \"../define/middleware.js\";\nimport { honoMw } from \"./hono-mw.js\";\n\nexport function compress(...args: Parameters<typeof honoCompress>) {\n return middleware(honoMw(honoCompress(...args)));\n}\n\nexport type CompressOptions = NonNullable<Parameters<typeof honoCompress>[0]>;\n"],"mappings":";;;;;AAKA,SAAgB,SAAS,GAAG,MAAuC;CACjE,OAAO,mBAAA,WAAW,gBAAA,QAAA,GAAA,cAAA,SAAA,CAAoB,GAAG,IAAI,CAAC,CAAC;AACjD"}
@@ -1,3 +1,3 @@
1
1
  import { compress as honoCompress } from 'hono/compress';
2
- export declare function compress(...args: Parameters<typeof honoCompress>): import('../types/units.js').MiddlewareUnit<import('../types/units.js').MiddlewareReturnFromParts<unknown, unknown, unknown, {}>>;
2
+ export declare function compress(...args: Parameters<typeof honoCompress>): import('../types/units.js').DefineMiddlewareResult<unknown, unknown, unknown, {}, Promise<Response>, unknown, unknown, unknown, {}, null, {}>;
3
3
  export type CompressOptions = NonNullable<Parameters<typeof honoCompress>[0]>;
@@ -1,10 +1,10 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_wrap_hono = require("./wrap-hono.cjs");
2
+ const require_middleware = require("../define/middleware.cjs");
3
+ const require_hono_mw = require("./hono-mw.cjs");
3
4
  let hono_cors = require("hono/cors");
4
5
  //#region src/middleware/cors.ts
5
- var wrapped = require_wrap_hono.wrapHonoMiddleware(hono_cors.cors);
6
6
  function cors(...args) {
7
- return wrapped(...args);
7
+ return require_middleware.middleware(require_hono_mw.honoMw((0, hono_cors.cors)(...args)));
8
8
  }
9
9
  //#endregion
10
10
  exports.cors = cors;
@@ -1 +1 @@
1
- {"version":3,"file":"cors.cjs","names":[],"sources":["../../../src/middleware/cors.ts"],"sourcesContent":["import { cors as honoCors } from \"hono/cors\";\n\nimport { wrapHonoMiddleware } from \"./wrap-hono.js\";\n\nconst wrapped = wrapHonoMiddleware(honoCors);\n\nexport function cors(...args: Parameters<typeof honoCors>) {\n return wrapped(...args);\n}\n\nexport type CorsOptions = NonNullable<Parameters<typeof honoCors>[0]>;\n"],"mappings":";;;;AAIA,IAAM,UAAU,kBAAA,mBAAmB,UAAA,IAAQ;AAE3C,SAAgB,KAAK,GAAG,MAAmC;CACzD,OAAO,QAAQ,GAAG,IAAI;AACxB"}
1
+ {"version":3,"file":"cors.cjs","names":[],"sources":["../../../src/middleware/cors.ts"],"sourcesContent":["import { cors as honoCors } from \"hono/cors\";\n\nimport { middleware } from \"../define/middleware.js\";\nimport { honoMw } from \"./hono-mw.js\";\n\nexport function cors(...args: Parameters<typeof honoCors>) {\n return middleware(honoMw(honoCors(...args)));\n}\n\nexport type CorsOptions = NonNullable<Parameters<typeof honoCors>[0]>;\n"],"mappings":";;;;;AAKA,SAAgB,KAAK,GAAG,MAAmC;CACzD,OAAO,mBAAA,WAAW,gBAAA,QAAA,GAAA,UAAA,KAAA,CAAgB,GAAG,IAAI,CAAC,CAAC;AAC7C"}
@@ -1,3 +1,3 @@
1
1
  import { cors as honoCors } from 'hono/cors';
2
- export declare function cors(...args: Parameters<typeof honoCors>): import('../types/units.js').MiddlewareUnit<import('../types/units.js').MiddlewareReturnFromParts<unknown, unknown, unknown, {}>>;
2
+ export declare function cors(...args: Parameters<typeof honoCors>): import('../types/units.js').DefineMiddlewareResult<unknown, unknown, unknown, {}, Promise<Response>, unknown, unknown, unknown, {}, null, {}>;
3
3
  export type CorsOptions = NonNullable<Parameters<typeof honoCors>[0]>;
@@ -1,10 +1,10 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_wrap_hono = require("./wrap-hono.cjs");
2
+ const require_middleware = require("../define/middleware.cjs");
3
+ const require_hono_mw = require("./hono-mw.cjs");
3
4
  let hono_csrf = require("hono/csrf");
4
5
  //#region src/middleware/csrf.ts
5
- var wrapped = require_wrap_hono.wrapHonoMiddleware(hono_csrf.csrf);
6
6
  function csrf(...args) {
7
- return wrapped(...args);
7
+ return require_middleware.middleware(require_hono_mw.honoMw((0, hono_csrf.csrf)(...args)));
8
8
  }
9
9
  //#endregion
10
10
  exports.csrf = csrf;
@@ -1 +1 @@
1
- {"version":3,"file":"csrf.cjs","names":[],"sources":["../../../src/middleware/csrf.ts"],"sourcesContent":["import { csrf as honoCsrf } from \"hono/csrf\";\n\nimport { wrapHonoMiddleware } from \"./wrap-hono.js\";\n\nconst wrapped = wrapHonoMiddleware(honoCsrf);\n\nexport function csrf(...args: Parameters<typeof honoCsrf>) {\n return wrapped(...args);\n}\n\nexport type CsrfOptions = NonNullable<Parameters<typeof honoCsrf>[0]>;\n"],"mappings":";;;;AAIA,IAAM,UAAU,kBAAA,mBAAmB,UAAA,IAAQ;AAE3C,SAAgB,KAAK,GAAG,MAAmC;CACzD,OAAO,QAAQ,GAAG,IAAI;AACxB"}
1
+ {"version":3,"file":"csrf.cjs","names":[],"sources":["../../../src/middleware/csrf.ts"],"sourcesContent":["import { csrf as honoCsrf } from \"hono/csrf\";\n\nimport { middleware } from \"../define/middleware.js\";\nimport { honoMw } from \"./hono-mw.js\";\n\nexport function csrf(...args: Parameters<typeof honoCsrf>) {\n return middleware(honoMw(honoCsrf(...args)));\n}\n\nexport type CsrfOptions = NonNullable<Parameters<typeof honoCsrf>[0]>;\n"],"mappings":";;;;;AAKA,SAAgB,KAAK,GAAG,MAAmC;CACzD,OAAO,mBAAA,WAAW,gBAAA,QAAA,GAAA,UAAA,KAAA,CAAgB,GAAG,IAAI,CAAC,CAAC;AAC7C"}
@@ -1,3 +1,3 @@
1
1
  import { csrf as honoCsrf } from 'hono/csrf';
2
- export declare function csrf(...args: Parameters<typeof honoCsrf>): import('../types/units.js').MiddlewareUnit<import('../types/units.js').MiddlewareReturnFromParts<unknown, unknown, unknown, {}>>;
2
+ export declare function csrf(...args: Parameters<typeof honoCsrf>): import('../types/units.js').DefineMiddlewareResult<unknown, unknown, unknown, {}, Promise<Response>, unknown, unknown, unknown, {}, null, {}>;
3
3
  export type CsrfOptions = NonNullable<Parameters<typeof honoCsrf>[0]>;
@@ -1,10 +1,10 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_wrap_hono = require("./wrap-hono.cjs");
2
+ const require_middleware = require("../define/middleware.cjs");
3
+ const require_hono_mw = require("./hono-mw.cjs");
3
4
  let hono_etag = require("hono/etag");
4
5
  //#region src/middleware/etag.ts
5
- var wrapped = require_wrap_hono.wrapHonoMiddleware(hono_etag.etag);
6
6
  function etag(...args) {
7
- return wrapped(...args);
7
+ return require_middleware.middleware(require_hono_mw.honoMw((0, hono_etag.etag)(...args)));
8
8
  }
9
9
  //#endregion
10
10
  exports.etag = etag;
@@ -1 +1 @@
1
- {"version":3,"file":"etag.cjs","names":[],"sources":["../../../src/middleware/etag.ts"],"sourcesContent":["import { etag as honoEtag } from \"hono/etag\";\n\nimport { wrapHonoMiddleware } from \"./wrap-hono.js\";\n\nconst wrapped = wrapHonoMiddleware(honoEtag);\n\nexport function etag(...args: Parameters<typeof honoEtag>) {\n return wrapped(...args);\n}\n\nexport type EtagOptions = NonNullable<Parameters<typeof honoEtag>[0]>;\n"],"mappings":";;;;AAIA,IAAM,UAAU,kBAAA,mBAAmB,UAAA,IAAQ;AAE3C,SAAgB,KAAK,GAAG,MAAmC;CACzD,OAAO,QAAQ,GAAG,IAAI;AACxB"}
1
+ {"version":3,"file":"etag.cjs","names":[],"sources":["../../../src/middleware/etag.ts"],"sourcesContent":["import { etag as honoEtag } from \"hono/etag\";\n\nimport { middleware } from \"../define/middleware.js\";\nimport { honoMw } from \"./hono-mw.js\";\n\nexport function etag(...args: Parameters<typeof honoEtag>) {\n return middleware(honoMw(honoEtag(...args)));\n}\n\nexport type EtagOptions = NonNullable<Parameters<typeof honoEtag>[0]>;\n"],"mappings":";;;;;AAKA,SAAgB,KAAK,GAAG,MAAmC;CACzD,OAAO,mBAAA,WAAW,gBAAA,QAAA,GAAA,UAAA,KAAA,CAAgB,GAAG,IAAI,CAAC,CAAC;AAC7C"}
@@ -1,3 +1,3 @@
1
1
  import { etag as honoEtag } from 'hono/etag';
2
- export declare function etag(...args: Parameters<typeof honoEtag>): import('../types/units.js').MiddlewareUnit<import('../types/units.js').MiddlewareReturnFromParts<unknown, unknown, unknown, {}>>;
2
+ export declare function etag(...args: Parameters<typeof honoEtag>): import('../types/units.js').DefineMiddlewareResult<unknown, unknown, unknown, {}, Promise<Response>, unknown, unknown, unknown, {}, null, {}>;
3
3
  export type EtagOptions = NonNullable<Parameters<typeof honoEtag>[0]>;
@@ -0,0 +1,23 @@
1
+ let _taserjs_router_core = require("@taserjs/router-core");
2
+ //#region src/middleware/hono-mw.ts
3
+ /**
4
+ * Adapts a standard Web / Hono-compatible middleware function `(c, next) => ...`
5
+ * into a Taser-compatible middleware handler function `(ctx, next) => Promise<Response>`.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import { honoMw } from "@taserjs/router";
10
+ * import { cors } from "hono/cors";
11
+ *
12
+ * const app = t.get("/hello").use(honoMw(cors()));
13
+ * // or
14
+ * const customCors = middleware(honoMw(cors()));
15
+ * ```
16
+ */
17
+ function honoMw(middleware) {
18
+ return (0, _taserjs_router_core.createTaserCompatHandler)(middleware);
19
+ }
20
+ //#endregion
21
+ exports.honoMw = honoMw;
22
+
23
+ //# sourceMappingURL=hono-mw.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hono-mw.cjs","names":[],"sources":["../../../src/middleware/hono-mw.ts"],"sourcesContent":["import { createTaserCompatHandler } from \"@taserjs/router-core\";\nimport type { MiddlewareHandler } from \"hono\";\n\n/**\n * Adapts a standard Web / Hono-compatible middleware function `(c, next) => ...`\n * into a Taser-compatible middleware handler function `(ctx, next) => Promise<Response>`.\n *\n * @example\n * ```ts\n * import { honoMw } from \"@taserjs/router\";\n * import { cors } from \"hono/cors\";\n *\n * const app = t.get(\"/hello\").use(honoMw(cors()));\n * // or\n * const customCors = middleware(honoMw(cors()));\n * ```\n */\nexport function honoMw(\n middleware: MiddlewareHandler,\n): (ctx: unknown, next: any) => Promise<Response> {\n return createTaserCompatHandler(middleware) as (ctx: unknown, next: any) => Promise<Response>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAiBA,SAAgB,OACd,YACgD;CAChD,QAAA,GAAA,qBAAA,yBAAA,CAAgC,UAAU;AAC5C"}
@@ -0,0 +1,16 @@
1
+ import { MiddlewareHandler } from 'hono';
2
+ /**
3
+ * Adapts a standard Web / Hono-compatible middleware function `(c, next) => ...`
4
+ * into a Taser-compatible middleware handler function `(ctx, next) => Promise<Response>`.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * import { honoMw } from "@taserjs/router";
9
+ * import { cors } from "hono/cors";
10
+ *
11
+ * const app = t.get("/hello").use(honoMw(cors()));
12
+ * // or
13
+ * const customCors = middleware(honoMw(cors()));
14
+ * ```
15
+ */
16
+ export declare function honoMw(middleware: MiddlewareHandler): (ctx: unknown, next: any) => Promise<Response>;
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_middleware = require("../define/middleware.cjs");
3
- const require_wrap_hono = require("./wrap-hono.cjs");
3
+ const require_hono_mw = require("./hono-mw.cjs");
4
4
  let hono_jwk = require("hono/jwk");
5
5
  //#region src/middleware/jwk.ts
6
6
  function assertJwksScheme(jwksUri, allowInsecure) {
@@ -18,7 +18,11 @@ function jwk(options, init) {
18
18
  const jwksUri = options.jwks_uri;
19
19
  if (typeof jwksUri === "string") assertJwksScheme(jwksUri, options.allowInsecure ?? false);
20
20
  const { allowInsecure: _allowInsecure, ...honoOptions } = options;
21
- return require_middleware.defineMiddleware({ handler: require_wrap_hono.extractJwtPayload((0, hono_jwk.jwk)(honoOptions, init?.headers !== void 0 ? { headers: init.headers } : void 0)) });
21
+ const mw = require_hono_mw.honoMw((0, hono_jwk.jwk)(honoOptions, init?.headers !== void 0 ? { headers: init.headers } : void 0));
22
+ return require_middleware.middleware((ctx, next) => mw(ctx, async () => {
23
+ const payload = ctx.var.jwtPayload;
24
+ return next({ jwtPayload: payload });
25
+ }));
22
26
  }
23
27
  //#endregion
24
28
  exports.jwk = jwk;
@@ -1 +1 @@
1
- {"version":3,"file":"jwk.cjs","names":[],"sources":["../../../src/middleware/jwk.ts"],"sourcesContent":["import type { MiddlewareHandler } from \"hono\";\nimport { jwk as honoJwk } from \"hono/jwk\";\n\nimport { defineMiddleware } from \"../define/middleware.js\";\nimport type { JwtMiddlewareUnit, JwtPayloadState } from \"./jwt.js\";\nimport { extractJwtPayload } from \"./wrap-hono.js\";\n\nexport type JwkOptions = Parameters<typeof honoJwk>[0];\n\nexport type JwkRequestInit = Pick<RequestInit, \"headers\">;\n\nexport type JwkMiddlewareOptions = JwkOptions & {\n /** Allow `http://` JWKS URLs (local dev). Default false — requires `https://`. */\n allowInsecure?: boolean;\n};\n\nfunction assertJwksScheme(jwksUri: string, allowInsecure: boolean): void {\n const scheme = new URL(jwksUri).protocol.replace(\":\", \"\");\n if (scheme === \"https\") {\n return;\n }\n if (scheme === \"http\" && allowInsecure) {\n return;\n }\n throw new Error(`JWKS URL must use https:// (or http:// with allowInsecure: true): \"${jwksUri}\"`);\n}\n\n/**\n * JWK auth middleware. Invalid or missing tokens return **401** (Hono).\n * Successfully decoded payload is placed in `ctx.state.jwtPayload`.\n * Static `jwks_uri` must use HTTPS unless `allowInsecure: true`.\n */\nexport function jwk<TPayload = Record<string, unknown>>(\n options: JwkMiddlewareOptions,\n init?: JwkRequestInit,\n): JwtMiddlewareUnit<TPayload> {\n const jwksUri = options.jwks_uri;\n if (typeof jwksUri === \"string\") {\n assertJwksScheme(jwksUri, options.allowInsecure ?? false);\n }\n\n const { allowInsecure: _allowInsecure, ...honoOptions } = options;\n const safeInit = init?.headers !== undefined ? { headers: init.headers } : undefined;\n const honoMw: MiddlewareHandler = honoJwk(honoOptions, safeInit);\n\n return defineMiddleware<JwtPayloadState<TPayload>>({\n handler: extractJwtPayload<TPayload>(honoMw),\n });\n}\n"],"mappings":";;;;;AAgBA,SAAS,iBAAiB,SAAiB,eAA8B;CACvE,MAAM,SAAS,IAAI,IAAI,OAAO,CAAC,CAAC,SAAS,QAAQ,KAAK,EAAE;CACxD,IAAI,WAAW,SACb;CAEF,IAAI,WAAW,UAAU,eACvB;CAEF,MAAM,IAAI,MAAM,sEAAsE,QAAQ,EAAE;AAClG;;;;;;AAOA,SAAgB,IACd,SACA,MAC6B;CAC7B,MAAM,UAAU,QAAQ;CACxB,IAAI,OAAO,YAAY,UACrB,iBAAiB,SAAS,QAAQ,iBAAiB,KAAK;CAG1D,MAAM,EAAE,eAAe,gBAAgB,GAAG,gBAAgB;CAI1D,OAAO,mBAAA,iBAA4C,EACjD,SAAS,kBAAA,mBAAA,GAAA,SAAA,IAAA,CAH+B,aADzB,MAAM,YAAY,KAAA,IAAY,EAAE,SAAS,KAAK,QAAQ,IAAI,KAAA,CAIpC,CAAM,EAC7C,CAAC;AACH"}
1
+ {"version":3,"file":"jwk.cjs","names":[],"sources":["../../../src/middleware/jwk.ts"],"sourcesContent":["import { jwk as honoJwk } from \"hono/jwk\";\n\nimport { middleware } from \"../define/middleware.js\";\nimport { honoMw } from \"./hono-mw.js\";\nimport type { JwtMiddlewareUnit, JwtPayloadState } from \"./jwt.js\";\n\nexport type JwkOptions = Parameters<typeof honoJwk>[0];\n\nexport type JwkRequestInit = Pick<RequestInit, \"headers\">;\n\nexport type JwkMiddlewareOptions = JwkOptions & {\n /** Allow `http://` JWKS URLs (local dev). Default false — requires `https://`. */\n allowInsecure?: boolean;\n};\n\nfunction assertJwksScheme(jwksUri: string, allowInsecure: boolean): void {\n const scheme = new URL(jwksUri).protocol.replace(\":\", \"\");\n if (scheme === \"https\") {\n return;\n }\n if (scheme === \"http\" && allowInsecure) {\n return;\n }\n throw new Error(`JWKS URL must use https:// (or http:// with allowInsecure: true): \"${jwksUri}\"`);\n}\n\n/**\n * JWK auth middleware. Invalid or missing tokens return **401** (Hono).\n * Successfully decoded payload is placed in `ctx.state.jwtPayload`.\n * Static `jwks_uri` must use HTTPS unless `allowInsecure: true`.\n */\nexport function jwk<TPayload = Record<string, unknown>>(\n options: JwkMiddlewareOptions,\n init?: JwkRequestInit,\n): JwtMiddlewareUnit<TPayload> {\n const jwksUri = options.jwks_uri;\n if (typeof jwksUri === \"string\") {\n assertJwksScheme(jwksUri, options.allowInsecure ?? false);\n }\n\n const { allowInsecure: _allowInsecure, ...honoOptions } = options;\n const safeInit = init?.headers !== undefined ? { headers: init.headers } : undefined;\n const mw = honoMw(honoJwk(honoOptions, safeInit));\n\n return middleware<JwtPayloadState<TPayload>>((ctx, next) =>\n mw(ctx, async () => {\n const payload = (ctx as unknown as { var: { jwtPayload?: unknown } }).var.jwtPayload;\n return next({ jwtPayload: payload as TPayload });\n }),\n );\n}\n"],"mappings":";;;;;AAeA,SAAS,iBAAiB,SAAiB,eAA8B;CACvE,MAAM,SAAS,IAAI,IAAI,OAAO,CAAC,CAAC,SAAS,QAAQ,KAAK,EAAE;CACxD,IAAI,WAAW,SACb;CAEF,IAAI,WAAW,UAAU,eACvB;CAEF,MAAM,IAAI,MAAM,sEAAsE,QAAQ,EAAE;AAClG;;;;;;AAOA,SAAgB,IACd,SACA,MAC6B;CAC7B,MAAM,UAAU,QAAQ;CACxB,IAAI,OAAO,YAAY,UACrB,iBAAiB,SAAS,QAAQ,iBAAiB,KAAK;CAG1D,MAAM,EAAE,eAAe,gBAAgB,GAAG,gBAAgB;CAE1D,MAAM,KAAK,gBAAA,QAAA,GAAA,SAAA,IAAA,CAAe,aADT,MAAM,YAAY,KAAA,IAAY,EAAE,SAAS,KAAK,QAAQ,IAAI,KAAA,CAC5B,CAAC;CAEhD,OAAO,mBAAA,YAAuC,KAAK,SACjD,GAAG,KAAK,YAAY;EAClB,MAAM,UAAW,IAAqD,IAAI;EAC1E,OAAO,KAAK,EAAE,YAAY,QAAoB,CAAC;CACjD,CAAC,CACH;AACF"}
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_middleware = require("../define/middleware.cjs");
3
- const require_wrap_hono = require("./wrap-hono.cjs");
3
+ const require_hono_mw = require("./hono-mw.cjs");
4
4
  let hono_jwt = require("hono/jwt");
5
5
  //#region src/middleware/jwt.ts
6
6
  /**
@@ -8,7 +8,11 @@ let hono_jwt = require("hono/jwt");
8
8
  * Successfully decoded payload is placed in `ctx.state.jwtPayload`.
9
9
  */
10
10
  function jwt(options) {
11
- return require_middleware.defineMiddleware({ handler: require_wrap_hono.extractJwtPayload((0, hono_jwt.jwt)(options)) });
11
+ const mw = require_hono_mw.honoMw((0, hono_jwt.jwt)(options));
12
+ return require_middleware.middleware((ctx, next) => mw(ctx, async () => {
13
+ const payload = ctx.var.jwtPayload;
14
+ return next({ jwtPayload: payload });
15
+ }));
12
16
  }
13
17
  //#endregion
14
18
  exports.jwt = jwt;
@@ -1 +1 @@
1
- {"version":3,"file":"jwt.cjs","names":[],"sources":["../../../src/middleware/jwt.ts"],"sourcesContent":["import type { MiddlewareHandler } from \"hono\";\nimport { jwt as honoJwt } from \"hono/jwt\";\n\nimport { defineMiddleware } from \"../define/middleware.js\";\nimport type { MiddlewareReturnFromParts, MiddlewareUnit } from \"../types/units.js\";\nimport { extractJwtPayload } from \"./wrap-hono.js\";\n\nexport type JwtPayloadState<TPayload> = {\n jwtPayload: TPayload;\n};\n\nexport type JwtMiddlewareUnit<TPayload> = MiddlewareUnit<\n MiddlewareReturnFromParts<unknown, unknown, unknown, JwtPayloadState<TPayload>>\n>;\n\nexport type JwtOptions = Parameters<typeof honoJwt>[0];\n\n/**\n * JWT auth middleware. Invalid or missing tokens return **401** (Hono).\n * Successfully decoded payload is placed in `ctx.state.jwtPayload`.\n */\nexport function jwt<TPayload = Record<string, unknown>>(\n options: JwtOptions,\n): JwtMiddlewareUnit<TPayload> {\n const honoMw: MiddlewareHandler = honoJwt(options);\n return defineMiddleware<JwtPayloadState<TPayload>>({\n handler: extractJwtPayload<TPayload>(honoMw),\n });\n}\n"],"mappings":";;;;;;;;;AAqBA,SAAgB,IACd,SAC6B;CAE7B,OAAO,mBAAA,iBAA4C,EACjD,SAAS,kBAAA,mBAAA,GAAA,SAAA,IAAA,CAF+B,OAEH,CAAM,EAC7C,CAAC;AACH"}
1
+ {"version":3,"file":"jwt.cjs","names":[],"sources":["../../../src/middleware/jwt.ts"],"sourcesContent":["import { jwt as honoJwt } from \"hono/jwt\";\n\nimport { middleware } from \"../define/middleware.js\";\nimport type { MiddlewareReturnFromParts, MiddlewareUnit } from \"../types/units.js\";\nimport { honoMw } from \"./hono-mw.js\";\n\nexport type JwtPayloadState<TPayload> = {\n jwtPayload: TPayload;\n};\n\nexport type JwtMiddlewareUnit<TPayload> = MiddlewareUnit<\n MiddlewareReturnFromParts<unknown, unknown, unknown, JwtPayloadState<TPayload>>\n>;\n\nexport type JwtOptions = Parameters<typeof honoJwt>[0];\n\n/**\n * JWT auth middleware. Invalid or missing tokens return **401** (Hono).\n * Successfully decoded payload is placed in `ctx.state.jwtPayload`.\n */\nexport function jwt<TPayload = Record<string, unknown>>(\n options: JwtOptions,\n): JwtMiddlewareUnit<TPayload> {\n const mw = honoMw(honoJwt(options));\n return middleware<JwtPayloadState<TPayload>>((ctx, next) =>\n mw(ctx, async () => {\n const payload = (ctx as unknown as { var: { jwtPayload?: unknown } }).var.jwtPayload;\n return next({ jwtPayload: payload as TPayload });\n }),\n );\n}\n"],"mappings":";;;;;;;;;AAoBA,SAAgB,IACd,SAC6B;CAC7B,MAAM,KAAK,gBAAA,QAAA,GAAA,SAAA,IAAA,CAAe,OAAO,CAAC;CAClC,OAAO,mBAAA,YAAuC,KAAK,SACjD,GAAG,KAAK,YAAY;EAClB,MAAM,UAAW,IAAqD,IAAI;EAC1E,OAAO,KAAK,EAAE,YAAY,QAAoB,CAAC;CACjD,CAAC,CACH;AACF"}
@@ -1,10 +1,10 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_wrap_hono = require("./wrap-hono.cjs");
2
+ const require_middleware = require("../define/middleware.cjs");
3
+ const require_hono_mw = require("./hono-mw.cjs");
3
4
  let hono_secure_headers = require("hono/secure-headers");
4
5
  //#region src/middleware/secure-headers.ts
5
- var wrapped = require_wrap_hono.wrapHonoMiddleware(hono_secure_headers.secureHeaders);
6
6
  function secureHeaders(...args) {
7
- return wrapped(...args);
7
+ return require_middleware.middleware(require_hono_mw.honoMw((0, hono_secure_headers.secureHeaders)(...args)));
8
8
  }
9
9
  //#endregion
10
10
  exports.secureHeaders = secureHeaders;
@@ -1 +1 @@
1
- {"version":3,"file":"secure-headers.cjs","names":[],"sources":["../../../src/middleware/secure-headers.ts"],"sourcesContent":["import { secureHeaders as honoSecureHeaders } from \"hono/secure-headers\";\n\nimport { wrapHonoMiddleware } from \"./wrap-hono.js\";\n\nconst wrapped = wrapHonoMiddleware(honoSecureHeaders);\n\nexport function secureHeaders(...args: Parameters<typeof honoSecureHeaders>) {\n return wrapped(...args);\n}\n\nexport type SecureHeadersOptions = NonNullable<Parameters<typeof honoSecureHeaders>[0]>;\n"],"mappings":";;;;AAIA,IAAM,UAAU,kBAAA,mBAAmB,oBAAA,aAAiB;AAEpD,SAAgB,cAAc,GAAG,MAA4C;CAC3E,OAAO,QAAQ,GAAG,IAAI;AACxB"}
1
+ {"version":3,"file":"secure-headers.cjs","names":[],"sources":["../../../src/middleware/secure-headers.ts"],"sourcesContent":["import { secureHeaders as honoSecureHeaders } from \"hono/secure-headers\";\n\nimport { middleware } from \"../define/middleware.js\";\nimport { honoMw } from \"./hono-mw.js\";\n\nexport function secureHeaders(...args: Parameters<typeof honoSecureHeaders>) {\n return middleware(honoMw(honoSecureHeaders(...args)));\n}\n\nexport type SecureHeadersOptions = NonNullable<Parameters<typeof honoSecureHeaders>[0]>;\n"],"mappings":";;;;;AAKA,SAAgB,cAAc,GAAG,MAA4C;CAC3E,OAAO,mBAAA,WAAW,gBAAA,QAAA,GAAA,oBAAA,cAAA,CAAyB,GAAG,IAAI,CAAC,CAAC;AACtD"}
@@ -1,3 +1,3 @@
1
1
  import { secureHeaders as honoSecureHeaders } from 'hono/secure-headers';
2
- export declare function secureHeaders(...args: Parameters<typeof honoSecureHeaders>): import('../types/units.js').MiddlewareUnit<import('../types/units.js').MiddlewareReturnFromParts<unknown, unknown, unknown, {}>>;
2
+ export declare function secureHeaders(...args: Parameters<typeof honoSecureHeaders>): import('../types/units.js').DefineMiddlewareResult<unknown, unknown, unknown, {}, Promise<Response>, unknown, unknown, unknown, {}, null, {}>;
3
3
  export type SecureHeadersOptions = NonNullable<Parameters<typeof honoSecureHeaders>[0]>;
@@ -1,10 +1,10 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_wrap_hono = require("./wrap-hono.cjs");
2
+ const require_middleware = require("../define/middleware.cjs");
3
+ const require_hono_mw = require("./hono-mw.cjs");
3
4
  let hono_timing = require("hono/timing");
4
5
  //#region src/middleware/timing.ts
5
- var wrapped = require_wrap_hono.wrapHonoMiddleware(hono_timing.timing);
6
6
  function timing(...args) {
7
- return wrapped(...args);
7
+ return require_middleware.middleware(require_hono_mw.honoMw((0, hono_timing.timing)(...args)));
8
8
  }
9
9
  //#endregion
10
10
  exports.timing = timing;
@@ -1 +1 @@
1
- {"version":3,"file":"timing.cjs","names":[],"sources":["../../../src/middleware/timing.ts"],"sourcesContent":["import { timing as honoTiming } from \"hono/timing\";\n\nimport { wrapHonoMiddleware } from \"./wrap-hono.js\";\n\nconst wrapped = wrapHonoMiddleware(honoTiming);\n\nexport function timing(...args: Parameters<typeof honoTiming>) {\n return wrapped(...args);\n}\n\nexport type TimingOptions = NonNullable<Parameters<typeof honoTiming>[0]>;\n"],"mappings":";;;;AAIA,IAAM,UAAU,kBAAA,mBAAmB,YAAA,MAAU;AAE7C,SAAgB,OAAO,GAAG,MAAqC;CAC7D,OAAO,QAAQ,GAAG,IAAI;AACxB"}
1
+ {"version":3,"file":"timing.cjs","names":[],"sources":["../../../src/middleware/timing.ts"],"sourcesContent":["import { timing as honoTiming } from \"hono/timing\";\n\nimport { middleware } from \"../define/middleware.js\";\nimport { honoMw } from \"./hono-mw.js\";\n\nexport function timing(...args: Parameters<typeof honoTiming>) {\n return middleware(honoMw(honoTiming(...args)));\n}\n\nexport type TimingOptions = NonNullable<Parameters<typeof honoTiming>[0]>;\n"],"mappings":";;;;;AAKA,SAAgB,OAAO,GAAG,MAAqC;CAC7D,OAAO,mBAAA,WAAW,gBAAA,QAAA,GAAA,YAAA,OAAA,CAAkB,GAAG,IAAI,CAAC,CAAC;AAC/C"}
@@ -1,3 +1,3 @@
1
1
  import { timing as honoTiming } from 'hono/timing';
2
- export declare function timing(...args: Parameters<typeof honoTiming>): import('../types/units.js').MiddlewareUnit<import('../types/units.js').MiddlewareReturnFromParts<unknown, unknown, unknown, {}>>;
2
+ export declare function timing(...args: Parameters<typeof honoTiming>): import('../types/units.js').DefineMiddlewareResult<unknown, unknown, unknown, {}, Promise<Response>, unknown, unknown, unknown, {}, null, {}>;
3
3
  export type TimingOptions = NonNullable<Parameters<typeof honoTiming>[0]>;