@theokit/http 1.1.2 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  import { z } from 'zod';
2
2
  import { D as DiContainer, M as MiddlewareConsumerImpl } from './middleware-consumer-DcaksawH.js';
3
3
  export { a as MiddlewareConfigProxy, b as MiddlewareFn, N as NestMiddleware, R as ResolvedMiddleware, m as middlewareMatchesPath, r as resolveOrNew, c as runMiddleware } from './middleware-consumer-DcaksawH.js';
4
+ import { A as AccessDecision, U as UndeclaredRoutePolicy } from './route-access-Bq7eKXIc.js';
5
+ export { c as classifyAccess, u as undeclaredRouteRefusal, a as undeclaredRouteWarning } from './route-access-Bq7eKXIc.js';
4
6
  import { S as ServerHandle } from './types-CGthbcon.js';
5
7
  export { ReadinessCheck, TheoApp, TheoAppOptions } from './app.js';
6
8
  import * as ReactTypes from 'react';
@@ -215,6 +217,29 @@ declare class Reflector {
215
217
  getAllAndMerge<T>(decorator: (value: T) => MethodDecorator & ClassDecorator, target: Function, propertyKey?: string | symbol): T extends (infer U)[] ? U[] : T[];
216
218
  }
217
219
 
220
+ /**
221
+ * The metadata key the framework reads to decide a controller route is open.
222
+ *
223
+ * @public
224
+ */
225
+ declare const PUBLIC_ROUTE_METADATA = "theokit:public";
226
+ /**
227
+ * Declare that a controller route may be called by anyone.
228
+ *
229
+ * ```ts
230
+ * @Get()
231
+ * @Public()
232
+ * check() { return { status: 'ok' } }
233
+ * ```
234
+ *
235
+ * The controller equivalent of `.policy('public')` on the route builder. `'public'` is a decision,
236
+ * not the absence of one — the build refuses a controller route that declares neither. Use
237
+ * `@SetMetadata`/`@UseGuards` for anything this does not say.
238
+ *
239
+ * @public
240
+ */
241
+ declare const Public: () => MethodDecorator & ClassDecorator;
242
+
218
243
  interface ThrottleOptions {
219
244
  /** Maximum requests within the TTL window. */
220
245
  limit: number;
@@ -388,6 +413,19 @@ interface WalkResult {
388
413
  guards: Function[];
389
414
  interceptors: Function[];
390
415
  filters: Function[];
416
+ /**
417
+ * What this route said about who may call it — decided HERE, once (usetheokit/theokit#576).
418
+ *
419
+ * Every controller dispatcher in this package consumes a `WalkResult`: `TheoApp`,
420
+ * `createDecoratorHandler` (which the framework's own controller dispatch reuses) and
421
+ * `httpDecoratorsPlugin`. Only the first of them classified access, and it did so by re-reading
422
+ * the metadata itself — so the other two served an undeclared route no matter what the app had
423
+ * configured, and a fourth dispatcher would have shipped with the same hole.
424
+ *
425
+ * Computing it on the walk is what makes "a route nobody declared is refused" a property of the
426
+ * package rather than of whichever dispatcher someone remembered to patch.
427
+ */
428
+ access: AccessDecision;
391
429
  /**
392
430
  * M47 — set when the member is bound via `@Expose(agent, opts)`. The dispatcher delegates such routes to
393
431
  * the agent runtime (`mountAgent`) instead of invoking a JSON handler. `undefined` for normal verb routes.
@@ -490,6 +528,17 @@ interface CreateDecoratorServerOptions {
490
528
  configure?: (consumer: MiddlewareConsumerImpl) => void;
491
529
  /** M47 — required when any controller `@Expose`-binds an agent; serves the agent route. */
492
530
  serveAgent?: ServeAgent;
531
+ /**
532
+ * What to do with a controller route that declared no access decision (#576).
533
+ *
534
+ * `'deny'` (default) refuses with 403. `'warn'` serves it after saying so once per route.
535
+ *
536
+ * This seam is where least privilege has to hold, not only `TheoApp`: the framework's own
537
+ * controller dispatch reuses this handler, `theokit dev` never runs the build gate that refuses
538
+ * an undeclared controller, and `@theokit/http` is published on its own. A gate that lives in one
539
+ * of three dispatchers is a lint, which is exactly what #576 reported.
540
+ */
541
+ undeclaredRoutes?: UndeclaredRoutePolicy;
493
542
  }
494
543
  /**
495
544
  * A pure Web-Standard controller handler: callable as `(request) => Response | null`
@@ -1277,7 +1326,12 @@ declare function tryGetRequestContext(): TheoRequestContext | null;
1277
1326
  */
1278
1327
  interface ErrorContext {
1279
1328
  route?: string;
1280
- phase?: 'guard' | 'interceptor' | 'handler' | 'filter' | 'agent';
1329
+ /**
1330
+ * `'construction'` is the controller never coming into existence — distinct from `'handler'`,
1331
+ * which is its method throwing. #577: the first has no instance to blame and takes out every
1332
+ * route on the class, so an operator reading a digest needs to tell the two apart.
1333
+ */
1334
+ phase?: 'construction' | 'guard' | 'interceptor' | 'handler' | 'filter' | 'agent';
1281
1335
  source?: string;
1282
1336
  }
1283
1337
  interface DigestedError {
@@ -1426,4 +1480,4 @@ declare function revalidatePath(path: string): void;
1426
1480
  */
1427
1481
  declare function getRevalidationSignals(): RevalidationSignal[];
1428
1482
 
1429
- export { All, type ArgumentsHost, BadGatewayException, BadRequestException, Body, CATCH_EXCEPTIONS, CONTROLLER_PREFIX, type CanActivate, Catch, ConflictException, Controller, type ControllerMeta, type ControllerOptions, type CreateDecoratorServerOptions, type DecoratorHandler, Delete, DiContainer, type DigestedError, EXPOSE_AGENT, type ErrorContext, type ExceptionFilter, type ExecutionContext, Expose, type ExposeEntry, type ExposeOptions, ForbiddenException, GatewayTimeoutException, Get, GoneException, Head, Header, Headers, HostParam, HttpCode, HttpDecoratorsConfigError, HttpException, type HttpExceptionOptions, HttpStatus, type HttpStatusCode, type HttpVerb, HttpVersionNotSupportedException, ImATeapotException, type Interceptor, InternalServerErrorException, Ip, type MetadataKey, MethodNotAllowedException, MiddlewareConsumerImpl, NotAcceptableException, NotFoundException, NotImplementedException, Options, Param, type ParamEntry, type ParamSource, Patch, PayloadTooLargeException, Post, PreconditionFailedException, Put, Query, ROUTE_HEADERS, ROUTE_METHODS, ROUTE_PARAMS, ROUTE_REDIRECT, ROUTE_STATUS, Redirect, type RedirectMeta, Reflector, Req, RequestTimeoutException, Res, type RevalidationSignal, type RouteDefinition, type RouteMap, type RouteMethodEntry, type RouteRegistration, type RouteTree, type ServeAgent, ServiceUnavailableException, Session, SetMetadata, SkipThrottle, type StaticOptions, type StreamRenderOptions, type StreamRenderResult, type SwcCore, type TheoRequestContext, Throttle, type ThrottleOptions, TooManyRequestsException, type TypedClient, TypedClientError, USE_FILTERS, USE_GUARDS, USE_INTERCEPTORS, UnauthorizedException, UnprocessableEntityException, UnsupportedMediaTypeException, UseFilters, UseGuards, UseInterceptors, type WalkResult, composeComponentTree, contract, createDecorator, createDecoratorHandler, createDecoratorServer, createExecutionContext, createStaticHandler, createTypedClient, digestError, getMeta, getMimeType, getRequestContext, getRevalidationSignals, getThrottleOptions, isControllerClass, isSafePath, isThrottleSkipped, joinPath, loadControllerWithSwc, loadControllersFromGlob, registerControllers, renderToStream, resolveDtoSchema, revalidatePath, revalidateTag, runExceptionFilters, runInterceptors, setMeta, streamToResponse, transformControllerSource, tryGetRequestContext, walkControllerMetadata };
1483
+ export { AccessDecision, All, type ArgumentsHost, BadGatewayException, BadRequestException, Body, CATCH_EXCEPTIONS, CONTROLLER_PREFIX, type CanActivate, Catch, ConflictException, Controller, type ControllerMeta, type ControllerOptions, type CreateDecoratorServerOptions, type DecoratorHandler, Delete, DiContainer, type DigestedError, EXPOSE_AGENT, type ErrorContext, type ExceptionFilter, type ExecutionContext, Expose, type ExposeEntry, type ExposeOptions, ForbiddenException, GatewayTimeoutException, Get, GoneException, Head, Header, Headers, HostParam, HttpCode, HttpDecoratorsConfigError, HttpException, type HttpExceptionOptions, HttpStatus, type HttpStatusCode, type HttpVerb, HttpVersionNotSupportedException, ImATeapotException, type Interceptor, InternalServerErrorException, Ip, type MetadataKey, MethodNotAllowedException, MiddlewareConsumerImpl, NotAcceptableException, NotFoundException, NotImplementedException, Options, PUBLIC_ROUTE_METADATA, Param, type ParamEntry, type ParamSource, Patch, PayloadTooLargeException, Post, PreconditionFailedException, Public, Put, Query, ROUTE_HEADERS, ROUTE_METHODS, ROUTE_PARAMS, ROUTE_REDIRECT, ROUTE_STATUS, Redirect, type RedirectMeta, Reflector, Req, RequestTimeoutException, Res, type RevalidationSignal, type RouteDefinition, type RouteMap, type RouteMethodEntry, type RouteRegistration, type RouteTree, type ServeAgent, ServiceUnavailableException, Session, SetMetadata, SkipThrottle, type StaticOptions, type StreamRenderOptions, type StreamRenderResult, type SwcCore, type TheoRequestContext, Throttle, type ThrottleOptions, TooManyRequestsException, type TypedClient, TypedClientError, USE_FILTERS, USE_GUARDS, USE_INTERCEPTORS, UnauthorizedException, UndeclaredRoutePolicy, UnprocessableEntityException, UnsupportedMediaTypeException, UseFilters, UseGuards, UseInterceptors, type WalkResult, composeComponentTree, contract, createDecorator, createDecoratorHandler, createDecoratorServer, createExecutionContext, createStaticHandler, createTypedClient, digestError, getMeta, getMimeType, getRequestContext, getRevalidationSignals, getThrottleOptions, isControllerClass, isSafePath, isThrottleSkipped, joinPath, loadControllerWithSwc, loadControllersFromGlob, registerControllers, renderToStream, resolveDtoSchema, revalidatePath, revalidateTag, runExceptionFilters, runInterceptors, setMeta, streamToResponse, transformControllerSource, tryGetRequestContext, walkControllerMetadata };
package/dist/index.js CHANGED
@@ -7,7 +7,7 @@ import {
7
7
  renderToStream,
8
8
  streamToResponse,
9
9
  tryGetRequestContext
10
- } from "./chunk-ELVQOG52.js";
10
+ } from "./chunk-6HVQHSPX.js";
11
11
  import {
12
12
  MiddlewareConsumerImpl,
13
13
  isControllerClass,
@@ -17,17 +17,25 @@ import {
17
17
  resolveBody,
18
18
  runMiddleware,
19
19
  transformControllerSource
20
- } from "./chunk-6CFF7Q4Z.js";
20
+ } from "./chunk-BXJBQ4EH.js";
21
21
  import {
22
22
  runExceptionFilters
23
23
  } from "./chunk-HC47QXZV.js";
24
24
  import {
25
25
  HttpDecoratorsConfigError,
26
+ PUBLIC_ROUTE_METADATA,
27
+ Public,
28
+ Reflector,
29
+ SetMetadata,
30
+ classifyAccess,
31
+ createDecorator,
26
32
  createExecutionContext,
27
33
  joinPath,
28
34
  resolveDtoSchema,
35
+ undeclaredRouteRefusal,
36
+ undeclaredRouteWarning,
29
37
  walkControllerMetadata
30
- } from "./chunk-X7Q5HPLK.js";
38
+ } from "./chunk-R72YKDQ4.js";
31
39
  import {
32
40
  BadGatewayException,
33
41
  BadRequestException,
@@ -263,131 +271,6 @@ function Catch(...exceptions) {
263
271
  }
264
272
  __name(Catch, "Catch");
265
273
 
266
- // src/decorators/set-metadata.ts
267
- import "reflect-metadata";
268
- var decoratorKeyCounter = 0;
269
- function createDecorator() {
270
- const key = /* @__PURE__ */ Symbol.for(`theokit:custom:${++decoratorKeyCounter}`);
271
- const decorator = /* @__PURE__ */ __name((value) => {
272
- return (target, propertyKey) => {
273
- const metaTarget = propertyKey !== void 0 ? target.constructor : target;
274
- Reflect.defineMetadata(key, value, metaTarget, propertyKey);
275
- };
276
- }, "decorator");
277
- decorator.key = key;
278
- return decorator;
279
- }
280
- __name(createDecorator, "createDecorator");
281
- function SetMetadata(metaKey, value) {
282
- return (target, propertyKey) => {
283
- const metaTarget = propertyKey !== void 0 ? target.constructor : target;
284
- Reflect.defineMetadata(metaKey, value, metaTarget, propertyKey);
285
- };
286
- }
287
- __name(SetMetadata, "SetMetadata");
288
- var Reflector = class {
289
- static {
290
- __name(this, "Reflector");
291
- }
292
- /**
293
- * Read metadata set by a typed decorator created via createDecorator<T>().
294
- *
295
- * @example
296
- * ```ts
297
- * const Roles = createDecorator<string[]>()
298
- * const reflector = new Reflector()
299
- * const roles = reflector.get(Roles, handlerFn) // string[] | undefined
300
- * ```
301
- */
302
- get(decorator, target, propertyKey) {
303
- const key = decorator.key;
304
- if (!key) return void 0;
305
- if (propertyKey !== void 0) {
306
- return Reflect.getMetadata(key, target, propertyKey);
307
- }
308
- return Reflect.getMetadata(key, target);
309
- }
310
- /**
311
- * Read metadata set by @SetMetadata(key, value).
312
- */
313
- getByKey(key, target, propertyKey) {
314
- if (propertyKey !== void 0) {
315
- return Reflect.getMetadata(key, target, propertyKey);
316
- }
317
- return Reflect.getMetadata(key, target);
318
- }
319
- /**
320
- * Read metadata checking method-level first, then class-level.
321
- * Returns the first non-undefined value found.
322
- *
323
- * NestJS equivalent: `reflector.getAllAndOverride(ROLES_KEY, [context.getHandler(), context.getClass()])`
324
- *
325
- * @example
326
- * ```ts
327
- * const Roles = createDecorator<string[]>()
328
- * // In a guard:
329
- * const roles = reflector.getAllAndOverride(Roles, context.getClass(), context.getMethodName())
330
- * // Checks method-level @Roles first, falls back to class-level @Roles
331
- * ```
332
- */
333
- getAllAndOverride(decorator, target, propertyKey) {
334
- if (propertyKey !== void 0) {
335
- const methodLevel = this.get(decorator, target, propertyKey);
336
- if (methodLevel !== void 0) return methodLevel;
337
- }
338
- return this.get(decorator, target);
339
- }
340
- /**
341
- * Read metadata checking method-level first, then class-level, by raw key.
342
- * Returns the first non-undefined value found.
343
- */
344
- getAllAndOverrideByKey(key, target, propertyKey) {
345
- if (propertyKey !== void 0) {
346
- const methodLevel = this.getByKey(key, target, propertyKey);
347
- if (methodLevel !== void 0) return methodLevel;
348
- }
349
- return this.getByKey(key, target);
350
- }
351
- /**
352
- * Read metadata from both method-level and class-level, merging arrays.
353
- * Returns all found values as a flat array.
354
- *
355
- * NestJS equivalent: `reflector.getAllAndMerge(ROLES_KEY, [context.getHandler(), context.getClass()])`
356
- *
357
- * @example
358
- * ```ts
359
- * const Tags = createDecorator<string[]>()
360
- *
361
- * @Tags(['api'])
362
- * @Controller('cats')
363
- * class CatsCtrl {
364
- * @Tags(['read'])
365
- * @Get()
366
- * findAll() {}
367
- * }
368
- *
369
- * reflector.getAllAndMerge(Tags, CatsCtrl, 'findAll')
370
- * // → ['read', 'api'] (method + class merged)
371
- * ```
372
- */
373
- getAllAndMerge(decorator, target, propertyKey) {
374
- const result = [];
375
- if (propertyKey !== void 0) {
376
- const methodLevel = this.get(decorator, target, propertyKey);
377
- if (methodLevel !== void 0) {
378
- if (Array.isArray(methodLevel)) result.push(...methodLevel);
379
- else result.push(methodLevel);
380
- }
381
- }
382
- const classLevel = this.get(decorator, target);
383
- if (classLevel !== void 0) {
384
- if (Array.isArray(classLevel)) result.push(...classLevel);
385
- else result.push(classLevel);
386
- }
387
- return result;
388
- }
389
- };
390
-
391
274
  // src/decorators/throttle.ts
392
275
  var THROTTLE_KEY = /* @__PURE__ */ Symbol.for("theokit:http-decorators:throttle");
393
276
  var SKIP_THROTTLE_KEY = /* @__PURE__ */ Symbol.for("theokit:http-decorators:skip-throttle");
@@ -439,13 +322,76 @@ __name(registerControllers, "registerControllers");
439
322
 
440
323
  // src/bridge/create-server.ts
441
324
  import "reflect-metadata";
325
+
326
+ // src/error-digest.ts
327
+ function djb2(input) {
328
+ let hash = 5381;
329
+ for (let i = 0; i < input.length; i++) {
330
+ hash = (hash << 5) + hash + input.charCodeAt(i) | 0;
331
+ }
332
+ return (hash >>> 0).toString(16);
333
+ }
334
+ __name(djb2, "djb2");
335
+ function digestError(err, context = {}) {
336
+ const message = extractMessage(err);
337
+ const status = extractStatus(err);
338
+ const rawStack = extractStack(err);
339
+ const digest = djb2(message);
340
+ const isProduction = process.env.NODE_ENV === "production";
341
+ return {
342
+ digest,
343
+ message,
344
+ status,
345
+ context,
346
+ ...rawStack && !isProduction ? {
347
+ stack: rawStack
348
+ } : {}
349
+ };
350
+ }
351
+ __name(digestError, "digestError");
352
+ function extractMessage(err) {
353
+ if (err instanceof Error) {
354
+ return err.message;
355
+ }
356
+ if (typeof err === "string") {
357
+ return err;
358
+ }
359
+ if (typeof err === "number") {
360
+ return String(err);
361
+ }
362
+ try {
363
+ return JSON.stringify(err);
364
+ } catch {
365
+ return "Unknown error";
366
+ }
367
+ }
368
+ __name(extractMessage, "extractMessage");
369
+ function extractStatus(err) {
370
+ if (err instanceof HttpException) {
371
+ return err.statusCode;
372
+ }
373
+ return 500;
374
+ }
375
+ __name(extractStatus, "extractStatus");
376
+ function extractStack(err) {
377
+ if (err instanceof Error) {
378
+ return err.stack;
379
+ }
380
+ return void 0;
381
+ }
382
+ __name(extractStack, "extractStack");
383
+
384
+ // src/bridge/create-server.ts
442
385
  function createDecoratorHandler(controllersOrOpts) {
443
- const { controllers, container, configure, serveAgent } = Array.isArray(controllersOrOpts) ? {
386
+ const { controllers, container, configure, serveAgent, undeclaredRoutes } = Array.isArray(controllersOrOpts) ? {
444
387
  controllers: controllersOrOpts,
445
388
  container: void 0,
446
389
  configure: void 0,
447
- serveAgent: void 0
390
+ serveAgent: void 0,
391
+ undeclaredRoutes: void 0
448
392
  } : controllersOrOpts;
393
+ const undeclaredPolicy = undeclaredRoutes ?? "deny";
394
+ const warnedUndeclared = /* @__PURE__ */ new Set();
449
395
  const middlewareConsumer = new MiddlewareConsumerImpl(container);
450
396
  if (configure) configure(middlewareConsumer);
451
397
  const middlewareEntries = middlewareConsumer.getEntries();
@@ -458,12 +404,24 @@ function createDecoratorHandler(controllersOrOpts) {
458
404
  }
459
405
  const routes = [];
460
406
  for (const Ctor of unique) {
461
- const instance = resolveOrNew(Ctor, container);
462
- const walks = walkControllerMetadata(Ctor);
463
- for (const w of walks) {
407
+ let built;
408
+ try {
409
+ built = {
410
+ instance: resolveOrNew(Ctor, container)
411
+ };
412
+ } catch (error) {
413
+ built = {
414
+ failure: {
415
+ controllerName: Ctor.name,
416
+ error
417
+ }
418
+ };
419
+ console.error(`[theokit] controller ${Ctor.name} failed to construct \u2014 its routes will answer 500:`, error instanceof Error ? error.message : String(error));
420
+ }
421
+ for (const walk of walkControllerMetadata(Ctor)) {
464
422
  routes.push({
465
- walk: w,
466
- instance
423
+ walk,
424
+ ...built
467
425
  });
468
426
  }
469
427
  }
@@ -473,7 +431,16 @@ function createDecoratorHandler(controllersOrOpts) {
473
431
  if (aP !== bP) return aP ? 1 : -1;
474
432
  return 0;
475
433
  });
476
- const handler = /* @__PURE__ */ __name((request) => handleRequest(routes, request, container, middlewareEntries, serveAgent), "handler");
434
+ const dispatchDeps = {
435
+ container,
436
+ middlewareEntries,
437
+ serveAgent,
438
+ undeclared: {
439
+ policy: undeclaredPolicy,
440
+ warned: warnedUndeclared
441
+ }
442
+ };
443
+ const handler = /* @__PURE__ */ __name((request) => handleRequest(routes, request, dispatchDeps), "handler");
477
444
  handler.matches = (method, pathname) => findRoute(routes, method.toUpperCase(), pathname) !== null;
478
445
  return handler;
479
446
  }
@@ -494,16 +461,49 @@ function createDecoratorServer(controllersOrOpts) {
494
461
  });
495
462
  }
