@taserjs/router 0.0.4 → 0.0.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/dist/cjs/builder/app.cjs +22 -0
  2. package/dist/cjs/builder/app.cjs.map +1 -0
  3. package/dist/cjs/builder/app.d.cts +11 -0
  4. package/dist/cjs/{constants.cjs → builder/constants.cjs} +1 -1
  5. package/dist/cjs/builder/constants.cjs.map +1 -0
  6. package/dist/cjs/{factories.cjs → builder/factories.cjs} +1 -1
  7. package/dist/cjs/builder/factories.cjs.map +1 -0
  8. package/dist/cjs/{factories.d.cts → builder/factories.d.cts} +2 -2
  9. package/dist/cjs/{middleware.cjs → builder/middleware.cjs} +1 -1
  10. package/dist/cjs/builder/middleware.cjs.map +1 -0
  11. package/dist/cjs/{middleware.d.cts → builder/middleware.d.cts} +1 -1
  12. package/dist/cjs/{route.cjs → builder/route.cjs} +19 -33
  13. package/dist/cjs/builder/route.cjs.map +1 -0
  14. package/dist/cjs/{route.d.cts → builder/route.d.cts} +3 -3
  15. package/dist/cjs/{taser-router.cjs → builder/router.cjs} +38 -11
  16. package/dist/cjs/builder/router.cjs.map +1 -0
  17. package/dist/cjs/builder/router.d.cts +48 -0
  18. package/dist/cjs/{create-context.cjs → context/create-context.cjs} +1 -1
  19. package/dist/cjs/context/create-context.cjs.map +1 -0
  20. package/dist/cjs/{create-context.d.cts → context/create-context.d.cts} +2 -2
  21. package/dist/cjs/define/validators.cjs +1 -1
  22. package/dist/cjs/define/validators.cjs.map +1 -1
  23. package/dist/cjs/define/validators.d.cts +1 -1
  24. package/dist/cjs/index.cjs +6 -16
  25. package/dist/cjs/index.d.cts +6 -7
  26. package/dist/cjs/middleware/body-limit.cjs +2 -2
  27. package/dist/cjs/middleware/body-limit.cjs.map +1 -1
  28. package/dist/cjs/middleware/compress.cjs +2 -2
  29. package/dist/cjs/middleware/compress.cjs.map +1 -1
  30. package/dist/cjs/middleware/cors.cjs +2 -2
  31. package/dist/cjs/middleware/cors.cjs.map +1 -1
  32. package/dist/cjs/middleware/csrf.cjs +2 -2
  33. package/dist/cjs/middleware/csrf.cjs.map +1 -1
  34. package/dist/cjs/middleware/etag.cjs +2 -2
  35. package/dist/cjs/middleware/etag.cjs.map +1 -1
  36. package/dist/cjs/middleware/jwk.cjs +2 -8
  37. package/dist/cjs/middleware/jwk.cjs.map +1 -1
  38. package/dist/cjs/middleware/jwt.cjs +2 -8
  39. package/dist/cjs/middleware/jwt.cjs.map +1 -1
  40. package/dist/cjs/middleware/secure-headers.cjs +2 -2
  41. package/dist/cjs/middleware/secure-headers.cjs.map +1 -1
  42. package/dist/cjs/middleware/timing.cjs +2 -2
  43. package/dist/cjs/middleware/timing.cjs.map +1 -1
  44. package/dist/cjs/middleware/wrap-hono.cjs +10 -0
  45. package/dist/cjs/middleware/wrap-hono.cjs.map +1 -1
  46. package/dist/cjs/middleware/wrap-hono.d.cts +4 -0
  47. package/dist/cjs/types/app.d.cts +7 -7
  48. package/dist/cjs/types/index.d.cts +32 -13
  49. package/dist/cjs/types/returns.d.cts +2 -2
  50. package/dist/cjs/types/type-utils.d.cts +1 -2
  51. package/dist/cjs/types/units.cjs.map +1 -1
  52. package/dist/cjs/types/units.d.cts +4 -9
  53. package/dist/esm/builder/app.d.ts +11 -0
  54. package/dist/esm/builder/app.js +22 -0
  55. package/dist/esm/builder/app.js.map +1 -0
  56. package/dist/esm/{constants.js → builder/constants.js} +1 -1
  57. package/dist/esm/builder/constants.js.map +1 -0
  58. package/dist/esm/{factories.d.ts → builder/factories.d.ts} +2 -2
  59. package/dist/esm/{factories.js → builder/factories.js} +1 -1
  60. package/dist/esm/builder/factories.js.map +1 -0
  61. package/dist/esm/{middleware.d.ts → builder/middleware.d.ts} +1 -1
  62. package/dist/esm/{middleware.js → builder/middleware.js} +1 -1
  63. package/dist/esm/builder/middleware.js.map +1 -0
  64. package/dist/esm/{route.d.ts → builder/route.d.ts} +3 -3
  65. package/dist/esm/{route.js → builder/route.js} +19 -33
  66. package/dist/esm/builder/route.js.map +1 -0
  67. package/dist/esm/builder/router.d.ts +48 -0
  68. package/dist/esm/{taser-router.js → builder/router.js} +37 -10
  69. package/dist/esm/builder/router.js.map +1 -0
  70. package/dist/esm/{create-context.d.ts → context/create-context.d.ts} +2 -2
  71. package/dist/esm/{create-context.js → context/create-context.js} +1 -1
  72. package/dist/esm/context/create-context.js.map +1 -0
  73. package/dist/esm/define/validators.d.ts +1 -1
  74. package/dist/esm/define/validators.js +1 -1
  75. package/dist/esm/define/validators.js.map +1 -1
  76. package/dist/esm/index.d.ts +6 -7
  77. package/dist/esm/index.js +5 -6
  78. package/dist/esm/middleware/body-limit.js +2 -2
  79. package/dist/esm/middleware/body-limit.js.map +1 -1
  80. package/dist/esm/middleware/compress.js +2 -2
  81. package/dist/esm/middleware/compress.js.map +1 -1
  82. package/dist/esm/middleware/cors.js +2 -2
  83. package/dist/esm/middleware/cors.js.map +1 -1
  84. package/dist/esm/middleware/csrf.js +2 -2
  85. package/dist/esm/middleware/csrf.js.map +1 -1
  86. package/dist/esm/middleware/etag.js +2 -2
  87. package/dist/esm/middleware/etag.js.map +1 -1
  88. package/dist/esm/middleware/jwk.js +2 -8
  89. package/dist/esm/middleware/jwk.js.map +1 -1
  90. package/dist/esm/middleware/jwt.js +2 -8
  91. package/dist/esm/middleware/jwt.js.map +1 -1
  92. package/dist/esm/middleware/secure-headers.js +2 -2
  93. package/dist/esm/middleware/secure-headers.js.map +1 -1
  94. package/dist/esm/middleware/timing.js +2 -2
  95. package/dist/esm/middleware/timing.js.map +1 -1
  96. package/dist/esm/middleware/wrap-hono.d.ts +4 -0
  97. package/dist/esm/middleware/wrap-hono.js +10 -1
  98. package/dist/esm/middleware/wrap-hono.js.map +1 -1
  99. package/dist/esm/types/app.d.ts +7 -7
  100. package/dist/esm/types/index.d.ts +32 -13
  101. package/dist/esm/types/returns.d.ts +2 -2
  102. package/dist/esm/types/type-utils.d.ts +1 -2
  103. package/dist/esm/types/units.d.ts +4 -9
  104. package/dist/esm/types/units.js.map +1 -1
  105. package/package.json +3 -3
  106. package/src/builder/app.ts +28 -0
  107. package/src/{factories.ts → builder/factories.ts} +2 -2
  108. package/src/{middleware.ts → builder/middleware.ts} +2 -2
  109. package/src/{route.ts → builder/route.ts} +30 -34
  110. package/src/builder/router.ts +347 -0
  111. package/src/{create-context.ts → context/create-context.ts} +2 -2
  112. package/src/define/validators.ts +1 -1
  113. package/src/index.ts +9 -12
  114. package/src/middleware/body-limit.ts +2 -2
  115. package/src/middleware/compress.ts +2 -2
  116. package/src/middleware/cors.ts +2 -2
  117. package/src/middleware/csrf.ts +2 -2
  118. package/src/middleware/etag.ts +2 -2
  119. package/src/middleware/jwk.ts +2 -7
  120. package/src/middleware/jwt.ts +2 -7
  121. package/src/middleware/secure-headers.ts +2 -2
  122. package/src/middleware/timing.ts +2 -2
  123. package/src/middleware/wrap-hono.ts +13 -0
  124. package/src/types/app.ts +12 -8
  125. package/src/types/index.ts +44 -10
  126. package/src/types/returns.ts +2 -2
  127. package/src/types/type-utils.ts +1 -2
  128. package/src/types/units.ts +4 -8
  129. package/dist/cjs/constants.cjs.map +0 -1
  130. package/dist/cjs/create-context.cjs.map +0 -1
  131. package/dist/cjs/factories.cjs.map +0 -1
  132. package/dist/cjs/middleware.cjs.map +0 -1
  133. package/dist/cjs/route.cjs.map +0 -1
  134. package/dist/cjs/taser-app.cjs +0 -36
  135. package/dist/cjs/taser-app.cjs.map +0 -1
  136. package/dist/cjs/taser-app.d.cts +0 -18
  137. package/dist/cjs/taser-router.cjs.map +0 -1
  138. package/dist/cjs/taser-router.d.cts +0 -42
  139. package/dist/esm/constants.js.map +0 -1
  140. package/dist/esm/create-context.js.map +0 -1
  141. package/dist/esm/factories.js.map +0 -1
  142. package/dist/esm/middleware.js.map +0 -1
  143. package/dist/esm/route.js.map +0 -1
  144. package/dist/esm/taser-app.d.ts +0 -18
  145. package/dist/esm/taser-app.js +0 -35
  146. package/dist/esm/taser-app.js.map +0 -1
  147. package/dist/esm/taser-router.d.ts +0 -42
  148. package/dist/esm/taser-router.js.map +0 -1
  149. package/src/taser-app.ts +0 -38
  150. package/src/taser-router.ts +0 -165
  151. /package/dist/cjs/{constants.d.cts → builder/constants.d.cts} +0 -0
  152. /package/dist/esm/{constants.d.ts → builder/constants.d.ts} +0 -0
  153. /package/src/{constants.ts → builder/constants.ts} +0 -0