496
463
  __name(createDecoratorServer, "createDecoratorServer");
497
- async function handleRequest(routes, request, container, middlewareEntries = [], serveAgent) {
464
+ async function handleRequest(routes, request, deps) {
465
+ const { container, middlewareEntries, serveAgent, undeclared } = deps;
498
466
  const url = new URL(request.url);
499
467
  const method = request.method.toUpperCase();
500
468
  const pathname = url.pathname;
501
469
  const match = findRoute(routes, method, pathname);
502
470
  if (!match) return null;
503
- const { walk, instance, params } = match;
471
+ const { walk, params } = match;
472
+ if ("failure" in match) {
473
+ const { controllerName, error } = match.failure;
474
+ const digested = digestError(error, {
475
+ route: `${method} ${pathname}`,
476
+ phase: "construction",
477
+ source: controllerName
478
+ });
479
+ return jsonResponse(500, {
480
+ error: {
481
+ code: "CONTROLLER_CONSTRUCTION_FAILED",
482
+ // The cause, named, with the controller that failed: an operator has to be able to act on
483
+ // this without attaching a debugger. `digestError` is what keeps the stack out of a
484
+ // production response — the same redaction every other error path here gets.
485
+ message: `Controller ${controllerName} failed to construct: ${digested.message}`,
486
+ digest: digested.digest,
487
+ ...digested.stack === void 0 ? {} : {
488
+ stack: digested.stack
489
+ }
490
+ }
491
+ });
492
+ }
493
+ const { instance } = match;
504
494
  try {
505
495
  const mwResponse = await runMiddleware(middlewareEntries, request, pathname);
506
496
  if (mwResponse) return mwResponse;
497
+ if (walk.access === "undeclared") {
498
+ if (undeclared.policy === "deny") {
499
+ const ex = new ForbiddenException(undeclaredRouteRefusal("controller", pathname));
500
+ return jsonResponse(ex.statusCode, ex.toJSON());
501
+ }
502
+ if (!undeclared.warned.has(pathname)) {
503
+ undeclared.warned.add(pathname);
504
+ console.warn(undeclaredRouteWarning("controller", pathname));
505
+ }
506
+ }
507
507
  const ctx = createExecutionContext(request, instance.constructor, walk.propertyKey);
508
508
  const guardResponse = await runGuards(walk.guards, ctx, container);
509
509
  if (guardResponse) return guardResponse;
@@ -592,12 +592,11 @@ function jsonResponse(status, body) {
592
592
  }
593
593
  __name(jsonResponse, "jsonResponse");
594
594
  function findRoute(routes, method, pathname) {
595
- for (const { walk, instance } of routes) {
596
- if (walk.verb !== "ALL" && walk.verb !== method) continue;
597
- const params = matchPath(walk.fullPath, pathname);
595
+ for (const entry of routes) {
596
+ if (entry.walk.verb !== "ALL" && entry.walk.verb !== method) continue;
597
+ const params = matchPath(entry.walk.fullPath, pathname);
598
598
  if (params !== null) return {
599
- walk,
600
- instance,
599
+ ...entry,
601
600
  params
602
601
  };
603
602
  }
@@ -709,64 +708,6 @@ function contract(routes) {
709
708
  }
710
709
  __name(contract, "contract");
711
710
 
712
- // src/error-digest.ts
713
- function djb2(input) {
714
- let hash = 5381;
715
- for (let i = 0; i < input.length; i++) {
716
- hash = (hash << 5) + hash + input.charCodeAt(i) | 0;
717
- }
718
- return (hash >>> 0).toString(16);
719
- }
720
- __name(djb2, "djb2");
721
- function digestError(err, context = {}) {
722
- const message = extractMessage(err);
723
- const status = extractStatus(err);
724
- const rawStack = extractStack(err);
725
- const digest = djb2(message);
726
- const isProduction = process.env.NODE_ENV === "production";
727
- return {
728
- digest,
729
- message,
730
- status,
731
- context,
732
- ...rawStack && !isProduction ? {
733
- stack: rawStack
734
- } : {}
735
- };
736
- }
737
- __name(digestError, "digestError");
738
- function extractMessage(err) {
739
- if (err instanceof Error) {
740
- return err.message;
741
- }
742
- if (typeof err === "string") {
743
- return err;
744
- }
745
- if (typeof err === "number") {
746
- return String(err);
747
- }
748
- try {
749
- return JSON.stringify(err);
750
- } catch {
751
- return "Unknown error";
752
- }
753
- }
754
- __name(extractMessage, "extractMessage");
755
- function extractStatus(err) {
756
- if (err instanceof HttpException) {
757
- return err.statusCode;
758
- }
759
- return 500;
760
- }
761
- __name(extractStatus, "extractStatus");
762
- function extractStack(err) {
763
- if (err instanceof Error) {
764
- return err.stack;
765
- }
766
- return void 0;
767
- }
768
- __name(extractStack, "extractStack");
769
-
770
711
  // src/component-tree.ts
771
712
  function createErrorBoundary(React, FallbackComponent) {
772
713
  return class ErrorBoundary extends React.Component {
@@ -889,11 +830,13 @@ export {
889
830
  NotFoundException,
890
831
  NotImplementedException,
891
832
  Options,
833
+ PUBLIC_ROUTE_METADATA,
892
834
  Param,
893
835
  Patch,
894
836
  PayloadTooLargeException,
895
837
  Post,
896
838
  PreconditionFailedException,
839
+ Public,
897
840
  Put,
898
841
  Query,
899
842
  ROUTE_HEADERS,
@@ -923,6 +866,7 @@ export {
923
866
  UseFilters,
924
867
  UseGuards,
925
868
  UseInterceptors,
869
+ classifyAccess,
926
870
  composeComponentTree,
927
871
  contract,
928
872
  createDecorator,
@@ -957,6 +901,8 @@ export {
957
901
  streamToResponse,
958
902
  transformControllerSource,
959
903
  tryGetRequestContext,
904
+ undeclaredRouteRefusal,
905
+ undeclaredRouteWarning,
960
906
  walkControllerMetadata
961
907
  };
962
908
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/decorators/controller.ts","../src/decorators/methods.ts","../src/decorators/params.ts","../src/decorators/expose.ts","../src/decorators/response.ts","../src/decorators/middleware.ts","../src/decorators/set-metadata.ts","../src/decorators/throttle.ts","../src/bridge/register-controllers.ts","../src/bridge/create-server.ts","../src/typed-client.ts","../src/contract.ts","../src/error-digest.ts","../src/component-tree.ts","../src/cache-signal.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,SAASA,YAAYC,WAAiB;AACpC,QAAMC,WAAWD,UAAUE,QAAQ,eAAe,EAAA;AAClD,QAAMC,QAAQF,SACXC,QAAQ,sBAAsB,OAAA,EAC9BA,QAAQ,wBAAwB,OAAA,EAChCE,YAAW;AACd,SAAO,OAAOD,KAAAA;AAChB;AAPSJ;AA6BF,SAASM,WACdC,cACAC,WAA6B;AAE7B,SAAO,CAACC,WAAAA;AACN,QAAIC;AACJ,QAAIC;AAEJ,QAAI,OAAOJ,iBAAiB,UAAU;AACpCG,eAASH;AACTI,aAAOH,aAAa,CAAC;IACvB,OAAO;AAELE,eAASV,YAAYS,OAAOG,IAAI;AAChCD,aAAOJ,gBAAgB,CAAC;IAC1B;AAEAM,YAAwBC,mBAAmBL,QAAQ;MACjDC;MACAK,MAAMJ,KAAKI;IACb,CAAA;EACF;AACF;AAtBgBT;;;ACzChB,SAASU,kBAAkBC,MAAc;AACvC,SAAO,SAAUC,OAAO,IAAE;AACxB,WAAO,CAACC,QAAQC,gBAAAA;AACd,YAAMC,WAAWC,QAA4BC,eAAeJ,OAAO,WAAW,KAAK,CAAA;AACnFE,eAASG,KAAK;QAAEP;QAAMC;QAAME;MAAY,CAAA;AACxCK,cAAQF,eAAeJ,OAAO,aAAaE,QAAAA;IAC7C;EACF;AACF;AARSL;AAUF,IAAMU,MAAMV,kBAAkB,KAAA;AAC9B,IAAMW,OAAOX,kBAAkB,MAAA;AAC/B,IAAMY,MAAMZ,kBAAkB,KAAA;AAC9B,IAAMa,QAAQb,kBAAkB,OAAA;AAChC,IAAMc,SAASd,kBAAkB,QAAA;AACjC,IAAMe,UAAUf,kBAAkB,SAAA;AAClC,IAAMgB,OAAOhB,kBAAkB,MAAA;AAC/B,IAAMiB,MAAMjB,kBAAkB,KAAA;;;ACDrC,SAASkB,YAAYC,GAAU;AAC7B,SACEA,MAAM,QACNA,MAAMC,UACN,OAAOD,MAAM,YACb,OAAQA,EAA8BE,cAAc;AAExD;AAPSH;AAST,SAASI,mBAAmBC,QAAmB;AAQ7C,SAAO,SAAUC,aAAgC;AAC/C,WAAO,CAACC,QAAQC,aAAaC,mBAAAA;AAC3B,UAAID,gBAAgBN,OAAW;AAC/B,YAAMQ,MACJC,QAA4CC,cAAcL,OAAO,WAAW,KAAK,oBAAIM,IAAAA;AACvF,YAAMC,UAAUJ,IAAIK,IAAIP,WAAAA,KAAgB,CAAA;AAExC,YAAMQ,QAAoB;QAAEX;QAAQY,OAAOR;MAAe;AAC1D,UAAI,OAAOH,gBAAgB,UAAU;AACnCU,cAAME,MAAMZ;MACd,WAAWN,YAAYM,WAAAA,GAAc;AACnCU,cAAMG,SAASb;MACjB;AAEAQ,cAAQM,KAAKJ,KAAAA;AACbN,UAAIW,IAAIb,aAAaM,OAAAA;AACrBQ,cAAQV,cAAcL,OAAO,aAAaG,GAAAA;IAC5C;EACF;AACF;AA3BSN;AA6BF,IAAMmB,MAAMnB,mBAAmB,KAAA;AAC/B,IAAMoB,OAAOpB,mBAAmB,MAAA;AAChC,IAAMqB,QAAQrB,mBAAmB,OAAA;AACjC,IAAMsB,QAAQtB,mBAAmB,OAAA;AACjC,IAAMuB,UAAUvB,mBAAmB,SAAA;AACnC,IAAMwB,UAAUxB,mBAAmB,SAAA;AACnC,IAAMyB,KAAKzB,mBAAmB,IAAA;AAC9B,IAAM0B,YAAY1B,mBAAmB,MAAA;AAErC,SAAS2B,IAAIC,MAAgC;AAClD,SAAO,CAACzB,QAAQC,aAAaC,mBAAAA;AAC3B,QAAID,gBAAgBN,OAAW;AAC/B,UAAMQ,MACJC,QAA4CC,cAAcL,OAAO,WAAW,KAAK,oBAAIM,IAAAA;AACvF,UAAMC,UAAUJ,IAAIK,IAAIP,WAAAA,KAAgB,CAAA;AACxCM,YAAQM,KAAK;MACXf,QAAQ;MACRY,OAAOR;MACPwB,aAAaD,MAAMC;IACrB,CAAA;AACAvB,QAAIW,IAAIb,aAAaM,OAAAA;AACrBQ,YAAQV,cAAcL,OAAO,aAAaG,GAAAA;EAC5C;AACF;AAdgBqB;;;AC1BT,SAASG,OAAOC,OAAgBC,OAAsB,CAAC,GAAC;AAC7D,SAAO,CAACC,QAAgBC,gBAAAA;AACtB,UAAMC,WAAWC,QAAuBC,cAAcJ,OAAO,WAAW,KAAK,CAAA;AAC7EE,aAASG,KAAK;MAAEP;MAAOC;MAAME;IAAY,CAAA;AACzCK,YAAQF,cAAcJ,OAAO,aAAaE,QAAAA;EAC5C;AACF;AANgBL;;;AC7CT,SAASU,SAASC,QAAc;AACrC,SAAO,CAACC,QAAQC,gBAAAA;AACdC,YAAQC,cAAcH,OAAO,aAAaD,QAAQE,WAAAA;EACpD;AACF;AAJgBH;AAMT,SAASM,OAAOC,MAAcC,OAAa;AAChD,SAAO,CAACN,QAAQC,gBAAAA;AACd,UAAMM,WACJC,QAA4BC,eAAeT,OAAO,aAAaC,WAAAA,KAAgB,CAAA;AACjFM,aAASG,KAAK;MAACL;MAAMC;KAAM;AAC3BJ,YAAQO,eAAeT,OAAO,aAAaO,UAAUN,WAAAA;EACvD;AACF;AAPgBG;AAcT,SAASO,SAASC,KAAab,SAAS,KAAG;AAChD,SAAO,CAACC,QAAQC,gBAAAA;AACdC,YAAsBW,gBAAgBb,OAAO,aAAa;MAAEY;MAAKb;IAAO,GAAGE,WAAAA;EAC7E;AACF;AAJgBU;;;ACbT,SAASG,aACXC,QAAkB;AAIrB,SAAO,CAACC,QAAgBC,gBAAAA;AACtB,UAAMC,eAAeD,cAAcD,OAAO,cAAcA;AACxD,UAAMG,WAAWC,QAAoBC,YAAYH,cAAcD,WAAAA,KAAgB,CAAA;AAC/EK,YAAQD,YAAYH,cAAc;SAAIC;SAAaJ;OAASE,WAAAA;EAC9D;AACF;AAVgBH;AAYT,SAASS,mBAAmBC,cAAwB;AACzD,SAAO,CAACR,QAAgBC,gBAAAA;AACtB,UAAMC,eAAeD,cAAcD,OAAO,cAAcA;AACxD,UAAMG,WAAWC,QAAoBK,kBAAkBP,cAAcD,WAAAA,KAAgB,CAAA;AACrFK,YAAQG,kBAAkBP,cAAc;SAAIC;SAAaK;OAAeP,WAAAA;EAC1E;AACF;AANgBM;AAQT,SAASG,cAAcC,SAAmB;AAC/C,SAAO,CAACX,QAAgBC,gBAAAA;AACtB,UAAMC,eAAeD,cAAcD,OAAO,cAAcA;AACxD,UAAMG,WAAWC,QAAoBQ,aAAaV,cAAcD,WAAAA,KAAgB,CAAA;AAChFK,YAAQM,aAAaV,cAAc;SAAIC;SAAaQ;OAAUV,WAAAA;EAChE;AACF;AANgBS;AAUT,SAASG,SAASC,YAAsB;AAC7C,SAAO,CAACd,WAAAA;AACNM,YAAQS,kBAAkBf,QAAQc,UAAAA;EACpC;AACF;AAJgBD;;;AChChB,OAAO;AAsBP,IAAIG,sBAAsB;AAEnB,SAASC,kBAAAA;AACd,QAAMC,MAAMC,uBAAOC,IAAI,kBAAkB,EAAEJ,mBAAAA,EAAqB;AAEhE,QAAMK,YAAY,wBAACC,UAAAA;AACjB,WAAO,CAACC,QAAgBC,gBAAAA;AACtB,YAAMC,aAAaD,gBAAgBE,SAAYH,OAAO,cAAcA;AACpEI,cAAQC,eAAeV,KAAKI,OAAOG,YAAYD,WAAAA;IACjD;EACF,GALkB;AAQhBH,YAAiDH,MAAMA;AACzD,SAAOG;AACT;AAbgBJ;AAqBT,SAASY,YACdC,SACAR,OAAQ;AAER,SAAO,CAACC,QAAgBC,gBAAAA;AACtB,UAAMC,aAAaD,gBAAgBE,SAAYH,OAAO,cAAcA;AACpEI,YAAQC,eAAeE,SAASR,OAAOG,YAAYD,WAAAA;EACrD;AACF;AARgBK;AAeT,IAAME,YAAN,MAAMA;EAnEb,OAmEaA;;;;;;;;;;;;;EAWXC,IACEX,WACAE,QACAC,aACe;AACf,UAAMN,MAAOG,UAAuCH;AACpD,QAAI,CAACA,IAAK,QAAOQ;AACjB,QAAIF,gBAAgBE,QAAW;AAC7B,aAAOC,QAAQM,YAAYf,KAAKK,QAAQC,WAAAA;IAC1C;AACA,WAAOG,QAAQM,YAAYf,KAAKK,MAAAA;EAClC;;;;EAKAW,SACEhB,KACAK,QACAC,aACe;AACf,QAAIA,gBAAgBE,QAAW;AAC7B,aAAOC,QAAQM,YAAYf,KAAKK,QAAQC,WAAAA;IAC1C;AACA,WAAOG,QAAQM,YAAYf,KAAKK,MAAAA;EAClC;;;;;;;;;;;;;;;EAgBAY,kBACEd,WACAE,QACAC,aACe;AACf,QAAIA,gBAAgBE,QAAW;AAC7B,YAAMU,cAAc,KAAKJ,IAAIX,WAAWE,QAAQC,WAAAA;AAChD,UAAIY,gBAAgBV,OAAW,QAAOU;IACxC;AACA,WAAO,KAAKJ,IAAIX,WAAWE,MAAAA;EAC7B;;;;;EAMAc,uBACEnB,KACAK,QACAC,aACe;AACf,QAAIA,gBAAgBE,QAAW;AAC7B,YAAMU,cAAc,KAAKF,SAAYhB,KAAKK,QAAQC,WAAAA;AAClD,UAAIY,gBAAgBV,OAAW,QAAOU;IACxC;AACA,WAAO,KAAKF,SAAYhB,KAAKK,MAAAA;EAC/B;;;;;;;;;;;;;;;;;;;;;;;EAwBAe,eACEjB,WACAE,QACAC,aACmC;AACnC,UAAMe,SAAoB,CAAA;AAC1B,QAAIf,gBAAgBE,QAAW;AAC7B,YAAMU,cAAc,KAAKJ,IAAIX,WAAWE,QAAQC,WAAAA;AAChD,UAAIY,gBAAgBV,QAAW;AAC7B,YAAIc,MAAMC,QAAQL,WAAAA,EAAcG,QAAOG,KAAI,GAAIN,WAAAA;YAC1CG,QAAOG,KAAKN,WAAAA;MACnB;IACF;AACA,UAAMO,aAAa,KAAKX,IAAIX,WAAWE,MAAAA;AACvC,QAAIoB,eAAejB,QAAW;AAC5B,UAAIc,MAAMC,QAAQE,UAAAA,EAAaJ,QAAOG,KAAI,GAAIC,UAAAA;UACzCJ,QAAOG,KAAKC,UAAAA;IACnB;AACA,WAAOJ;EACT;AACF;;;ACrKA,IAAMK,eAAeC,uBAAOC,IAAI,kCAAA;AAChC,IAAMC,oBAAoBF,uBAAOC,IAAI,uCAAA;AAe9B,SAASE,SAASC,SAAwB;AAC/C,SAAO,CAACC,QAAgBC,gBAAAA;AACtB,UAAMC,eAAeD,gBAAgBE,SAAYH,OAAO,cAAcA;AACtEI,YAAQV,cAAcQ,cAAcH,SAASE,WAAAA;EAC/C;AACF;AALgBH;AAcT,SAASO,aAAaC,OAAO,MAAI;AACtC,SAAO,CAACN,QAAgBC,gBAAAA;AACtB,UAAMC,eAAeD,gBAAgBE,SAAYH,OAAO,cAAcA;AACtEI,YAAQP,mBAAmBK,cAAcI,MAAML,WAAAA;EACjD;AACF;AALgBI;AAWT,SAASE,mBACdP,QACAC,aAA6B;AAE7B,SAAOO,QAAyBd,cAAcM,QAAQC,WAAAA;AACxD;AALgBM;AAUT,SAASE,kBAAkBT,QAAkBC,aAA6B;AAC/E,SAAOO,QAAiBX,mBAAmBG,QAAQC,WAAAA,KAAgB;AACrE;AAFgBQ;;;AC1DT,SAASC,oBAAoBC,aAAuB;AACzD,QAAMC,OAAO,oBAAIC,IAAAA;AACjB,QAAMC,SAAqB,CAAA;AAC3B,aAAWC,QAAQJ,aAAa;AAC9B,QAAIC,KAAKI,IAAID,IAAAA,GAAO;AAClBE,cAAQC,KACN,8BAA8BH,KAAKI,IAAI,sDAAiD;AAE1F;IACF;AACAP,SAAKQ,IAAIL,IAAAA;AACTD,WAAOO,KAAKN,IAAAA;EACd;AACA,SAAOD,OAAOQ,QAAQ,CAACP,SAAAA;AACrB,UAAMQ,QAAQC,uBAAuBT,IAAAA;AACrC,WAAOQ,MAAME,IAAI,CAACC,OAAO;MACvBC,MAAMD,EAAEC;MACRC,UAAUF,EAAEE;MACZC,YAAYH;IACd,EAAA;EACF,CAAA;AACF;AArBgBhB;;;ACZhB,OAAO;AA6DA,SAASoB,uBACdC,mBAA4D;AAE5D,QAAM,EAAEC,aAAaC,WAAWC,WAAWC,WAAU,IAAKC,MAAMC,QAAQN,iBAAAA,IACpE;IACEC,aAAaD;IACbE,WAAWK;IACXJ,WAAWI;IACXH,YAAYG;EACd,IACAP;AAGJ,QAAMQ,qBAAqB,IAAIC,uBAAuBP,SAAAA;AACtD,MAAIC,UAAWA,WAAUK,kBAAAA;AACzB,QAAME,oBAAoBF,mBAAmBG,WAAU;AAGvD,QAAMC,OAAO,oBAAIC,IAAAA;AACjB,QAAMC,SAAqB,CAAA;AAC3B,aAAWC,QAAQd,aAAa;AAC9B,QAAIW,KAAKI,IAAID,IAAAA,EAAO;AACpBH,SAAKK,IAAIF,IAAAA;AACTD,WAAOI,KAAKH,IAAAA;EACd;AAGA,QAAMI,SAAmD,CAAA;AACzD,aAAWJ,QAAQD,QAAQ;AACzB,UAAMM,WAAWC,aAAaN,MAAMb,SAAAA;AACpC,UAAMoB,QAAQC,uBAAuBR,IAAAA;AACrC,eAAWS,KAAKF,OAAO;AACrBH,aAAOD,KAAK;QAAEO,MAAMD;QAAGJ;MAAS,CAAA;IAClC;EACF;AAGAD,SAAOO,KAAK,CAACC,GAAGC,MAAAA;AACd,UAAMC,KAAKF,EAAEF,KAAKK,SAASC,SAAS,GAAA;AACpC,UAAMC,KAAKJ,EAAEH,KAAKK,SAASC,SAAS,GAAA;AACpC,QAAIF,OAAOG,GAAI,QAAOH,KAAK,IAAI;AAC/B,WAAO;EACT,CAAA;AAEA,QAAMI,UAAW,wBAACC,YAChBC,cAAchB,QAAQe,SAAShC,WAAWQ,mBAAmBN,UAAAA,GAD9C;AAEjB6B,UAAQG,UAAU,CAACC,QAAgBC,aACjCC,UAAUpB,QAAQkB,OAAOG,YAAW,GAAIF,QAAAA,MAAc;AACxD,SAAOL;AACT;AAjDgBlC;AAuDT,SAAS0C,sBACdzC,mBAA4D;AAE5D,QAAM0C,SAAS3C,uBAAuBC,iBAAAA;AAEtC,QAAM2C,UAAUC,kBAAAA;AAChB,SAAOD,QAAQE,aAAa,OAAOX,YAAAA;AACjC,UAAMY,MAAM,MAAMJ,OAAOR,OAAAA;AACzB,QAAIY,IAAK,QAAOA;AAChB,UAAM,EAAER,SAAQ,IAAK,IAAIS,IAAIb,QAAQc,GAAG;AACxC,WAAOC,aAAa,KAAK;MACvBC,OAAO;QACLC,MAAM;QACNC,SAAS,gBAAgBlB,QAAQG,OAAOG,YAAW,CAAA,IAAMF,QAAAA;MAC3D;IACF,CAAA;EACF,CAAA;AACF;AAjBgBG;AAqBhB,eAAeN,cACbhB,QACAe,SACAhC,WACAQ,oBAA0C,CAAA,GAC1CN,YAAuB;AAEvB,QAAM4C,MAAM,IAAID,IAAIb,QAAQc,GAAG;AAC/B,QAAMX,SAASH,QAAQG,OAAOG,YAAW;AACzC,QAAMF,WAAWU,IAAIV;AAErB,QAAMe,QAAQd,UAAUpB,QAAQkB,QAAQC,QAAAA;AAExC,MAAI,CAACe,MAAO,QAAO;AAEnB,QAAM,EAAE5B,MAAML,UAAUkC,OAAM,IAAKD;AAEnC,MAAI;AAEF,UAAME,aAAa,MAAMC,cAAc9C,mBAAmBwB,SAASI,QAAAA;AACnE,QAAIiB,WAAY,QAAOA;AAGvB,UAAME,MAAMC,uBAAuBxB,SAASd,SAAS,aAAaK,KAAKkC,WAAW;AAClF,UAAMC,gBAAgB,MAAMC,UAAUpC,KAAKqC,QAAQL,KAAKvD,SAAAA;AACxD,QAAI0D,cAAe,QAAOA;AAI1B,QAAInC,KAAKsC,OAAO;AACd,UAAI,CAAC3D,YAAY;AACf,eAAO6C,aAAa,KAAK;UACvBC,OAAO;YACLC,MAAM;YACNC,SACE,oBAAoBY,OAAOvC,KAAKkC,WAAW,CAAA;UAE/C;QACF,CAAA;MACF;AACA,aAAO,MAAMvD,WAAWqB,KAAKsC,MAAME,QAAQ/B,SAAST,KAAKsC,MAAMG,IAAI;IACrE;AAGA,UAAMC,OAAO,MAAMC,YAAY/B,QAAQH,SAAST,MAAMwB,YAAAA;AACtD,QAAIkB,gBAAgBE,SAAU,QAAOF;AAGrC,UAAMG,OAAOC,UAAU9C,KAAK+C,cAAc;MACxCtC;MACAiC;MACAb;MACAmB,OAAOC,OAAOC,YAAY3B,IAAI4B,YAAY;IAC5C,CAAA;AAGA,QAAInD,KAAKoD,UAAU;AACjB,aAAO,IAAIR,SAAS,MAAM;QACxBS,QAAQrD,KAAKoD,SAASC;QACtBC,SAAS;UAAEC,UAAUvD,KAAKoD,SAAS7B;QAAI;MACzC,CAAA;IACF;AAEA,UAAMiC,YAAa7D,SAA+CK,KAAKkC,WAAW;AAGlF,UAAMuB,SAAS,MAAMC,gBACnB1D,KAAK2D,cACL,MAAMH,UAAUI,MAAMjE,UAAUkD,IAAAA,GAChCpC,SACAhC,SAAAA;AAMF,QAAIgF,kBAAkBb,SAAU,QAAOa;AAEvC,WAAOI,cAAcJ,QAAQzD,MAAMY,MAAAA;EACrC,SAASkD,KAAK;AACZ,WAAOC,oBAAoBD,KAAK9D,KAAKgE,SAASvD,SAAShC,SAAAA;EACzD;AACF;AAlFeiC;AAsFf,eAAe0B,UACbC,QACA4B,SACAxF,WAAuB;AAEvB,aAAWyF,aAAa7B,QAAQ;AAC9B,UAAM8B,QAAQvE,aAAasE,WAAWzF,SAAAA;AACtC,UAAM2F,UAAU,MAAMD,MAAME,YAAYJ,OAAAA;AACxC,QAAI,CAACG,SAAS;AACZ,YAAME,KAAK,IAAIC,mBAAmB,oBAAA;AAClC,aAAO/C,aAAa8C,GAAGE,YAAYF,GAAGG,OAAM,CAAA;IAC9C;EACF;AACA,SAAO;AACT;AAderC;AAoBf,SAASyB,cAAcJ,QAAiBzD,MAAkBY,QAAc;AACtE,QAAMyC,SAASrD,KAAKqD,WAAWzC,WAAW,SAAS,MAAM;AACzD,QAAM0C,UAAkC;IAAE,gBAAgB;EAAmB;AAC7E,aAAW,CAACoB,MAAMC,KAAAA,KAAU3E,KAAKsD,SAAS;AACxCA,YAAQoB,KAAKE,YAAW,CAAA,IAAMD;EAChC;AAEA,MAAIlB,WAAW3E,UAAa2E,WAAW,MAAM;AAC3C,WAAO,IAAIb,SAAS,MAAM;MAAES,QAAQA,WAAW,MAAM,MAAMA;MAAQC;IAAQ,CAAA;EAC7E;AAEA,MAAI,OAAOG,WAAW,UAAU;AAC9BH,YAAQ,cAAA,IAAkB;AAC1B,WAAO,IAAIV,SAASa,QAAQ;MAAEJ;MAAQC;IAAQ,CAAA;EAChD;AAEA,SAAO,IAAIV,SAASiC,KAAKC,UAAUrB,MAAAA,GAAS;IAAEJ;IAAQC;EAAQ,CAAA;AAChE;AAjBSO;AAmBT,SAASrC,aAAa6B,QAAgBX,MAAa;AACjD,SAAO,IAAIE,SAASiC,KAAKC,UAAUpC,IAAAA,GAAO;IACxCW;IACAC,SAAS;MAAE,gBAAgB;IAAmB;EAChD,CAAA;AACF;AALS9B;AAeT,SAASV,UACPpB,QACAkB,QACAC,UAAgB;AAEhB,aAAW,EAAEb,MAAML,SAAQ,KAAMD,QAAQ;AACvC,QAAIM,KAAK+E,SAAS,SAAS/E,KAAK+E,SAASnE,OAAQ;AACjD,UAAMiB,SAASmD,UAAUhF,KAAKK,UAAUQ,QAAAA;AACxC,QAAIgB,WAAW,KAAM,QAAO;MAAE7B;MAAML;MAAUkC;IAAO;EACvD;AACA,SAAO;AACT;AAXSf;AAaT,SAASkE,UAAUC,SAAiBpE,UAAgB;AAClD,QAAMqE,aAAuB,CAAA;AAC7B,QAAMC,WAAWF,QAAQG,QAAQ,WAAW,CAACC,IAAIX,SAAAA;AAC/CQ,eAAWzF,KAAKiF,IAAAA;AAChB,WAAO;EACT,CAAA;AACA,QAAM9C,QAAQ,IAAI0D,OAAO,IAAIH,QAAAA,GAAW,EAAEI,KAAK1E,QAAAA;AAC/C,MAAI,CAACe,MAAO,QAAO;AACnB,QAAMC,SAAiC,CAAC;AACxCqD,aAAWM,QAAQ,CAACd,MAAMe,MAAAA;AACxB5D,WAAO6C,IAAAA,IAAQ9C,MAAM6D,IAAI,CAAA;EAC3B,CAAA;AACA,SAAO5D;AACT;AAbSmD;AAwBT,SAASlC,UAAUC,cAA4Bf,KAAe;AAC5D,MAAIe,aAAa2C,WAAW,EAAG,QAAO,CAAA;AACtC,QAAMC,WAAWC,KAAKC,IAAG,GAAI9C,aAAa+C,IAAI,CAACC,MAAMA,EAAEC,KAAK,CAAA;AAC5D,QAAMnD,OAAkBjE,MAAMqH,KAAK;IAAEP,QAAQC,WAAW;EAAE,GAAG,MAAM7G,MAAAA;AACnE,aAAWiH,KAAKhD,cAAc;AAC5B,YAAQgD,EAAEG,QAAM;MACd,KAAK;AACHrD,aAAKkD,EAAEC,KAAK,IAAIhE,IAAIvB;AACpB;MACF,KAAK;AACHoC,aAAKkD,EAAEC,KAAK,IAAID,EAAEI,MAAOnE,IAAIU,KAAiCqD,EAAEI,GAAG,IAAInE,IAAIU;AAC3E;MACF,KAAK;AACHG,aAAKkD,EAAEC,KAAK,IAAID,EAAEI,MAAMnE,IAAIH,OAAOkE,EAAEI,GAAG,IAAInE,IAAIH;AAChD;MACF,KAAK;AACHgB,aAAKkD,EAAEC,KAAK,IAAID,EAAEI,MAAMnE,IAAIgB,MAAM+C,EAAEI,GAAG,IAAInE,IAAIgB;AAC/C;MACF,KAAK;AACHH,aAAKkD,EAAEC,KAAK,IAAID,EAAEI,MACdnE,IAAIvB,QAAQ6C,QAAQ8C,IAAIL,EAAEI,IAAIvB,YAAW,CAAA,IACzC3B,OAAOC,YAAYlB,IAAIvB,QAAQ6C,QAAQ+C,QAAO,CAAA;AAClD;MACF,KAAK;AACHxD,aAAKkD,EAAEC,KAAK,IAAIhE,IAAIvB,QAAQ6C,QAAQ8C,IAAI,iBAAA,KAAsB;AAC9D;MACF,KAAK;AACHvD,aAAKkD,EAAEC,KAAK,IAAIlH;AAChB;MACF;AACE+D,aAAKkD,EAAEC,KAAK,IAAIlH;IACpB;EACF;AACA,SAAO+D;AACT;AAlCSC;;;AC1QF,SAASwD,kBACdC,SACAC,gBAAuC;AAEvC,iBAAeC,QACbC,QACAC,MACAC,MACAC,MAA2E;AAE3E,UAAMC,MAAM,IAAIC,IAAIJ,MAAMJ,OAAAA;AAC1B,QAAIM,MAAMG,OAAO;AACf,iBAAW,CAACC,GAAGC,CAAAA,KAAMC,OAAOC,QAAQP,KAAKG,KAAK,EAAGF,KAAIO,aAAaC,IAAIL,GAAGC,CAAAA;IAC3E;AACA,UAAMK,UAAkC;MAAE,GAAGf;MAAgB,GAAGK,MAAMU;IAAQ;AAC9E,QAAIX,SAASY,OAAWD,SAAQ,cAAA,IAAkB;AAElD,UAAME,MAAM,MAAMC,MAAMZ,IAAIa,SAAQ,GAAI;MACtCjB;MACAa;MACAX,MAAMA,SAASY,SAAYI,KAAKC,UAAUjB,IAAAA,IAAQY;IACpD,CAAA;AAEA,QAAI,CAACC,IAAIK,IAAI;AACX,YAAMC,QAAQ,MAAMN,IAAIO,KAAI,EAAGC,MAAM,OAAO;QAAEC,SAAST,IAAIU;MAAW,EAAA;AACtE,YAAM,IAAIC,iBAAiBX,IAAIY,QAAQN,KAAAA;IACzC;AAEA,QAAIN,IAAIY,WAAW,IAAK,QAAOb;AAC/B,WAAOC,IAAIO,KAAI;EACjB;AA1BevB;AA4Bf,SAAO;IACL6B,KAAK,wBAAC3B,MAAcE,SAAmCJ,QAAQ,OAAOE,MAAMa,QAAWX,IAAAA,GAAlF;IACL0B,MAAM,wBAAC5B,MAAcC,MAAgBC,SACnCJ,QAAQ,QAAQE,MAAMC,MAAMC,IAAAA,GADxB;IAEN2B,KAAK,wBAAC7B,MAAcC,MAAgBC,SAClCJ,QAAQ,OAAOE,MAAMC,MAAMC,IAAAA,GADxB;IAEL4B,QAAQ,wBAAC9B,MAAcE,SACrBJ,QAAQ,UAAUE,MAAMa,QAAWX,IAAAA,GAD7B;EAEV;AACF;AAzCgBP;AA2CT,IAAM8B,mBAAN,cAA+BM,MAAAA;EAhGtC,OAgGsCA;;;;;EACpC,YACkBL,QACAzB,MAChB;AACA,UAAM,QAAQyB,MAAAA,KAAWT,KAAKC,UAAUjB,IAAAA,CAAAA,EAAO,GAAA,KAH/ByB,SAAAA,QAAAA,KACAzB,OAAAA;AAGhB,SAAK+B,OAAO;EACd;AACF;;;ACjEO,SAASC,SAA6BC,QAAS;AACpD,SAAOA;AACT;AAFgBD;;;ACLhB,SAASE,KAAKC,OAAa;AACzB,MAAIC,OAAO;AACX,WAASC,IAAI,GAAGA,IAAIF,MAAMG,QAAQD,KAAK;AAErCD,YAASA,QAAQ,KAAKA,OAAOD,MAAMI,WAAWF,CAAAA,IAAM;EACtD;AAEA,UAAQD,SAAS,GAAGI,SAAS,EAAA;AAC/B;AARSN;AAsBF,SAASO,YAAYC,KAAcC,UAAwB,CAAC,GAAC;AAClE,QAAMC,UAAUC,eAAeH,GAAAA;AAC/B,QAAMI,SAASC,cAAcL,GAAAA;AAC7B,QAAMM,WAAWC,aAAaP,GAAAA;AAE9B,QAAMQ,SAAShB,KAAKU,OAAAA;AAEpB,QAAMO,eAAeC,QAAQC,IAAIC,aAAa;AAE9C,SAAO;IACLJ;IACAN;IACAE;IACAH;IACA,GAAIK,YAAY,CAACG,eAAe;MAAEI,OAAOP;IAAS,IAAI,CAAC;EACzD;AACF;AAhBgBP;AAsBhB,SAASI,eAAeH,KAAY;AAClC,MAAIA,eAAec,OAAO;AACxB,WAAOd,IAAIE;EACb;AACA,MAAI,OAAOF,QAAQ,UAAU;AAC3B,WAAOA;EACT;AACA,MAAI,OAAOA,QAAQ,UAAU;AAC3B,WAAOe,OAAOf,GAAAA;EAChB;AAEA,MAAI;AACF,WAAOgB,KAAKC,UAAUjB,GAAAA;EACxB,QAAQ;AACN,WAAO;EACT;AACF;AAhBSG;AAkBT,SAASE,cAAcL,KAAY;AACjC,MAAIA,eAAekB,eAAe;AAChC,WAAOlB,IAAImB;EACb;AACA,SAAO;AACT;AALSd;AAOT,SAASE,aAAaP,KAAY;AAChC,MAAIA,eAAec,OAAO;AACxB,WAAOd,IAAIa;EACb;AACA,SAAOO;AACT;AALSb;;;ACrET,SAASc,oBACPC,OACAC,mBAA2C;AAE3C,SAAO,MAAMC,sBAAsBF,MAAMG,UAAS;IAtCpD,OAsCoD;;;IAIhD,YAAYC,OAA2C;AACrD,YAAMA,KAAAA;AACN,WAAKC,QAAQ;QAAEC,UAAU;MAAM;IACjC;IAEA,OAAOC,2BAAkD;AACvD,aAAO;QAAED,UAAU;MAAK;IAC1B;IAEAE,SAAyC;AACvC,UAAI,KAAKH,MAAMC,UAAU;AACvB,eAAON,MAAMS,cAAcR,iBAAAA;MAC7B;AACA,aAAOD,MAAMS,cAAcT,MAAMU,UAAU,MAAM,KAAKN,MAAMO,QAAQ;IACtE;EACF;AACF;AAxBSZ;AAyCT,eAAsBa,qBACpBC,MAAe;AAGf,QAAMb,QAAQ,MAAM,OAAO,OAAA;AAE3B,SAAOc,YAAYd,OAAOa,IAAAA;AAC5B;AAPsBD;AAStB,SAASE,YAAYd,OAA0Be,MAAe;AAC5D,QAAM,EAAEC,QAAQC,QAAQC,MAAMC,MAAMC,SAASC,SAASC,OAAOC,cAAa,IAAKR;AAG/E,MAAI,CAACI,MAAM;AACT,WAAO;EACT;AAGA,MAAIK,UAAmCxB,MAAMS,cAAcU,IAAAA;AAG3D,MAAIE,SAAS;AACXG,cAAUxB,MAAMS,cACdT,MAAMyB,UACN;MAAEC,UAAU1B,MAAMS,cAAcY,OAAAA;IAAS,GACzCG,OAAAA;EAEJ;AAGA,MAAID,eAAe;AACjB,UAAMI,WAAW5B,oBAAoBC,OAAOuB,aAAAA;AAC5CC,cAAUxB,MAAMS,cAAckB,UAAU,MAAMH,OAAAA;EAChD;AAGA,MAAIP,QAAQ;AACVO,cAAUxB,MAAMS,cAAcQ,QAAQ,MAAMO,OAAAA;EAC9C;AAEA,SAAOA;AACT;AAhCSV;;;AC7CF,SAASc,cAAcC,KAAW;AACvCC,gBAAc;IAAEC,MAAM;IAAOC,OAAOH;IAAKI,WAAWC,KAAKC,IAAG;EAAG,CAAA;AACjE;AAFgBP;AAkBT,SAASQ,eAAeC,MAAY;AACzCP,gBAAc;IAAEC,MAAM;IAAQC,OAAOK;IAAMJ,WAAWC,KAAKC,IAAG;EAAG,CAAA;AACnE;AAFgBC;AAQT,SAASE,yBAAAA;AACd,QAAMC,MAAMC,qBAAAA;AACZ,MAAI,CAACD,IAAK,QAAO,CAAA;AACjB,SACGA,IAAmEE,wBAAwB,CAAA;AAEhG;AANgBH;AAUhB,SAASR,cAAcY,QAA0B;AAC/C,QAAMH,MAAMC,qBAAAA;AACZ,MAAI,CAACD,KAAK;AACRI,YAAQC,KACN,0FAAA;AAEF;EACF;AACA,QAAMC,WAAWN;AACjBM,WAASJ,yBAAyB,CAAA;AAClCI,WAASJ,qBAAqBK,KAAKJ,MAAAA;AACrC;AAXSZ;","names":["inferPrefix","className","stripped","replace","kebab","toLowerCase","Controller","prefixOrOpts","maybeOpts","target","prefix","opts","name","setMeta","CONTROLLER_PREFIX","host","makeVerbDecorator","verb","path","target","propertyKey","existing","getMeta","ROUTE_METHODS","push","setMeta","Get","Post","Put","Patch","Delete","Options","Head","All","isZodSchema","v","undefined","safeParse","makeParamDecorator","source","keyOrSchema","target","propertyKey","parameterIndex","map","getMeta","ROUTE_PARAMS","Map","entries","get","entry","index","key","schema","push","set","setMeta","Req","Body","Param","Query","Headers","Session","Ip","HostParam","Res","opts","passthrough","Expose","agent","opts","target","propertyKey","existing","getMeta","EXPOSE_AGENT","push","setMeta","HttpCode","status","target","propertyKey","setMeta","ROUTE_STATUS","Header","name","value","existing","getMeta","ROUTE_HEADERS","push","Redirect","url","ROUTE_REDIRECT","UseGuards","guards","target","propertyKey","actualTarget","existing","getMeta","USE_GUARDS","setMeta","UseInterceptors","interceptors","USE_INTERCEPTORS","UseFilters","filters","USE_FILTERS","Catch","exceptions","CATCH_EXCEPTIONS","decoratorKeyCounter","createDecorator","key","Symbol","for","decorator","value","target","propertyKey","metaTarget","undefined","Reflect","defineMetadata","SetMetadata","metaKey","Reflector","get","getMetadata","getByKey","getAllAndOverride","methodLevel","getAllAndOverrideByKey","getAllAndMerge","result","Array","isArray","push","classLevel","THROTTLE_KEY","Symbol","for","SKIP_THROTTLE_KEY","Throttle","options","target","propertyKey","actualTarget","undefined","setMeta","SkipThrottle","skip","getThrottleOptions","getMeta","isThrottleSkipped","registerControllers","controllers","seen","Set","unique","Ctor","has","console","warn","name","add","push","flatMap","walks","walkControllerMetadata","map","w","verb","fullPath","walkResult","createDecoratorHandler","controllersOrOpts","controllers","container","configure","serveAgent","Array","isArray","undefined","middlewareConsumer","MiddlewareConsumerImpl","middlewareEntries","getEntries","seen","Set","unique","Ctor","has","add","push","routes","instance","resolveOrNew","walks","walkControllerMetadata","w","walk","sort","a","b","aP","fullPath","includes","bP","handler","request","handleRequest","matches","method","pathname","findRoute","toUpperCase","createDecoratorServer","handle","adapter","createNodeAdapter","createServer","res","URL","url","jsonResponse","error","code","message","match","params","mwResponse","runMiddleware","ctx","createExecutionContext","propertyKey","guardResponse","runGuards","guards","agent","String","module","opts","body","resolveBody","Response","args","buildArgs","paramEntries","query","Object","fromEntries","searchParams","redirect","status","headers","location","handlerFn","result","runInterceptors","interceptors","apply","buildResponse","err","runExceptionFilters","filters","context","GuardCtor","guard","allowed","canActivate","ex","ForbiddenException","statusCode","toJSON","name","value","toLowerCase","JSON","stringify","verb","matchPath","pattern","paramNames","regexStr","replace","_m","RegExp","exec","forEach","i","length","maxIndex","Math","max","map","p","index","from","source","key","get","entries","createTypedClient","baseUrl","defaultHeaders","request","method","path","body","opts","url","URL","query","k","v","Object","entries","searchParams","set","headers","undefined","res","fetch","toString","JSON","stringify","ok","error","json","catch","message","statusText","TypedClientError","status","get","post","put","delete","Error","name","contract","routes","djb2","input","hash","i","length","charCodeAt","toString","digestError","err","context","message","extractMessage","status","extractStatus","rawStack","extractStack","digest","isProduction","process","env","NODE_ENV","stack","Error","String","JSON","stringify","HttpException","statusCode","undefined","createErrorBoundary","React","FallbackComponent","ErrorBoundary","Component","props","state","hasError","getDerivedStateFromError","render","createElement","Fragment","children","composeComponentTree","tree","composeNode","node","layout","Layout","page","Page","loading","Loading","error","ErrorFallback","element","Suspense","fallback","Boundary","revalidateTag","tag","collectSignal","kind","value","timestamp","Date","now","revalidatePath","path","getRevalidationSignals","ctx","tryGetRequestContext","_revalidationSignals","signal","console","warn","extended","push"]}
1
+ {"version":3,"sources":["../src/decorators/controller.ts","../src/decorators/methods.ts","../src/decorators/params.ts","../src/decorators/expose.ts","../src/decorators/response.ts","../src/decorators/middleware.ts","../src/decorators/throttle.ts","../src/bridge/register-controllers.ts","../src/bridge/create-server.ts","../src/error-digest.ts","../src/typed-client.ts","../src/contract.ts","../src/component-tree.ts","../src/cache-signal.ts"],"mappings":"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","names":["inferPrefix","className","stripped","replace","kebab","toLowerCase","Controller","prefixOrOpts","maybeOpts","target","prefix","opts","name","setMeta","CONTROLLER_PREFIX","host","makeVerbDecorator","verb","path","target","propertyKey","existing","getMeta","ROUTE_METHODS","push","setMeta","Get","Post","Put","Patch","Delete","Options","Head","All","isZodSchema","v","undefined","safeParse","makeParamDecorator","source","keyOrSchema","target","propertyKey","parameterIndex","map","getMeta","ROUTE_PARAMS","Map","entries","get","entry","index","key","schema","push","set","setMeta","Req","Body","Param","Query","Headers","Session","Ip","HostParam","Res","opts","passthrough","Expose","agent","opts","target","propertyKey","existing","getMeta","EXPOSE_AGENT","push","setMeta","HttpCode","status","target","propertyKey","setMeta","ROUTE_STATUS","Header","name","value","existing","getMeta","ROUTE_HEADERS","push","Redirect","url","ROUTE_REDIRECT","UseGuards","guards","target","propertyKey","actualTarget","existing","getMeta","USE_GUARDS","setMeta","UseInterceptors","interceptors","USE_INTERCEPTORS","UseFilters","filters","USE_FILTERS","Catch","exceptions","CATCH_EXCEPTIONS","THROTTLE_KEY","Symbol","for","SKIP_THROTTLE_KEY","Throttle","options","target","propertyKey","actualTarget","undefined","setMeta","SkipThrottle","skip","getThrottleOptions","getMeta","isThrottleSkipped","registerControllers","controllers","seen","Set","unique","Ctor","has","console","warn","name","add","push","flatMap","walks","walkControllerMetadata","map","w","verb","fullPath","walkResult","djb2","input","hash","i","length","charCodeAt","toString","digestError","err","context","message","extractMessage","status","extractStatus","rawStack","extractStack","digest","isProduction","process","env","NODE_ENV","stack","Error","String","JSON","stringify","HttpException","statusCode","undefined","createDecoratorHandler","controllersOrOpts","controllers","container","configure","serveAgent","undeclaredRoutes","Array","isArray","undefined","undeclaredPolicy","warnedUndeclared","Set","middlewareConsumer","MiddlewareConsumerImpl","middlewareEntries","getEntries","seen","unique","Ctor","has","add","push","routes","built","instance","resolveOrNew","error","failure","controllerName","name","console","Error","message","String","walk","walkControllerMetadata","sort","a","b","aP","fullPath","includes","bP","dispatchDeps","undeclared","policy","warned","handler","request","handleRequest","matches","method","pathname","findRoute","toUpperCase","createDecoratorServer","handle","adapter","createNodeAdapter","createServer","res","URL","url","jsonResponse","code","deps","match","params","digested","digestError","route","phase","source","digest","stack","mwResponse","runMiddleware","access","ex","ForbiddenException","undeclaredRouteRefusal","statusCode","toJSON","warn","undeclaredRouteWarning","ctx","createExecutionContext","propertyKey","guardResponse","runGuards","guards","agent","module","opts","body","resolveBody","Response","args","buildArgs","paramEntries","query","Object","fromEntries","searchParams","redirect","status","headers","location","handlerFn","result","runInterceptors","interceptors","apply","buildResponse","err","runExceptionFilters","filters","context","GuardCtor","guard","allowed","canActivate","value","toLowerCase","JSON","stringify","entry","verb","matchPath","pattern","paramNames","regexStr","replace","_m","RegExp","exec","forEach","i","length","maxIndex","Math","max","map","p","index","from","key","get","entries","createTypedClient","baseUrl","defaultHeaders","request","method","path","body","opts","url","URL","query","k","v","Object","entries","searchParams","set","headers","undefined","res","fetch","toString","JSON","stringify","ok","error","json","catch","message","statusText","TypedClientError","status","get","post","put","delete","Error","name","contract","routes","createErrorBoundary","React","FallbackComponent","ErrorBoundary","Component","props","state","hasError","getDerivedStateFromError","render","createElement","Fragment","children","composeComponentTree","tree","composeNode","node","layout","Layout","page","Page","loading","Loading","error","ErrorFallback","element","Suspense","fallback","Boundary","revalidateTag","tag","collectSignal","kind","value","timestamp","Date","now","revalidatePath","path","getRevalidationSignals","ctx","tryGetRequestContext","_revalidationSignals","signal","console","warn","extended","push"]}