@@ -0,0 +1,22 @@
1
+ //#region src/builder/app.ts
2
+ var TaserServeView = class {
3
+ runtime;
4
+ fetch;
5
+ constructor(runtime) {
6
+ this.runtime = runtime;
7
+ this.fetch = (request, env, executionCtx) => {
8
+ return this.runtime.fetch(request, env, executionCtx);
9
+ };
10
+ }
11
+ };
12
+ var TaserApp = class extends TaserServeView {
13
+ __manifest;
14
+ constructor(runtime, manifest) {
15
+ super(runtime);
16
+ if (manifest !== void 0) this.__manifest = manifest;
17
+ }
18
+ };
19
+ //#endregion
20
+ exports.TaserApp = TaserApp;
21
+
22
+ //# sourceMappingURL=app.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.cjs","names":[],"sources":["../../../src/builder/app.ts"],"sourcesContent":["import type { RouteManifestShape, TaserRuntime } from \"@taserjs/router-core\";\n\nclass TaserServeView {\n readonly fetch: (\n request: Request,\n env?: unknown,\n executionCtx?: unknown,\n ) => Promise<Response> | Response;\n\n constructor(protected readonly runtime: TaserRuntime) {\n this.fetch = (request: Request, env?: unknown, executionCtx?: unknown) => {\n return this.runtime.fetch(request, env, executionCtx as never);\n };\n }\n}\n\nexport class TaserApp<\n TManifest extends RouteManifestShape = RouteManifestShape,\n> extends TaserServeView {\n readonly __manifest?: TManifest;\n\n constructor(runtime: TaserRuntime, manifest?: TManifest) {\n super(runtime);\n if (manifest !== undefined) {\n this.__manifest = manifest;\n }\n }\n}\n"],"mappings":";AAEA,IAAM,iBAAN,MAAqB;CAOY;CAN/B;CAMA,YAAY,SAA0C;EAAvB,KAAA,UAAA;EAC7B,KAAK,SAAS,SAAkB,KAAe,iBAA2B;GACxE,OAAO,KAAK,QAAQ,MAAM,SAAS,KAAK,YAAqB;EAC/D;CACF;AACF;AAEA,IAAa,WAAb,cAEU,eAAe;CACvB;CAEA,YAAY,SAAuB,UAAsB;EACvD,MAAM,OAAO;EACb,IAAI,aAAa,KAAA,GACf,KAAK,aAAa;CAEtB;AACF"}
@@ -0,0 +1,11 @@
1
+ import { RouteManifestShape, TaserRuntime } from '@taserjs/router-core';
2
+ declare class TaserServeView {
3
+ protected readonly runtime: TaserRuntime;
4
+ readonly fetch: (request: Request, env?: unknown, executionCtx?: unknown) => Promise<Response> | Response;
5
+ constructor(runtime: TaserRuntime);
6
+ }
7
+ export declare class TaserApp<TManifest extends RouteManifestShape = RouteManifestShape> extends TaserServeView {
8
+ readonly __manifest?: TManifest;
9
+ constructor(runtime: TaserRuntime, manifest?: TManifest);
10
+ }
11
+ export {};
@@ -1,4 +1,4 @@
1
- //#region src/constants.ts
1
+ //#region src/builder/constants.ts
2
2
  /** Input schema keys validated by middleware and route handlers. Headers/cookies are parsed only. */
3
3
  var SCHEMA_KEYS = [
4
4
  "query",
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.cjs","names":[],"sources":["../../../src/builder/constants.ts"],"sourcesContent":["/** Input schema keys validated by middleware and route handlers. Headers/cookies are parsed only. */\nexport const SCHEMA_KEYS = [\"query\", \"params\", \"body\"] as const;\n\nexport type SchemaKey = (typeof SCHEMA_KEYS)[number];\n\nexport const HANDLER_SCHEMA_KEY_MAP = {\n query: \"handlerQuery\",\n params: \"handlerParams\",\n body: \"handlerBody\",\n} as const satisfies Record<SchemaKey, string>;\n"],"mappings":";;AACA,IAAa,cAAc;CAAC;CAAS;CAAU;AAAM;AAIrD,IAAa,yBAAyB;CACpC,OAAO;CACP,QAAQ;CACR,MAAM;AACR"}
@@ -1,5 +1,5 @@
1
1
  const require_route = require("./route.cjs");
2
- //#region src/factories.ts
2
+ //#region src/builder/factories.ts
3
3
  function createWithoutBodyRoute(method) {
4
4
  return ((path, options) => require_route.createRouteBuilder(path, method, options));
5
5
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factories.cjs","names":[],"sources":["../../../src/builder/factories.ts"],"sourcesContent":["import { createRouteBuilder } from \"./route.js\";\nimport type { RouteBuilder, RoutePath, Schema } from \"../types/index.js\";\nimport type { AppContext, HttpMethod } from \"../types/units.js\";\n\ntype WithoutBodyOptions<TQuery, TParams, TQueryIn = unknown, TParamsIn = unknown> = {\n query?: Schema<TQuery, TQueryIn>;\n params?: Schema<TParams, TParamsIn>;\n};\n\ntype WithBodyOptions<\n TQuery,\n TParams,\n TBody,\n TQueryIn = unknown,\n TParamsIn = unknown,\n TBodyIn = unknown,\n> = WithoutBodyOptions<TQuery, TParams, TQueryIn, TParamsIn> & {\n body?: Schema<TBody, TBodyIn>;\n};\n\nexport type CreateWithoutBodyRoute<\n M extends \"GET\" | \"DELETE\" | \"OPTIONS\" | \"HEAD\",\n TAppContext extends Record<string, unknown> = AppContext,\n> = {\n <const Path extends RoutePath>(\n path: Path,\n ): RouteBuilder<Path, M, readonly [], {}, {}, TAppContext>;\n <\n const Path extends RoutePath,\n TQuery = unknown,\n TParams = unknown,\n TQueryIn = unknown,\n TParamsIn = unknown,\n >(\n path: Path,\n options: WithoutBodyOptions<TQuery, TParams, TQueryIn, TParamsIn>,\n ): RouteBuilder<\n Path,\n M,\n readonly [],\n {\n query: TQuery;\n params: TParams;\n queryIn: TQueryIn;\n paramsIn: TParamsIn;\n },\n {},\n TAppContext\n >;\n};\n\nexport type CreateWithBodyRoute<\n M extends \"POST\" | \"PUT\" | \"PATCH\",\n TAppContext extends Record<string, unknown> = AppContext,\n> = {\n <const Path extends RoutePath>(\n path: Path,\n ): RouteBuilder<Path, M, readonly [], {}, {}, TAppContext>;\n <\n const Path extends RoutePath,\n TQuery = unknown,\n TParams = unknown,\n TBody = unknown,\n TQueryIn = unknown,\n TParamsIn = unknown,\n TBodyIn = unknown,\n >(\n path: Path,\n options: WithBodyOptions<TQuery, TParams, TBody, TQueryIn, TParamsIn, TBodyIn>,\n ): RouteBuilder<\n Path,\n M,\n readonly [],\n {\n query: TQuery;\n params: TParams;\n body: TBody;\n queryIn: TQueryIn;\n paramsIn: TParamsIn;\n bodyIn: TBodyIn;\n },\n {},\n TAppContext\n >;\n};\n\nexport type CreateAnyRoute<TAppContext extends Record<string, unknown> = AppContext> = {\n <const Path extends RoutePath, const Methods extends readonly HttpMethod[]>(\n path: Path,\n methods: Methods,\n ): RouteBuilder<Path, Methods[number], readonly [], {}, {}, TAppContext>;\n <\n const Path extends RoutePath,\n const Methods extends readonly HttpMethod[],\n TQuery = unknown,\n TParams = unknown,\n TBody = unknown,\n TQueryIn = unknown,\n TParamsIn = unknown,\n TBodyIn = unknown,\n >(\n path: Path,\n methods: Methods,\n options: WithBodyOptions<TQuery, TParams, TBody, TQueryIn, TParamsIn, TBodyIn>,\n ): RouteBuilder<\n Path,\n Methods[number],\n readonly [],\n {\n query: TQuery;\n params: TParams;\n body: TBody;\n queryIn: TQueryIn;\n paramsIn: TParamsIn;\n bodyIn: TBodyIn;\n },\n {},\n TAppContext\n >;\n};\n\nexport type CreateAllRoute<TAppContext extends Record<string, unknown> = AppContext> = {\n <const Path extends RoutePath>(\n path: Path,\n ): RouteBuilder<Path, HttpMethod, readonly [], {}, {}, TAppContext>;\n <\n const Path extends RoutePath,\n TQuery = unknown,\n TParams = unknown,\n TBody = unknown,\n TQueryIn = unknown,\n TParamsIn = unknown,\n TBodyIn = unknown,\n >(\n path: Path,\n options: WithBodyOptions<TQuery, TParams, TBody, TQueryIn, TParamsIn, TBodyIn>,\n ): RouteBuilder<\n Path,\n HttpMethod,\n readonly [],\n {\n query: TQuery;\n params: TParams;\n body: TBody;\n queryIn: TQueryIn;\n paramsIn: TParamsIn;\n bodyIn: TBodyIn;\n },\n {},\n TAppContext\n >;\n};\n\nfunction createWithoutBodyRoute<M extends \"GET\" | \"DELETE\" | \"OPTIONS\" | \"HEAD\">(\n method: M,\n): CreateWithoutBodyRoute<M> {\n return ((path: string, options?: WithoutBodyOptions<unknown, unknown>) =>\n createRouteBuilder(path, method, options)) as unknown as CreateWithoutBodyRoute<M>;\n}\n\nfunction createWithBodyRoute<M extends \"POST\" | \"PUT\" | \"PATCH\">(\n method: M,\n): CreateWithBodyRoute<M> {\n return ((path: string, options?: WithBodyOptions<unknown, unknown, unknown>) =>\n createRouteBuilder(path, method, options)) as unknown as CreateWithBodyRoute<M>;\n}\n\nexport const createGetRoute = createWithoutBodyRoute(\"GET\");\nexport const createDeleteRoute = createWithoutBodyRoute(\"DELETE\");\nexport const createOptionsRoute = createWithoutBodyRoute(\"OPTIONS\");\nexport const createHeadRoute = createWithoutBodyRoute(\"HEAD\");\nexport const createPostRoute = createWithBodyRoute(\"POST\");\nexport const createPutRoute = createWithBodyRoute(\"PUT\");\nexport const createPatchRoute = createWithBodyRoute(\"PATCH\");\n\nexport const createAnyRoute: CreateAnyRoute = ((\n path: string,\n methods: readonly HttpMethod[],\n options?: WithBodyOptions<unknown, unknown, unknown>,\n) => createRouteBuilder(path, \"ANY\", options, methods)) as unknown as CreateAnyRoute;\n\nexport const createAllRoute: CreateAllRoute = ((\n path: string,\n options?: WithBodyOptions<unknown, unknown, unknown>,\n) => createRouteBuilder(path, \"ALL\", options)) as unknown as CreateAllRoute;\n"],"mappings":";;AAyJA,SAAS,uBACP,QAC2B;CAC3B,SAAS,MAAc,YACrB,cAAA,mBAAmB,MAAM,QAAQ,OAAO;AAC5C;AAEA,SAAS,oBACP,QACwB;CACxB,SAAS,MAAc,YACrB,cAAA,mBAAmB,MAAM,QAAQ,OAAO;AAC5C;AAEA,IAAa,iBAAiB,uBAAuB,KAAK;AAC1D,IAAa,oBAAoB,uBAAuB,QAAQ;AAChE,IAAa,qBAAqB,uBAAuB,SAAS;AAClE,IAAa,kBAAkB,uBAAuB,MAAM;AAC5D,IAAa,kBAAkB,oBAAoB,MAAM;AACzD,IAAa,iBAAiB,oBAAoB,KAAK;AACvD,IAAa,mBAAmB,oBAAoB,OAAO;AAE3D,IAAa,mBACX,MACA,SACA,YACG,cAAA,mBAAmB,MAAM,OAAO,SAAS,OAAO;AAErD,IAAa,mBACX,MACA,YACG,cAAA,mBAAmB,MAAM,OAAO,OAAO"}
@@ -1,5 +1,5 @@
1
- import { RouteBuilder, RoutePath, Schema } from './types/index.js';
2
- import { AppContext, HttpMethod } from './types/units.js';
1
+ import { RouteBuilder, RoutePath, Schema } from '../types/index.js';
2
+ import { AppContext, HttpMethod } from '../types/units.js';
3
3
  type WithoutBodyOptions<TQuery, TParams, TQueryIn = unknown, TParamsIn = unknown> = {
4
4
  query?: Schema<TQuery, TQueryIn>;
5
5
  params?: Schema<TParams, TParamsIn>;
@@ -1,4 +1,4 @@
1
- //#region src/middleware.ts
1
+ //#region src/builder/middleware.ts
2
2
  function createMiddleware(layout) {
3
3
  const entries = [];
4
4
  const chain = {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware.cjs","names":[],"sources":["../../../src/builder/middleware.ts"],"sourcesContent":["import type { LayoutId, MiddlewareBuilder } from \"../types/index.js\";\nimport type { MiddlewareDefinition } from \"../types/units.js\";\n\nexport function createMiddleware<const Layout extends LayoutId>(\n layout: Layout,\n): MiddlewareBuilder<Layout, readonly []> {\n const entries: MiddlewareDefinition[] = [];\n\n const chain = {\n layout,\n middlewares: entries,\n use(definition: MiddlewareDefinition) {\n entries.push(definition);\n return chain;\n },\n };\n\n return chain as unknown as MiddlewareBuilder<Layout, readonly []>;\n}\n"],"mappings":";AAGA,SAAgB,iBACd,QACwC;CACxC,MAAM,UAAkC,CAAC;CAEzC,MAAM,QAAQ;EACZ;EACA,aAAa;EACb,IAAI,YAAkC;GACpC,QAAQ,KAAK,UAAU;GACvB,OAAO;EACT;CACF;CAEA,OAAO;AACT"}
@@ -1,2 +1,2 @@
1
- import { LayoutId, MiddlewareBuilder } from './types/index.js';
1
+ import { LayoutId, MiddlewareBuilder } from '../types/index.js';
2
2
  export declare function createMiddleware<const Layout extends LayoutId>(layout: Layout): MiddlewareBuilder<Layout, readonly []>;
@@ -1,8 +1,8 @@
1
- const require_units = require("./types/units.cjs");
1
+ const require_units = require("../types/units.cjs");
2
2
  const require_constants = require("./constants.cjs");
3
- const require_validators = require("./define/validators.cjs");
3
+ const require_validators = require("../define/validators.cjs");
4
4
  let _taserjs_router_utils = require("@taserjs/router-utils");
5
- //#region src/route.ts
5
+ //#region src/builder/route.ts
6
6
  function toUtilsMap(map) {
7
7
  if (!map) return {};
8
8
  const out = {};
@@ -42,46 +42,32 @@ function createRouteBuilder(path, method, validators = {}, methods) {
42
42
  handler(fnOrUnit) {
43
43
  const routeSchemas = require_validators.pickDefinedSchemas(validators);
44
44
  const base = buildRouteBase(path, method, methods, middlewares);
45
- if (require_units.isHandlerUnit(fnOrUnit)) {
46
- const handlerSchemas = require_validators.pickDefinedSchemas(fnOrUnit, require_constants.HANDLER_SCHEMA_KEY_MAP);
47
- const returns = buildEffectiveReturns({
48
- middlewareReturns: (0, _taserjs_router_utils.collectReturnsFromDefinitions)(middlewares),
49
- routeReturns,
50
- handlerMiddlewareReturns: (0, _taserjs_router_utils.collectReturnsFromDefinitions)(fnOrUnit.middlewares),
51
- handlerReturns: fnOrUnit.returns,
52
- schemas: {
53
- ...validators,
54
- handlerQuery: fnOrUnit.query,
55
- handlerParams: fnOrUnit.params,
56
- handlerBody: fnOrUnit.body,
57
- middlewares,
58
- handlerMiddlewares: fnOrUnit.middlewares
59
- }
60
- });
61
- return {
62
- ...base,
63
- handlerMiddlewares: [...fnOrUnit.middlewares],
64
- handler: fnOrUnit.handler,
65
- ...routeSchemas,
66
- ...handlerSchemas,
67
- ...returns ? { returns } : {}
68
- };
69
- }
45
+ const unit = require_units.isHandlerUnit(fnOrUnit) ? fnOrUnit : {
46
+ handler: fnOrUnit,
47
+ middlewares: [],
48
+ returns: void 0
49
+ };
50
+ const handlerSchemas = require_units.isHandlerUnit(fnOrUnit) ? require_validators.pickDefinedSchemas(fnOrUnit, require_constants.HANDLER_SCHEMA_KEY_MAP) : {};
70
51
  const returns = buildEffectiveReturns({
71
52
  middlewareReturns: (0, _taserjs_router_utils.collectReturnsFromDefinitions)(middlewares),
72
53
  routeReturns,
73
- handlerMiddlewareReturns: {},
74
- handlerReturns: void 0,
54
+ handlerMiddlewareReturns: (0, _taserjs_router_utils.collectReturnsFromDefinitions)(unit.middlewares),
55
+ handlerReturns: unit.returns,
75
56
  schemas: {
76
57
  ...validators,
77
- middlewares
58
+ handlerQuery: unit.query,
59
+ handlerParams: unit.params,
60
+ handlerBody: unit.body,
61
+ middlewares,
62
+ handlerMiddlewares: unit.middlewares
78
63
  }
79
64
  });
80
65
  return {
81
66
  ...base,
82
- handlerMiddlewares: [],
83
- handler: fnOrUnit,
67
+ handlerMiddlewares: [...unit.middlewares],
68
+ handler: unit.handler,
84
69
  ...routeSchemas,
70
+ ...handlerSchemas,
85
71
  ...returns ? { returns } : {}
86
72
  };
87
73
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route.cjs","names":[],"sources":["../../../src/builder/route.ts"],"sourcesContent":["import type { StandardSchemaV1 } from \"@standard-schema/spec\";\nimport {\n collectReturnsFromDefinitions,\n hasInputSchemas,\n mergeReturnsMaps,\n withAuto422,\n} from \"@taserjs/router-utils\";\n\nimport type {\n Method,\n RouteBuilder,\n RoutePath,\n ReturnsMap,\n ValidatorParts,\n} from \"../types/index.js\";\nimport type { HttpMethod, MiddlewareDefinition } from \"../types/units.js\";\nimport { isHandlerUnit } from \"../types/units.js\";\nimport { HANDLER_SCHEMA_KEY_MAP } from \"./constants.js\";\nimport { pickDefinedSchemas, type SchemaValidators } from \"../define/validators.js\";\n\nfunction toUtilsMap(map: ReturnsMap | undefined): Record<number, StandardSchemaV1> {\n if (!map) {\n return {};\n }\n const out: Record<number, StandardSchemaV1> = {};\n for (const [key, schema] of Object.entries(map)) {\n if (schema !== undefined) {\n out[Number(key)] = schema;\n }\n }\n return out;\n}\n\nfunction buildEffectiveReturns(args: {\n middlewareReturns: ReturnsMap;\n routeReturns: ReturnsMap;\n handlerMiddlewareReturns: ReturnsMap;\n handlerReturns: ReturnsMap | undefined;\n schemas: {\n query?: unknown;\n params?: unknown;\n body?: unknown;\n handlerQuery?: unknown;\n handlerParams?: unknown;\n handlerBody?: unknown;\n middlewares?: readonly MiddlewareDefinition[];\n handlerMiddlewares?: readonly MiddlewareDefinition[];\n };\n}): Record<number, StandardSchemaV1> | undefined {\n const merged = mergeReturnsMaps(\n toUtilsMap(args.middlewareReturns),\n toUtilsMap(args.routeReturns),\n toUtilsMap(args.handlerMiddlewareReturns),\n toUtilsMap(args.handlerReturns),\n );\n const with422 = withAuto422(merged, hasInputSchemas(args.schemas));\n return Object.keys(with422).length > 0 ? with422 : undefined;\n}\n\nfunction buildRouteBase(\n path: string,\n method: HttpMethod | \"ANY\" | \"ALL\",\n methods: readonly HttpMethod[] | undefined,\n middlewares: MiddlewareDefinition[],\n) {\n return {\n path,\n method,\n ...(methods ? { methods: [...methods] } : {}),\n middlewares: [...middlewares],\n };\n}\n\n/** Shared internal builder — not part of the public `@taserjs/router` API. */\nexport function createRouteBuilder(\n path: string,\n method: HttpMethod | \"ANY\" | \"ALL\",\n validators: SchemaValidators = {},\n methods?: readonly HttpMethod[],\n): RouteBuilder<RoutePath, Method, readonly [], ValidatorParts> {\n const middlewares: MiddlewareDefinition[] = [];\n let routeReturns: Record<number, StandardSchemaV1> = {};\n\n const builder = {\n path,\n method,\n returns(map: ReturnsMap) {\n routeReturns = { ...routeReturns, ...toUtilsMap(map) };\n return builder;\n },\n use(definition: MiddlewareDefinition) {\n middlewares.push(definition);\n return builder;\n },\n handler(fnOrUnit: ((ctx: unknown) => unknown) | unknown) {\n const routeSchemas = pickDefinedSchemas(validators);\n const base = buildRouteBase(path, method, methods, middlewares);\n\n const unit = isHandlerUnit(fnOrUnit)\n ? fnOrUnit\n : {\n handler: fnOrUnit as (ctx: unknown) => Response | Promise<Response>,\n middlewares: [] as MiddlewareDefinition[],\n returns: undefined as ReturnsMap | undefined,\n };\n\n const handlerSchemas = isHandlerUnit(fnOrUnit)\n ? pickDefinedSchemas(fnOrUnit, HANDLER_SCHEMA_KEY_MAP)\n : {};\n\n const returns = buildEffectiveReturns({\n middlewareReturns: collectReturnsFromDefinitions(middlewares),\n routeReturns,\n handlerMiddlewareReturns: collectReturnsFromDefinitions(unit.middlewares),\n handlerReturns: unit.returns,\n schemas: {\n ...validators,\n handlerQuery: (unit as any).query,\n handlerParams: (unit as any).params,\n handlerBody: (unit as any).body,\n middlewares,\n handlerMiddlewares: unit.middlewares,\n },\n });\n\n return {\n ...base,\n handlerMiddlewares: [...unit.middlewares],\n handler: unit.handler,\n ...routeSchemas,\n ...handlerSchemas,\n ...(returns ? { returns } : {}),\n };\n },\n };\n\n return builder as unknown as RouteBuilder<RoutePath, Method, readonly [], ValidatorParts>;\n}\n"],"mappings":";;;;;AAoBA,SAAS,WAAW,KAA+D;CACjF,IAAI,CAAC,KACH,OAAO,CAAC;CAEV,MAAM,MAAwC,CAAC;CAC/C,KAAK,MAAM,CAAC,KAAK,WAAW,OAAO,QAAQ,GAAG,GAC5C,IAAI,WAAW,KAAA,GACb,IAAI,OAAO,GAAG,KAAK;CAGvB,OAAO;AACT;AAEA,SAAS,sBAAsB,MAekB;CAO/C,MAAM,WAAA,GAAA,sBAAA,YAAA,EAAA,GAAA,sBAAA,iBAAA,CALJ,WAAW,KAAK,iBAAiB,GACjC,WAAW,KAAK,YAAY,GAC5B,WAAW,KAAK,wBAAwB,GACxC,WAAW,KAAK,cAAc,CAEJ,IAAA,GAAA,sBAAA,gBAAA,CAAwB,KAAK,OAAO,CAAC;CACjE,OAAO,OAAO,KAAK,OAAO,CAAC,CAAC,SAAS,IAAI,UAAU,KAAA;AACrD;AAEA,SAAS,eACP,MACA,QACA,SACA,aACA;CACA,OAAO;EACL;EACA;EACA,GAAI,UAAU,EAAE,SAAS,CAAC,GAAG,OAAO,EAAE,IAAI,CAAC;EAC3C,aAAa,CAAC,GAAG,WAAW;CAC9B;AACF;;AAGA,SAAgB,mBACd,MACA,QACA,aAA+B,CAAC,GAChC,SAC8D;CAC9D,MAAM,cAAsC,CAAC;CAC7C,IAAI,eAAiD,CAAC;CAEtD,MAAM,UAAU;EACd;EACA;EACA,QAAQ,KAAiB;GACvB,eAAe;IAAE,GAAG;IAAc,GAAG,WAAW,GAAG;GAAE;GACrD,OAAO;EACT;EACA,IAAI,YAAkC;GACpC,YAAY,KAAK,UAAU;GAC3B,OAAO;EACT;EACA,QAAQ,UAAiD;GACvD,MAAM,eAAe,mBAAA,mBAAmB,UAAU;GAClD,MAAM,OAAO,eAAe,MAAM,QAAQ,SAAS,WAAW;GAE9D,MAAM,OAAO,cAAA,cAAc,QAAQ,IAC/B,WACA;IACE,SAAS;IACT,aAAa,CAAC;IACd,SAAS,KAAA;GACX;GAEJ,MAAM,iBAAiB,cAAA,cAAc,QAAQ,IACzC,mBAAA,mBAAmB,UAAU,kBAAA,sBAAsB,IACnD,CAAC;GAEL,MAAM,UAAU,sBAAsB;IACpC,oBAAA,GAAA,sBAAA,8BAAA,CAAiD,WAAW;IAC5D;IACA,2BAAA,GAAA,sBAAA,8BAAA,CAAwD,KAAK,WAAW;IACxE,gBAAgB,KAAK;IACrB,SAAS;KACP,GAAG;KACH,cAAe,KAAa;KAC5B,eAAgB,KAAa;KAC7B,aAAc,KAAa;KAC3B;KACA,oBAAoB,KAAK;IAC3B;GACF,CAAC;GAED,OAAO;IACL,GAAG;IACH,oBAAoB,CAAC,GAAG,KAAK,WAAW;IACxC,SAAS,KAAK;IACd,GAAG;IACH,GAAG;IACH,GAAI,UAAU,EAAE,QAAQ,IAAI,CAAC;GAC/B;EACF;CACF;CAEA,OAAO;AACT"}
@@ -1,5 +1,5 @@
1
- import { Method, RouteBuilder, RoutePath, ValidatorParts } from './types/index.js';
2
- import { HttpMethod } from './types/units.js';
3
- import { SchemaValidators } from './define/validators.js';
1
+ import { Method, RouteBuilder, RoutePath, ValidatorParts } from '../types/index.js';
2
+ import { HttpMethod } from '../types/units.js';
3
+ import { SchemaValidators } from '../define/validators.js';
4
4
  /** Shared internal builder — not part of the public `@taserjs/router` API. */
5
5
  export declare function createRouteBuilder(path: string, method: HttpMethod | "ANY" | "ALL", validators?: SchemaValidators, methods?: readonly HttpMethod[]): RouteBuilder<RoutePath, Method, readonly [], ValidatorParts>;
@@ -1,10 +1,11 @@
1
1
  const require_factories = require("./factories.cjs");
2
- const require_handler = require("./define/handler.cjs");
3
- const require_middleware = require("./middleware.cjs");
4
- const require_taser_app = require("./taser-app.cjs");
2
+ const require_handler = require("../define/handler.cjs");
3
+ const require_middleware = require("../define/middleware.cjs");
4
+ const require_middleware$1 = require("./middleware.cjs");
5
+ const require_app = require("./app.cjs");
5
6
  let _taserjs_router_utils = require("@taserjs/router-utils");
6
7
  let _taserjs_router_core = require("@taserjs/router-core");
7
- //#region src/taser-router.ts
8
+ //#region src/builder/router.ts
8
9
  function toOnErrorHandler(onErrorOptions) {
9
10
  return (0, _taserjs_router_utils.normalizeOnError)(onErrorOptions);
10
11
  }
@@ -41,24 +42,50 @@ var TaserRouter = class {
41
42
  any = require_factories.createAnyRoute;
42
43
  all = require_factories.createAllRoute;
43
44
  middleware(layout) {
44
- return require_middleware.createMiddleware(layout);
45
+ return require_middleware$1.createMiddleware(layout);
45
46
  }
46
47
  defineHandler(options) {
47
48
  return options === void 0 ? require_handler.defineHandler() : require_handler.defineHandler(options);
48
49
  }
50
+ defineMiddleware(first, second) {
51
+ return require_middleware.defineMiddleware(first, second);
52
+ }
49
53
  create(manifest) {
50
54
  const definition = this.state.contextDef;
51
55
  const validateResponse = this.state.options.response?.validate ?? true;
52
56
  const onValidationFailure = this.state.options.response?.onValidationFailure;
53
57
  const basePath = this.state.options.basePath;
54
58
  const hasCustomContext = definition.boot !== void 0 || definition.request !== void 0;
55
- const bootPromise = hasCustomContext ? Promise.resolve(definition.boot?.() ?? {}) : void 0;
56
- return new require_taser_app.TaserApp((0, _taserjs_router_core.createTaserRuntime)(manifest, hasCustomContext ? async ({ native } = {}) => {
57
- const bootContext = await bootPromise ?? {};
58
- const requestContext = await definition.request?.({ native }) ?? {};
59
- return {
59
+ let bootContextResolved;
60
+ let bootPromise;
61
+ if (definition.boot !== void 0) {
62
+ const bootResult = definition.boot();
63
+ if ((0, _taserjs_router_utils.isPromise)(bootResult)) bootPromise = bootResult.then((ctx) => {
64
+ bootContextResolved = ctx ?? {};
65
+ return bootContextResolved;
66
+ });
67
+ else bootContextResolved = bootResult ?? {};
68
+ } else if (hasCustomContext) bootContextResolved = {};
69
+ return new require_app.TaserApp((0, _taserjs_router_core.createTaserRuntime)(manifest, hasCustomContext ? (req) => {
70
+ if (bootPromise !== void 0 && bootContextResolved === void 0) return bootPromise.then(async (bootContext) => {
71
+ if (!definition.request) return { ...bootContext };
72
+ const requestResult = definition.request(req);
73
+ const requestContext = (0, _taserjs_router_utils.isPromise)(requestResult) ? await requestResult : requestResult;
74
+ return {
75
+ ...bootContext,
76
+ ...requestContext
77
+ };
78
+ });
79
+ const bootContext = bootContextResolved ?? {};
80
+ if (!definition.request) return { ...bootContext };
81
+ const requestResult = definition.request(req);
82
+ if ((0, _taserjs_router_utils.isPromise)(requestResult)) return requestResult.then((requestContext) => ({
60
83
  ...bootContext,
61
84
  ...requestContext
85
+ }));
86
+ return {
87
+ ...bootContext,
88
+ ...requestResult
62
89
  };
63
90
  } : () => ({}), {
64
91
  ...basePath !== void 0 ? { basePath } : {},
@@ -79,4 +106,4 @@ function createTaserApp(options = {}) {
79
106
  exports.TaserRouter = TaserRouter;
80
107
  exports.createTaserApp = createTaserApp;
81
108
 
82
- //# sourceMappingURL=taser-router.cjs.map
109
+ //# sourceMappingURL=router.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.cjs","names":[],"sources":["../../../src/builder/router.ts"],"sourcesContent":["import {\n createTaserCompatHandler,\n createTaserRuntime,\n type NotFoundHandler,\n type OnErrorHandler,\n type RouteManifestShape,\n} from \"@taserjs/router-core\";\nimport { isPromise, normalizeOnError } from \"@taserjs/router-utils\";\n\nimport {\n createAllRoute,\n createAnyRoute,\n createDeleteRoute,\n createGetRoute,\n createHeadRoute,\n createOptionsRoute,\n createPatchRoute,\n createPostRoute,\n createPutRoute,\n} from \"./factories.js\";\nimport { defineHandler } from \"../define/handler.js\";\nimport {\n defineMiddleware,\n type DefineMiddlewareOptions,\n type MultiScopedMiddlewareOptions,\n type ScopedMiddlewareOptions,\n} from \"../define/middleware.js\";\nimport { createMiddleware } from \"./middleware.js\";\nimport { TaserApp } from \"./app.js\";\nimport type { ContextDefinition, CreateTaserAppOptions, OnErrorOptions } from \"../types/app.js\";\nimport type {\n AppContext,\n ExtractState,\n IsUnknown,\n MiddlewareReturnFromParts,\n MiddlewareUnit,\n} from \"../types/units.js\";\nimport type { HandlerBuilder, LayoutId, MiddlewareBuilder } from \"../types/index.js\";\nimport type { ReturnsMap } from \"../types/returns.js\";\nimport type { Schema } from \"../types/schema.js\";\nimport type {\n CreateAllRoute,\n CreateAnyRoute,\n CreateWithBodyRoute,\n CreateWithoutBodyRoute,\n} from \"./factories.js\";\n\nfunction toOnErrorHandler(\n onErrorOptions: OnErrorOptions | OnErrorOptions[\"handle\"],\n): OnErrorHandler {\n return normalizeOnError(onErrorOptions);\n}\n\ntype RouterState = {\n options: CreateTaserAppOptions;\n contextDef: ContextDefinition<Record<string, unknown>, Record<string, unknown>>;\n onError?: OnErrorHandler;\n notFound?: NotFoundHandler;\n};\n\nconst emptyContext: ContextDefinition<Record<string, unknown>, Record<string, unknown>> = {};\n\nexport class TaserRouter<TAppContext extends Record<string, unknown> = AppContext> {\n private readonly state: RouterState;\n\n constructor(options: CreateTaserAppOptions = {}, state?: Partial<Omit<RouterState, \"options\">>) {\n this.state = {\n options,\n contextDef: state?.contextDef ?? emptyContext,\n ...(state?.onError !== undefined ? { onError: state.onError } : {}),\n ...(state?.notFound !== undefined ? { notFound: state.notFound } : {}),\n };\n }\n\n context<TBoot extends Record<string, unknown>, TReq extends Record<string, unknown>>(\n definition: ContextDefinition<TBoot, TReq>,\n ): TaserRouter<TBoot & TReq> {\n this.state.contextDef = definition;\n return this as unknown as TaserRouter<TBoot & TReq>;\n }\n\n onError<TResponses extends ReturnsMap = ReturnsMap>(\n options: OnErrorOptions<TResponses> | OnErrorOptions<TResponses>[\"handle\"],\n ): this {\n this.state.onError = toOnErrorHandler(options);\n return this;\n }\n\n notFound(handler: (ctx: unknown) => Response | Promise<Response> | unknown): this {\n this.state.notFound = (ctx) => handler(ctx);\n return this;\n }\n\n get: CreateWithoutBodyRoute<\"GET\", TAppContext> = createGetRoute as CreateWithoutBodyRoute<\n \"GET\",\n TAppContext\n >;\n post: CreateWithBodyRoute<\"POST\", TAppContext> = createPostRoute as CreateWithBodyRoute<\n \"POST\",\n TAppContext\n >;\n put: CreateWithBodyRoute<\"PUT\", TAppContext> = createPutRoute as CreateWithBodyRoute<\n \"PUT\",\n TAppContext\n >;\n patch: CreateWithBodyRoute<\"PATCH\", TAppContext> = createPatchRoute as CreateWithBodyRoute<\n \"PATCH\",\n TAppContext\n >;\n delete: CreateWithoutBodyRoute<\"DELETE\", TAppContext> =\n createDeleteRoute as CreateWithoutBodyRoute<\"DELETE\", TAppContext>;\n options: CreateWithoutBodyRoute<\"OPTIONS\", TAppContext> =\n createOptionsRoute as CreateWithoutBodyRoute<\"OPTIONS\", TAppContext>;\n head: CreateWithoutBodyRoute<\"HEAD\", TAppContext> = createHeadRoute as CreateWithoutBodyRoute<\n \"HEAD\",\n TAppContext\n >;\n any: CreateAnyRoute<TAppContext> = createAnyRoute as CreateAnyRoute<TAppContext>;\n all: CreateAllRoute<TAppContext> = createAllRoute as CreateAllRoute<TAppContext>;\n\n middleware<const Layout extends LayoutId>(\n layout: Layout,\n ): MiddlewareBuilder<Layout, readonly [], TAppContext> {\n return createMiddleware(layout) as MiddlewareBuilder<Layout, readonly [], TAppContext>;\n }\n\n defineHandler<TQuery = unknown, TParams = unknown, TBody = unknown>(options?: {\n query?: Schema<TQuery>;\n params?: Schema<TParams>;\n body?: Schema<TBody>;\n }): HandlerBuilder<\n readonly [],\n { query: TQuery; params: TParams; body: TBody },\n {},\n TAppContext\n > {\n return options === undefined\n ? defineHandler<TAppContext>()\n : defineHandler<TAppContext>(options);\n }\n\n defineMiddleware(\n middleware: Parameters<typeof createTaserCompatHandler>[0],\n ): MiddlewareUnit<MiddlewareReturnFromParts<unknown, unknown, unknown, {}>, {}, null, {}>;\n\n defineMiddleware<\n const Layout extends LayoutId,\n TState = unknown,\n TRequires = {},\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 layout: Layout,\n options: ScopedMiddlewareOptions<\n Layout,\n TState,\n TRequires,\n TQuery,\n TParams,\n TBody,\n TReturns,\n TQueryIn,\n TParamsIn,\n TBodyIn,\n TAppContext,\n R\n >,\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 Layout,\n TRequires\n >;\n\n defineMiddleware<\n const Layouts extends readonly [LayoutId, ...LayoutId[]],\n TState = unknown,\n TRequires = {},\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 layouts: Layouts,\n options: MultiScopedMiddlewareOptions<\n Layouts,\n TState,\n TRequires,\n TQuery,\n TParams,\n TBody,\n TReturns,\n TQueryIn,\n TParamsIn,\n TBodyIn,\n TAppContext,\n R\n >,\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 Layouts,\n TRequires\n >;\n\n defineMiddleware<\n TState = unknown,\n TRequires = {},\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 options: DefineMiddlewareOptions<\n TState,\n TRequires,\n TQuery,\n TParams,\n TBody,\n TReturns,\n TQueryIn,\n TParamsIn,\n TBodyIn,\n TAppContext,\n R\n >,\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 null,\n TRequires\n >;\n\n defineMiddleware(first: any, second?: any): any {\n return defineMiddleware(first, second);\n }\n\n create<const TManifest extends RouteManifestShape>(manifest: TManifest): TaserApp<TManifest> {\n const definition = this.state.contextDef;\n const validateResponse = this.state.options.response?.validate ?? true;\n const onValidationFailure = this.state.options.response?.onValidationFailure;\n const basePath = this.state.options.basePath;\n\n const hasCustomContext = definition.boot !== undefined || definition.request !== undefined;\n let bootContextResolved: Record<string, unknown> | undefined;\n let bootPromise: Promise<Record<string, unknown>> | undefined;\n\n if (definition.boot !== undefined) {\n const bootResult = definition.boot();\n if (isPromise(bootResult)) {\n bootPromise = bootResult.then((ctx) => {\n bootContextResolved = (ctx ?? {}) as Record<string, unknown>;\n return bootContextResolved;\n });\n } else {\n bootContextResolved = (bootResult ?? {}) as Record<string, unknown>;\n }\n } else if (hasCustomContext) {\n bootContextResolved = {};\n }\n\n const contextFactory = hasCustomContext\n ? (req?: Request) => {\n if (bootPromise !== undefined && bootContextResolved === undefined) {\n return bootPromise.then(async (bootContext) => {\n if (!definition.request) {\n return { ...bootContext };\n }\n const requestResult = definition.request(req!);\n const requestContext = isPromise(requestResult) ? await requestResult : requestResult;\n return { ...bootContext, ...requestContext };\n });\n }\n\n const bootContext = bootContextResolved ?? {};\n if (!definition.request) {\n return { ...bootContext };\n }\n\n const requestResult = definition.request(req!);\n if (isPromise(requestResult)) {\n return requestResult.then((requestContext) => ({\n ...bootContext,\n ...requestContext,\n }));\n }\n\n return { ...bootContext, ...(requestResult as Record<string, unknown>) };\n }\n : () => ({});\n\n const runtime = createTaserRuntime(manifest, contextFactory, {\n ...(basePath !== undefined ? { basePath } : {}),\n response: {\n validate: validateResponse,\n ...(onValidationFailure !== undefined ? { onValidationFailure } : {}),\n },\n ...(this.state.onError !== undefined ? { onError: this.state.onError } : {}),\n ...(this.state.notFound !== undefined ? { notFound: this.state.notFound } : {}),\n ...(this.state.options.cookies !== undefined ? { cookies: this.state.options.cookies } : {}),\n });\n\n return new TaserApp(runtime, manifest);\n }\n}\n\nexport function createTaserApp(options: CreateTaserAppOptions = {}): TaserRouter {\n return new TaserRouter(options);\n}\n"],"mappings":";;;;;;;;AA+CA,SAAS,iBACP,gBACgB;CAChB,QAAA,GAAA,sBAAA,iBAAA,CAAwB,cAAc;AACxC;AASA,IAAM,eAAoF,CAAC;AAE3F,IAAa,cAAb,MAAmF;CACjF;CAEA,YAAY,UAAiC,CAAC,GAAG,OAA+C;EAC9F,KAAK,QAAQ;GACX;GACA,YAAY,OAAO,cAAc;GACjC,GAAI,OAAO,YAAY,KAAA,IAAY,EAAE,SAAS,MAAM,QAAQ,IAAI,CAAC;GACjE,GAAI,OAAO,aAAa,KAAA,IAAY,EAAE,UAAU,MAAM,SAAS,IAAI,CAAC;EACtE;CACF;CAEA,QACE,YAC2B;EAC3B,KAAK,MAAM,aAAa;EACxB,OAAO;CACT;CAEA,QACE,SACM;EACN,KAAK,MAAM,UAAU,iBAAiB,OAAO;EAC7C,OAAO;CACT;CAEA,SAAS,SAAyE;EAChF,KAAK,MAAM,YAAY,QAAQ,QAAQ,GAAG;EAC1C,OAAO;CACT;CAEA,MAAkD,kBAAA;CAIlD,OAAiD,kBAAA;CAIjD,MAA+C,kBAAA;CAI/C,QAAmD,kBAAA;CAInD,SACE,kBAAA;CACF,UACE,kBAAA;CACF,OAAoD,kBAAA;CAIpD,MAAmC,kBAAA;CACnC,MAAmC,kBAAA;CAEnC,WACE,QACqD;EACrD,OAAO,qBAAA,iBAAiB,MAAM;CAChC;CAEA,cAAoE,SASlE;EACA,OAAO,YAAY,KAAA,IACf,gBAAA,cAA2B,IAC3B,gBAAA,cAA2B,OAAO;CACxC;CAoIA,iBAAiB,OAAY,QAAmB;EAC9C,OAAO,mBAAA,iBAAiB,OAAO,MAAM;CACvC;CAEA,OAAmD,UAA0C;EAC3F,MAAM,aAAa,KAAK,MAAM;EAC9B,MAAM,mBAAmB,KAAK,MAAM,QAAQ,UAAU,YAAY;EAClE,MAAM,sBAAsB,KAAK,MAAM,QAAQ,UAAU;EACzD,MAAM,WAAW,KAAK,MAAM,QAAQ;EAEpC,MAAM,mBAAmB,WAAW,SAAS,KAAA,KAAa,WAAW,YAAY,KAAA;EACjF,IAAI;EACJ,IAAI;EAEJ,IAAI,WAAW,SAAS,KAAA,GAAW;GACjC,MAAM,aAAa,WAAW,KAAK;GACnC,KAAA,GAAA,sBAAA,UAAA,CAAc,UAAU,GACtB,cAAc,WAAW,MAAM,QAAQ;IACrC,sBAAuB,OAAO,CAAC;IAC/B,OAAO;GACT,CAAC;QAED,sBAAuB,cAAc,CAAC;EAE1C,OAAO,IAAI,kBACT,sBAAsB,CAAC;EA4CzB,OAAO,IAAI,YAAA,UAAA,GAAA,qBAAA,mBAAA,CAXwB,UA9BZ,oBAClB,QAAkB;GACjB,IAAI,gBAAgB,KAAA,KAAa,wBAAwB,KAAA,GACvD,OAAO,YAAY,KAAK,OAAO,gBAAgB;IAC7C,IAAI,CAAC,WAAW,SACd,OAAO,EAAE,GAAG,YAAY;IAE1B,MAAM,gBAAgB,WAAW,QAAQ,GAAI;IAC7C,MAAM,kBAAA,GAAA,sBAAA,UAAA,CAA2B,aAAa,IAAI,MAAM,gBAAgB;IACxE,OAAO;KAAE,GAAG;KAAa,GAAG;IAAe;GAC7C,CAAC;GAGH,MAAM,cAAc,uBAAuB,CAAC;GAC5C,IAAI,CAAC,WAAW,SACd,OAAO,EAAE,GAAG,YAAY;GAG1B,MAAM,gBAAgB,WAAW,QAAQ,GAAI;GAC7C,KAAA,GAAA,sBAAA,UAAA,CAAc,aAAa,GACzB,OAAO,cAAc,MAAM,oBAAoB;IAC7C,GAAG;IACH,GAAG;GACL,EAAE;GAGJ,OAAO;IAAE,GAAG;IAAa,GAAI;GAA0C;EACzE,WACO,CAAC,IAEiD;GAC3D,GAAI,aAAa,KAAA,IAAY,EAAE,SAAS,IAAI,CAAC;GAC7C,UAAU;IACR,UAAU;IACV,GAAI,wBAAwB,KAAA,IAAY,EAAE,oBAAoB,IAAI,CAAC;GACrE;GACA,GAAI,KAAK,MAAM,YAAY,KAAA,IAAY,EAAE,SAAS,KAAK,MAAM,QAAQ,IAAI,CAAC;GAC1E,GAAI,KAAK,MAAM,aAAa,KAAA,IAAY,EAAE,UAAU,KAAK,MAAM,SAAS,IAAI,CAAC;GAC7E,GAAI,KAAK,MAAM,QAAQ,YAAY,KAAA,IAAY,EAAE,SAAS,KAAK,MAAM,QAAQ,QAAQ,IAAI,CAAC;EAC5F,CAEoB,GAAS,QAAQ;CACvC;AACF;AAEA,SAAgB,eAAe,UAAiC,CAAC,GAAgB;CAC/E,OAAO,IAAI,YAAY,OAAO;AAChC"}
@@ -0,0 +1,48 @@
1
+ import { createTaserCompatHandler, NotFoundHandler, OnErrorHandler, RouteManifestShape } from '@taserjs/router-core';
2
+ import { DefineMiddlewareOptions, MultiScopedMiddlewareOptions, ScopedMiddlewareOptions } from '../define/middleware.js';
3
+ import { TaserApp } from './app.js';
4
+ import { ContextDefinition, CreateTaserAppOptions, OnErrorOptions } from '../types/app.js';
5
+ import { AppContext, ExtractState, IsUnknown, MiddlewareReturnFromParts, MiddlewareUnit } from '../types/units.js';
6
+ import { HandlerBuilder, LayoutId, MiddlewareBuilder } from '../types/index.js';
7
+ import { ReturnsMap } from '../types/returns.js';
8
+ import { Schema } from '../types/schema.js';
9
+ import { CreateAllRoute, CreateAnyRoute, CreateWithBodyRoute, CreateWithoutBodyRoute } from './factories.js';
10
+ type RouterState = {
11
+ options: CreateTaserAppOptions;
12
+ contextDef: ContextDefinition<Record<string, unknown>, Record<string, unknown>>;
13
+ onError?: OnErrorHandler;
14
+ notFound?: NotFoundHandler;
15
+ };
16
+ export declare class TaserRouter<TAppContext extends Record<string, unknown> = AppContext> {
17
+ private readonly state;
18
+ constructor(options?: CreateTaserAppOptions, state?: Partial<Omit<RouterState, "options">>);
19
+ context<TBoot extends Record<string, unknown>, TReq extends Record<string, unknown>>(definition: ContextDefinition<TBoot, TReq>): TaserRouter<TBoot & TReq>;
20
+ onError<TResponses extends ReturnsMap = ReturnsMap>(options: OnErrorOptions<TResponses> | OnErrorOptions<TResponses>["handle"]): this;
21
+ notFound(handler: (ctx: unknown) => Response | Promise<Response> | unknown): this;
22
+ get: CreateWithoutBodyRoute<"GET", TAppContext>;
23
+ post: CreateWithBodyRoute<"POST", TAppContext>;
24
+ put: CreateWithBodyRoute<"PUT", TAppContext>;
25
+ patch: CreateWithBodyRoute<"PATCH", TAppContext>;
26
+ delete: CreateWithoutBodyRoute<"DELETE", TAppContext>;
27
+ options: CreateWithoutBodyRoute<"OPTIONS", TAppContext>;
28
+ head: CreateWithoutBodyRoute<"HEAD", TAppContext>;
29
+ any: CreateAnyRoute<TAppContext>;
30
+ all: CreateAllRoute<TAppContext>;
31
+ middleware<const Layout extends LayoutId>(layout: Layout): MiddlewareBuilder<Layout, readonly [], TAppContext>;
32
+ defineHandler<TQuery = unknown, TParams = unknown, TBody = unknown>(options?: {
33
+ query?: Schema<TQuery>;
34
+ params?: Schema<TParams>;
35
+ body?: Schema<TBody>;
36
+ }): HandlerBuilder<readonly [], {
37
+ query: TQuery;
38
+ params: TParams;
39
+ body: TBody;
40
+ }, {}, TAppContext>;
41
+ defineMiddleware(middleware: Parameters<typeof createTaserCompatHandler>[0]): MiddlewareUnit<MiddlewareReturnFromParts<unknown, unknown, unknown, {}>, {}, null, {}>;
42
+ defineMiddleware<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>): MiddlewareUnit<MiddlewareReturnFromParts<TQuery, TParams, TBody, IsUnknown<TState> extends true ? ExtractState<R> : TState, TQueryIn, TParamsIn, TBodyIn>, TReturns, Layout, TRequires>;
43
+ defineMiddleware<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>): MiddlewareUnit<MiddlewareReturnFromParts<TQuery, TParams, TBody, IsUnknown<TState> extends true ? ExtractState<R> : TState, TQueryIn, TParamsIn, TBodyIn>, TReturns, Layouts, TRequires>;
44
+ defineMiddleware<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>): MiddlewareUnit<MiddlewareReturnFromParts<TQuery, TParams, TBody, IsUnknown<TState> extends true ? ExtractState<R> : TState, TQueryIn, TParamsIn, TBodyIn>, TReturns, null, TRequires>;
45
+ create<const TManifest extends RouteManifestShape>(manifest: TManifest): TaserApp<TManifest>;
46
+ }
47
+ export declare function createTaserApp(options?: CreateTaserAppOptions): TaserRouter;
48
+ export {};
@@ -1,4 +1,4 @@
1
- //#region src/create-context.ts
1
+ //#region src/context/create-context.ts
2
2
  function createContext(definition) {
3
3
  return definition;
4
4
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-context.cjs","names":[],"sources":["../../../src/context/create-context.ts"],"sourcesContent":["import type { ReservedContextKey } from \"@taserjs/router-core\";\n\nimport type { ContextDefinition } from \"../types/app.js\";\n\ntype NoReservedKeysConstraint<\n TBoot extends Record<string, unknown>,\n TReq extends Record<string, unknown>,\n> = Extract<keyof TBoot | keyof TReq, ReservedContextKey> extends never ? unknown : never;\n\nexport function createContext<\n TBoot extends Record<string, unknown> = Record<string, never>,\n TReq extends Record<string, unknown> = Record<string, never>,\n>(\n definition: ContextDefinition<TBoot, TReq> & NoReservedKeysConstraint<TBoot, TReq>,\n): ContextDefinition<TBoot, TReq> {\n return definition;\n}\n\nexport type { ContextDefinition, InferAppContext } from \"../types/app.js\";\n"],"mappings":";AASA,SAAgB,cAId,YACgC;CAChC,OAAO;AACT"}
@@ -1,5 +1,5 @@
1
1
  import { ReservedContextKey } from '@taserjs/router-core';
2
- import { ContextDefinition } from './types/app.js';
2
+ import { ContextDefinition } from '../types/app.js';
3
3
  type NoReservedKeysConstraint<TBoot extends Record<string, unknown>, TReq extends Record<string, unknown>> = Extract<keyof TBoot | keyof TReq, ReservedContextKey> extends never ? unknown : never;
4
4
  export declare function createContext<TBoot extends Record<string, unknown> = Record<string, never>, TReq extends Record<string, unknown> = Record<string, never>>(definition: ContextDefinition<TBoot, TReq> & NoReservedKeysConstraint<TBoot, TReq>): ContextDefinition<TBoot, TReq>;
5
- export type { ContextDefinition, InferAppContext } from './types/app.js';
5
+ export type { ContextDefinition, InferAppContext } from '../types/app.js';
@@ -1,4 +1,4 @@
1
- const require_constants = require("../constants.cjs");
1
+ const require_constants = require("../builder/constants.cjs");
2
2
  //#region src/define/validators.ts
3
3
  function pickDefinedSchemas(source, keyMap) {
4
4
  const result = {};
@@ -1 +1 @@
1
- {"version":3,"file":"validators.cjs","names":[],"sources":["../../../src/define/validators.ts"],"sourcesContent":["import type { Schema } from \"../types/schema.js\";\nimport { SCHEMA_KEYS, type SchemaKey } from \"../constants.js\";\n\nexport type SchemaValidators = {\n query?: Schema<unknown>;\n params?: Schema<unknown>;\n body?: Schema<unknown>;\n};\n\nexport function pickDefinedSchemas(\n source: SchemaValidators,\n keyMap?: Partial<Record<SchemaKey, string>>,\n): Record<string, Schema<unknown>> {\n const result: Record<string, Schema<unknown>> = {};\n for (const key of SCHEMA_KEYS) {\n const value = source[key];\n if (value !== undefined) {\n result[keyMap?.[key] ?? key] = value;\n }\n }\n return result;\n}\n"],"mappings":";;AASA,SAAgB,mBACd,QACA,QACiC;CACjC,MAAM,SAA0C,CAAC;CACjD,KAAK,MAAM,OAAO,kBAAA,aAAa;EAC7B,MAAM,QAAQ,OAAO;EACrB,IAAI,UAAU,KAAA,GACZ,OAAO,SAAS,QAAQ,OAAO;CAEnC;CACA,OAAO;AACT"}
1
+ {"version":3,"file":"validators.cjs","names":[],"sources":["../../../src/define/validators.ts"],"sourcesContent":["import type { Schema } from \"../types/schema.js\";\nimport { SCHEMA_KEYS, type SchemaKey } from \"../builder/constants.js\";\n\nexport type SchemaValidators = {\n query?: Schema<unknown>;\n params?: Schema<unknown>;\n body?: Schema<unknown>;\n};\n\nexport function pickDefinedSchemas(\n source: SchemaValidators,\n keyMap?: Partial<Record<SchemaKey, string>>,\n): Record<string, Schema<unknown>> {\n const result: Record<string, Schema<unknown>> = {};\n for (const key of SCHEMA_KEYS) {\n const value = source[key];\n if (value !== undefined) {\n result[keyMap?.[key] ?? key] = value;\n }\n }\n return result;\n}\n"],"mappings":";;AASA,SAAgB,mBACd,QACA,QACiC;CACjC,MAAM,SAA0C,CAAC;CACjD,KAAK,MAAM,OAAO,kBAAA,aAAa;EAC7B,MAAM,QAAQ,OAAO;EACrB,IAAI,UAAU,KAAA,GACZ,OAAO,SAAS,QAAQ,OAAO;CAEnC;CACA,OAAO;AACT"}
@@ -1,5 +1,5 @@
1
1
  import { Schema } from '../types/schema.js';
2
- import { SchemaKey } from '../constants.js';
2
+ import { SchemaKey } from '../builder/constants.js';
3
3
  export type SchemaValidators = {
4
4
  query?: Schema<unknown>;
5
5
  params?: Schema<unknown>;
@@ -1,32 +1,22 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_factories = require("./factories.cjs");
3
2
  const require_handler = require("./define/handler.cjs");
4
- const require_taser_app = require("./taser-app.cjs");
5
- const require_taser_router = require("./taser-router.cjs");
6
- const require_create_context = require("./create-context.cjs");
7
3
  const require_middleware = require("./define/middleware.cjs");
4
+ const require_app = require("./builder/app.cjs");
5
+ const require_router = require("./builder/router.cjs");
6
+ const require_create_context = require("./context/create-context.cjs");
8
7
  let _taserjs_router_utils = require("@taserjs/router-utils");
9
- exports.TaserApp = require_taser_app.TaserApp;
10
- exports.TaserNativeBound = require_taser_app.TaserNativeBound;
11
- exports.TaserRouter = require_taser_router.TaserRouter;
8
+ exports.TaserApp = require_app.TaserApp;
9
+ exports.TaserRouter = require_router.TaserRouter;
12
10
  Object.defineProperty(exports, "ValidationError", {
13
11
  enumerable: true,
14
12
  get: function() {
15
13
  return _taserjs_router_utils.ValidationError;
16
14
  }
17
15
  });
18
- exports.createAllRoute = require_factories.createAllRoute;
19
- exports.createAnyRoute = require_factories.createAnyRoute;
20
16
  exports.createContext = require_create_context.createContext;
21
- exports.createTaserApp = require_taser_router.createTaserApp;
17
+ exports.createTaserApp = require_router.createTaserApp;
22
18
  exports.defineHandler = require_handler.defineHandler;
23
19
  exports.defineMiddleware = require_middleware.defineMiddleware;
24
- Object.defineProperty(exports, "isReplyResult", {
25
- enumerable: true,
26
- get: function() {
27
- return _taserjs_router_utils.isReplyResult;
28
- }
29
- });
30
20
  Object.defineProperty(exports, "reply", {
31
21
  enumerable: true,
32
22
  get: function() {
@@ -1,12 +1,11 @@
1
1
  export type { RouterRegister } from './register.js';
2
- export type { InferInput, InferOutput, Method, PathParams, ReturnsMap, RoutePath, Schema, Simplify, } from './types/index.js';
3
- export type { ContextDefinition, CreateContextArgs, CreateTaserAppOptions, InferAppContext, InferAppManifest, OnErrorOptions, RouteManifestShape, TaserHandler, } from './types/app.js';
4
- export { isReplyResult, reply, stream, ValidationError, validationErrorSchema, } from '@taserjs/router-utils';
2
+ export type { InferInput, InferOutput, InferRouteContext, InferRouteInput, InferRouteOutput, Method, PathParams, ReturnsMap, RouteDefinition, RouteExport, RoutePath, Schema, Simplify, } from './types/index.js';
3
+ export type { ContextDefinition, CreateTaserAppOptions, InferAppContext, InferAppManifest, OnErrorOptions, RouteManifestShape, TaserHandler, } from './types/app.js';
4
+ export { reply, stream, ValidationError, validationErrorSchema } from '@taserjs/router-utils';
5
5
  export type { ReplyBodyKind, ReplyOf, ResponseValidationFailureHandler, SuccessReplyData, SuccessStatusCode, } from '@taserjs/router-utils';
6
- export { createAnyRoute, createAllRoute } from './factories.js';
7
- export { createTaserApp, TaserRouter } from './taser-router.js';
8
- export { TaserApp, TaserNativeBound } from './taser-app.js';
9
- export { createContext } from './create-context.js';
6
+ export { createTaserApp, TaserRouter } from './builder/router.js';
7
+ export { TaserApp } from './builder/app.js';
8
+ export { createContext } from './context/create-context.js';
10
9
  export { defineHandler } from './define/handler.js';
11
10
  export { defineMiddleware } from './define/middleware.js';
12
11
  export type { TaserCookieJar, TaserHeaders } from '@taserjs/router-core';
@@ -2,9 +2,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_wrap_hono = require("./wrap-hono.cjs");
3
3
  let hono_body_limit = require("hono/body-limit");
4
4
  //#region src/middleware/body-limit.ts
5
- var honoBodyLimitMiddleware = require_wrap_hono.wrapHonoMiddleware(hono_body_limit.bodyLimit);
5
+ var wrapped = require_wrap_hono.wrapHonoMiddleware(hono_body_limit.bodyLimit);
6
6
  function bodyLimit(...args) {
7
- return honoBodyLimitMiddleware(...args);
7
+ return wrapped(...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 honoBodyLimitMiddleware = wrapHonoMiddleware(honoBodyLimit);\n\nexport function bodyLimit(...args: Parameters<typeof honoBodyLimit>) {\n return honoBodyLimitMiddleware(...args);\n}\n\nexport type BodyLimitOptions = Parameters<typeof honoBodyLimit>[0];\n"],"mappings":";;;;AAIA,IAAM,0BAA0B,kBAAA,mBAAmB,gBAAA,SAAa;AAEhE,SAAgB,UAAU,GAAG,MAAwC;CACnE,OAAO,wBAAwB,GAAG,IAAI;AACxC"}
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"}
@@ -2,9 +2,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_wrap_hono = require("./wrap-hono.cjs");
3
3
  let hono_compress = require("hono/compress");
4
4
  //#region src/middleware/compress.ts
5
- var honoCompressMiddleware = require_wrap_hono.wrapHonoMiddleware(hono_compress.compress);
5
+ var wrapped = require_wrap_hono.wrapHonoMiddleware(hono_compress.compress);
6
6
  function compress(...args) {
7
- return honoCompressMiddleware(...args);
7
+ return wrapped(...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 honoCompressMiddleware = wrapHonoMiddleware(honoCompress);\n\nexport function compress(...args: Parameters<typeof honoCompress>) {\n return honoCompressMiddleware(...args);\n}\n\nexport type CompressOptions = NonNullable<Parameters<typeof honoCompress>[0]>;\n"],"mappings":";;;;AAIA,IAAM,yBAAyB,kBAAA,mBAAmB,cAAA,QAAY;AAE9D,SAAgB,SAAS,GAAG,MAAuC;CACjE,OAAO,uBAAuB,GAAG,IAAI;AACvC"}
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"}
@@ -2,9 +2,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_wrap_hono = require("./wrap-hono.cjs");
3
3
  let hono_cors = require("hono/cors");
4
4
  //#region src/middleware/cors.ts
5
- var honoCorsMiddleware = require_wrap_hono.wrapHonoMiddleware(hono_cors.cors);
5
+ var wrapped = require_wrap_hono.wrapHonoMiddleware(hono_cors.cors);
6
6
  function cors(...args) {
7
- return honoCorsMiddleware(...args);
7
+ return wrapped(...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 honoCorsMiddleware = wrapHonoMiddleware(honoCors);\n\nexport function cors(...args: Parameters<typeof honoCors>) {\n return honoCorsMiddleware(...args);\n}\n\nexport type CorsOptions = NonNullable<Parameters<typeof honoCors>[0]>;\n"],"mappings":";;;;AAIA,IAAM,qBAAqB,kBAAA,mBAAmB,UAAA,IAAQ;AAEtD,SAAgB,KAAK,GAAG,MAAmC;CACzD,OAAO,mBAAmB,GAAG,IAAI;AACnC"}
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"}
@@ -2,9 +2,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_wrap_hono = require("./wrap-hono.cjs");
3
3
  let hono_csrf = require("hono/csrf");
4
4
  //#region src/middleware/csrf.ts
5
- var honoCsrfMiddleware = require_wrap_hono.wrapHonoMiddleware(hono_csrf.csrf);
5
+ var wrapped = require_wrap_hono.wrapHonoMiddleware(hono_csrf.csrf);
6
6
  function csrf(...args) {
7
- return honoCsrfMiddleware(...args);
7
+ return wrapped(...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 honoCsrfMiddleware = wrapHonoMiddleware(honoCsrf);\n\nexport function csrf(...args: Parameters<typeof honoCsrf>) {\n return honoCsrfMiddleware(...args);\n}\n\nexport type CsrfOptions = NonNullable<Parameters<typeof honoCsrf>[0]>;\n"],"mappings":";;;;AAIA,IAAM,qBAAqB,kBAAA,mBAAmB,UAAA,IAAQ;AAEtD,SAAgB,KAAK,GAAG,MAAmC;CACzD,OAAO,mBAAmB,GAAG,IAAI;AACnC"}
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"}
@@ -2,9 +2,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_wrap_hono = require("./wrap-hono.cjs");
3
3
  let hono_etag = require("hono/etag");
4
4
  //#region src/middleware/etag.ts
5
- var honoEtagMiddleware = require_wrap_hono.wrapHonoMiddleware(hono_etag.etag);
5
+ var wrapped = require_wrap_hono.wrapHonoMiddleware(hono_etag.etag);
6
6
  function etag(...args) {
7
- return honoEtagMiddleware(...args);
7
+ return wrapped(...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 honoEtagMiddleware = wrapHonoMiddleware(honoEtag);\n\nexport function etag(...args: Parameters<typeof honoEtag>) {\n return honoEtagMiddleware(...args);\n}\n\nexport type EtagOptions = NonNullable<Parameters<typeof honoEtag>[0]>;\n"],"mappings":";;;;AAIA,IAAM,qBAAqB,kBAAA,mBAAmB,UAAA,IAAQ;AAEtD,SAAgB,KAAK,GAAG,MAAmC;CACzD,OAAO,mBAAmB,GAAG,IAAI;AACnC"}
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,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_middleware = require("../define/middleware.cjs");
3
- let _taserjs_router_core = require("@taserjs/router-core");
3
+ const require_wrap_hono = require("./wrap-hono.cjs");
4
4
  let hono_jwk = require("hono/jwk");
5
5
  //#region src/middleware/jwk.ts
6
6
  function assertJwksScheme(jwksUri, allowInsecure) {
@@ -18,13 +18,7 @@ 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
- const honoMw = (0, hono_jwk.jwk)(honoOptions, init?.headers !== void 0 ? { headers: init.headers } : void 0);
22
- return require_middleware.defineMiddleware({ handler: (ctx, next) => {
23
- return (0, _taserjs_router_core.createTaserCompatHandler)(honoMw)(ctx, async () => {
24
- const payload = ctx.var.jwtPayload;
25
- return next({ jwtPayload: payload });
26
- });
27
- } });
21
+ return require_middleware.defineMiddleware({ handler: require_wrap_hono.extractJwtPayload((0, hono_jwk.jwk)(honoOptions, init?.headers !== void 0 ? { headers: init.headers } : void 0)) });
28
22
  }
29
23
  //#endregion
30
24
  exports.jwk = jwk;