@navios/core 0.8.0 → 0.9.1

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 (64) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/lib/{index-BDNl7j1G.d.cts → index-B2ulzZIr.d.cts} +65 -13
  3. package/lib/index-B2ulzZIr.d.cts.map +1 -0
  4. package/lib/{index-BoP0cWT6.d.mts → index-C8lUQePd.d.mts} +65 -13
  5. package/lib/index-C8lUQePd.d.mts.map +1 -0
  6. package/lib/index.cjs +5 -2
  7. package/lib/index.d.cts +2 -2
  8. package/lib/index.d.mts +2 -2
  9. package/lib/index.mjs +3 -3
  10. package/lib/legacy-compat/index.cjs +133 -1
  11. package/lib/legacy-compat/index.cjs.map +1 -1
  12. package/lib/legacy-compat/index.d.cts +219 -7
  13. package/lib/legacy-compat/index.d.cts.map +1 -1
  14. package/lib/legacy-compat/index.d.mts +219 -7
  15. package/lib/legacy-compat/index.d.mts.map +1 -1
  16. package/lib/legacy-compat/index.mjs +128 -2
  17. package/lib/legacy-compat/index.mjs.map +1 -1
  18. package/lib/{src-gBAChVRL.mjs → src-Baabu2R8.mjs} +17 -12
  19. package/lib/src-Baabu2R8.mjs.map +1 -0
  20. package/lib/{src-B6eISODM.cjs → src-Cu9OAnfp.cjs} +16 -11
  21. package/lib/src-Cu9OAnfp.cjs.map +1 -0
  22. package/lib/testing/index.cjs +346 -29
  23. package/lib/testing/index.cjs.map +1 -1
  24. package/lib/testing/index.d.cts +299 -63
  25. package/lib/testing/index.d.cts.map +1 -1
  26. package/lib/testing/index.d.mts +299 -63
  27. package/lib/testing/index.d.mts.map +1 -1
  28. package/lib/testing/index.mjs +347 -31
  29. package/lib/testing/index.mjs.map +1 -1
  30. package/lib/{use-guards.decorator-CUww54Nt.mjs → use-guards.decorator-ChJVzYLW.mjs} +38 -9
  31. package/lib/use-guards.decorator-ChJVzYLW.mjs.map +1 -0
  32. package/lib/{use-guards.decorator-COR-9mZY.cjs → use-guards.decorator-EvI2m2DK.cjs} +56 -9
  33. package/lib/use-guards.decorator-EvI2m2DK.cjs.map +1 -0
  34. package/package.json +4 -4
  35. package/src/__tests__/controller-resolver.spec.mts +19 -13
  36. package/src/__tests__/testing-module.spec.mts +459 -0
  37. package/src/__tests__/unit-testing-module.spec.mts +424 -0
  38. package/src/attribute.factory.mts +19 -3
  39. package/src/decorators/controller.decorator.mts +19 -2
  40. package/src/decorators/module.decorator.mts +23 -5
  41. package/src/legacy-compat/__type-tests__/legacy-decorators.spec-d.mts +114 -10
  42. package/src/legacy-compat/attribute.factory.mts +365 -0
  43. package/src/legacy-compat/context-compat.mts +2 -0
  44. package/src/legacy-compat/decorators/index.mts +1 -0
  45. package/src/legacy-compat/decorators/injectable.decorator.mts +41 -0
  46. package/src/legacy-compat/decorators/multipart.decorator.mts +4 -4
  47. package/src/legacy-compat/decorators/stream.decorator.mts +21 -14
  48. package/src/legacy-compat/index.mts +14 -3
  49. package/src/metadata/index.mts +1 -0
  50. package/src/metadata/navios-managed.metadata.mts +42 -0
  51. package/src/navios.application.mts +9 -9
  52. package/src/navios.environment.mts +3 -1
  53. package/src/navios.factory.mts +9 -27
  54. package/src/services/instance-resolver.service.mts +8 -7
  55. package/src/services/module-loader.service.mts +3 -2
  56. package/src/testing/index.mts +1 -0
  57. package/src/testing/testing-module.mts +255 -93
  58. package/src/testing/unit-testing-module.mts +298 -0
  59. package/lib/index-BDNl7j1G.d.cts.map +0 -1
  60. package/lib/index-BoP0cWT6.d.mts.map +0 -1
  61. package/lib/src-B6eISODM.cjs.map +0 -1
  62. package/lib/src-gBAChVRL.mjs.map +0 -1
  63. package/lib/use-guards.decorator-COR-9mZY.cjs.map +0 -1
  64. package/lib/use-guards.decorator-CUww54Nt.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
- import { K as MultipartParams, W as StreamParams, Y as ModuleOptions, an as EndpointResult, in as EndpointParams, it as HttpHeader, ot as CanActivate, q as MultipartResult, sn as ControllerOptions } from "../index-BDNl7j1G.cjs";
2
- import { ClassType, ClassTypeWithInstance, InjectionToken } from "@navios/di";
1
+ import { G as MultipartParams, J as ModuleOptions, K as MultipartResult, Kt as ModuleMetadata, U as StreamParams, Zt as ControllerMetadata, at as CanActivate, cn as EndpointResult, rn as HandlerMetadata, rt as HttpHeader, sn as EndpointParams, un as ControllerOptions } from "../index-B2ulzZIr.cjs";
2
+ import { ClassType, ClassTypeWithInstance, InjectableOptions, InjectionToken } from "@navios/di";
3
3
  import { ZodObject, ZodType, z as z$1 } from "zod/v4";
4
4
  import { BaseEndpointConfig, BaseStreamConfig, EndpointFunctionArgs, HttpMethod } from "@navios/builder";
5
5
 
@@ -157,7 +157,7 @@ declare function HttpCode(code: number): <T extends object>(target: T, propertyK
157
157
  * Note: In legacy decorators, type constraints are checked when the decorator is applied,
158
158
  * but may not be preserved perfectly when decorators are stacked.
159
159
  */
160
- type MultipartMethodDescriptor<Url extends string, QuerySchema, RequestSchema, ResponseSchema extends ZodType> = TypedPropertyDescriptor<(params: QuerySchema extends ZodObject ? RequestSchema extends ZodType ? EndpointFunctionArgs<Url, QuerySchema, RequestSchema> : EndpointFunctionArgs<Url, QuerySchema, undefined> : RequestSchema extends ZodType ? EndpointFunctionArgs<Url, undefined, RequestSchema> : EndpointFunctionArgs<Url, undefined, undefined>) => Promise<z$1.input<ResponseSchema>>>;
160
+ type MultipartMethodDescriptor<Url extends string, QuerySchema, RequestSchema, ResponseSchema extends ZodType> = TypedPropertyDescriptor<(params: QuerySchema extends ZodObject ? RequestSchema extends ZodType ? EndpointFunctionArgs<Url, QuerySchema, RequestSchema, true> : EndpointFunctionArgs<Url, QuerySchema, undefined, true> : RequestSchema extends ZodType ? EndpointFunctionArgs<Url, undefined, RequestSchema, true> : EndpointFunctionArgs<Url, undefined, undefined, true>) => Promise<z$1.input<ResponseSchema>>>;
161
161
  /**
162
162
  * Legacy-compatible Multipart decorator.
163
163
  *
@@ -184,12 +184,12 @@ declare function Multipart<Method extends HttpMethod = HttpMethod, Url extends s
184
184
  }): <T extends object>(target: T, propertyKey: string | symbol, descriptor: MultipartMethodDescriptor<Url, QuerySchema, RequestSchema, ResponseSchema>) => PropertyDescriptor | void;
185
185
  //#endregion
186
186
  //#region src/legacy-compat/decorators/stream.decorator.d.mts
187
+ type StreamParams$1<Url extends string, QuerySchema, RequestSchema> = QuerySchema extends ZodObject ? RequestSchema extends ZodType ? EndpointFunctionArgs<Url, QuerySchema, RequestSchema, true> : EndpointFunctionArgs<Url, QuerySchema, undefined, true> : RequestSchema extends ZodType ? EndpointFunctionArgs<Url, undefined, RequestSchema, true> : EndpointFunctionArgs<Url, undefined, undefined, true>;
187
188
  /**
188
189
  * Type helper to constrain a PropertyDescriptor's value to match a stream endpoint signature.
189
- * Note: In legacy decorators, type constraints are checked when the decorator is applied,
190
- * but may not be preserved perfectly when decorators are stacked.
190
+ * Supports both with and without reply parameter (Bun doesn't use reply parameter).
191
191
  */
192
- type StreamMethodDescriptor<Url extends string, QuerySchema, RequestSchema> = TypedPropertyDescriptor<(params: QuerySchema extends ZodObject ? RequestSchema extends ZodType ? EndpointFunctionArgs<Url, QuerySchema, RequestSchema> : EndpointFunctionArgs<Url, QuerySchema, undefined> : RequestSchema extends ZodType ? EndpointFunctionArgs<Url, undefined, RequestSchema> : EndpointFunctionArgs<Url, undefined, undefined>, reply: any) => Promise<void>>;
192
+ type StreamMethodDescriptor<Url extends string, QuerySchema, RequestSchema> = TypedPropertyDescriptor<(params: StreamParams$1<Url, QuerySchema, RequestSchema>, reply: any) => any> | TypedPropertyDescriptor<(params: StreamParams$1<Url, QuerySchema, RequestSchema>) => any> | TypedPropertyDescriptor<() => any>;
193
193
  /**
194
194
  * Legacy-compatible Stream decorator.
195
195
  *
@@ -215,5 +215,217 @@ declare function Stream<Method extends HttpMethod = HttpMethod, Url extends stri
215
215
  config: BaseStreamConfig<Method, Url, QuerySchema, RequestSchema>;
216
216
  }): <T extends object>(target: T, propertyKey: string | symbol, descriptor: StreamMethodDescriptor<Url, QuerySchema, RequestSchema>) => StreamMethodDescriptor<Url, QuerySchema, RequestSchema>;
217
217
  //#endregion
218
- export { Controller, type ControllerOptions, Endpoint, type EndpointParams, type EndpointResult, Header, HttpCode, Module, type ModuleOptions, Multipart, type MultipartParams, type MultipartResult, Stream, type StreamParams, UseGuards };
218
+ //#region src/legacy-compat/decorators/injectable.decorator.d.mts
219
+ /**
220
+ * Legacy-compatible Injectable decorator.
221
+ *
222
+ * Works with TypeScript experimental decorators (legacy API).
223
+ *
224
+ * @param options - Injectable configuration options
225
+ * @returns A class decorator compatible with legacy decorator API
226
+ *
227
+ * @example
228
+ * ```typescript
229
+ * @Injectable()
230
+ * export class UserService {
231
+ * getUser(id: string) {
232
+ * return { id, name: 'John' }
233
+ * }
234
+ * }
235
+ * ```
236
+ */
237
+ declare function Injectable(options?: InjectableOptions): (target: ClassType) => ClassType;
238
+ //#endregion
239
+ //#region src/legacy-compat/attribute.factory.d.mts
240
+ /**
241
+ * Type for a legacy class attribute decorator without a value.
242
+ *
243
+ * Attributes are custom metadata decorators that can be applied to modules,
244
+ * controllers, and endpoints.
245
+ */
246
+ type LegacyClassAttribute = (() => <T extends ClassType>(target: T) => T) & (() => <T extends object>(target: T, propertyKey: string | symbol, descriptor: PropertyDescriptor) => PropertyDescriptor) & {
247
+ token: symbol;
248
+ };
249
+ /**
250
+ * Type for a legacy class attribute decorator with a validated value.
251
+ *
252
+ * @typeParam S - The Zod schema type for validation
253
+ */
254
+ type LegacyClassSchemaAttribute<S extends ZodType> = ((value: z$1.input<S>) => <T extends ClassType>(target: T) => T) & ((value: z$1.input<S>) => <T extends object>(target: T, propertyKey: string | symbol, descriptor: PropertyDescriptor) => PropertyDescriptor) & {
255
+ token: symbol;
256
+ schema: ZodType;
257
+ };
258
+ /**
259
+ * Legacy-compatible factory for creating custom attribute decorators.
260
+ *
261
+ * Works with TypeScript experimental decorators (legacy API).
262
+ *
263
+ * Attributes allow you to add custom metadata to modules, controllers, and endpoints.
264
+ * This is useful for cross-cutting concerns like rate limiting, caching, API versioning, etc.
265
+ *
266
+ * @example
267
+ * ```typescript
268
+ * // Create a simple boolean attribute
269
+ * const Public = LegacyAttributeFactory.createAttribute(Symbol.for('Public'))
270
+ *
271
+ * // Use it as a decorator
272
+ * @Controller()
273
+ * @Public()
274
+ * export class PublicController { }
275
+ *
276
+ * // Check if attribute exists
277
+ * if (LegacyAttributeFactory.has(Public, controllerMetadata)) {
278
+ * // Skip authentication
279
+ * }
280
+ * ```
281
+ *
282
+ * @example
283
+ * ```typescript
284
+ * // Create an attribute with a validated value
285
+ * const RateLimit = LegacyAttributeFactory.createAttribute(
286
+ * Symbol.for('RateLimit'),
287
+ * z.object({ requests: z.number(), window: z.number() })
288
+ * )
289
+ *
290
+ * // Use it with a value
291
+ * @Endpoint(apiEndpoint)
292
+ * @RateLimit({ requests: 100, window: 60000 })
293
+ * async handler() { }
294
+ *
295
+ * // Get the value
296
+ * const limit = LegacyAttributeFactory.get(RateLimit, endpointMetadata)
297
+ * // limit is typed as { requests: number, window: number } | null
298
+ * ```
299
+ */
300
+ declare class LegacyAttributeFactory {
301
+ /**
302
+ * Creates a simple attribute decorator without a value.
303
+ *
304
+ * @param token - A unique symbol to identify this attribute
305
+ * @returns A decorator function that can be applied to classes or methods
306
+ *
307
+ * @example
308
+ * ```typescript
309
+ * const Public = LegacyAttributeFactory.createAttribute(Symbol.for('Public'))
310
+ *
311
+ * @Public()
312
+ * @Controller()
313
+ * export class PublicController { }
314
+ * ```
315
+ */
316
+ static createAttribute(token: symbol): LegacyClassAttribute;
317
+ /**
318
+ * Creates an attribute decorator with a validated value.
319
+ *
320
+ * @param token - A unique symbol to identify this attribute
321
+ * @param schema - A Zod schema to validate the attribute value
322
+ * @returns A decorator function that accepts a value and can be applied to classes or methods
323
+ *
324
+ * @example
325
+ * ```typescript
326
+ * const RateLimit = LegacyAttributeFactory.createAttribute(
327
+ * Symbol.for('RateLimit'),
328
+ * z.object({ requests: z.number(), window: z.number() })
329
+ * )
330
+ *
331
+ * @RateLimit({ requests: 100, window: 60000 })
332
+ * @Endpoint(apiEndpoint)
333
+ * async handler() { }
334
+ * ```
335
+ */
336
+ static createAttribute<T extends ZodType>(token: symbol, schema: T): LegacyClassSchemaAttribute<T>;
337
+ /**
338
+ * Gets the value of an attribute from metadata.
339
+ *
340
+ * Returns `null` if the attribute is not present.
341
+ * For simple attributes (without values), returns `true` if present.
342
+ *
343
+ * @param attribute - The attribute decorator
344
+ * @param target - The metadata object (module, controller, or handler)
345
+ * @returns The attribute value, `true` for simple attributes, or `null` if not found
346
+ *
347
+ * @example
348
+ * ```typescript
349
+ * const isPublic = LegacyAttributeFactory.get(Public, controllerMetadata)
350
+ * // isPublic is true | null
351
+ *
352
+ * const rateLimit = LegacyAttributeFactory.get(RateLimit, endpointMetadata)
353
+ * // rateLimit is { requests: number, window: number } | null
354
+ * ```
355
+ */
356
+ static get(attribute: LegacyClassAttribute, target: ModuleMetadata | ControllerMetadata | HandlerMetadata<any>): true | null;
357
+ static get<T extends ZodType>(attribute: LegacyClassSchemaAttribute<T>, target: ModuleMetadata | ControllerMetadata | HandlerMetadata<any>): z$1.output<T> | null;
358
+ /**
359
+ * Gets all values of an attribute from metadata (useful when an attribute can appear multiple times).
360
+ *
361
+ * Returns `null` if the attribute is not present.
362
+ *
363
+ * @param attribute - The attribute decorator
364
+ * @param target - The metadata object (module, controller, or handler)
365
+ * @returns An array of attribute values, or `null` if not found
366
+ *
367
+ * @example
368
+ * ```typescript
369
+ * const tags = LegacyAttributeFactory.getAll(Tag, endpointMetadata)
370
+ * // tags is string[] | null
371
+ * ```
372
+ */
373
+ static getAll(attribute: LegacyClassAttribute, target: ModuleMetadata | ControllerMetadata | HandlerMetadata<any>): Array<true> | null;
374
+ static getAll<T extends ZodType>(attribute: LegacyClassSchemaAttribute<T>, target: ModuleMetadata | ControllerMetadata | HandlerMetadata<any>): Array<z$1.output<T>> | null;
375
+ /**
376
+ * Gets the last value of an attribute from an array of metadata objects.
377
+ *
378
+ * Searches from the end of the array backwards, useful for finding the most
379
+ * specific attribute value (e.g., endpoint-level overrides module-level).
380
+ *
381
+ * @param attribute - The attribute decorator
382
+ * @param target - An array of metadata objects (typically [module, controller, handler])
383
+ * @returns The last attribute value found, or `null` if not found
384
+ *
385
+ * @example
386
+ * ```typescript
387
+ * // Check attribute hierarchy: endpoint -> controller -> module
388
+ * const rateLimit = LegacyAttributeFactory.getLast(RateLimit, [
389
+ * moduleMetadata,
390
+ * controllerMetadata,
391
+ * endpointMetadata
392
+ * ])
393
+ * ```
394
+ */
395
+ static getLast(attribute: LegacyClassAttribute, target: (ModuleMetadata | ControllerMetadata | HandlerMetadata<any>)[]): true | null;
396
+ static getLast<T extends ZodType>(attribute: LegacyClassSchemaAttribute<T>, target: (ModuleMetadata | ControllerMetadata | HandlerMetadata<any>)[]): z$1.output<T> | null;
397
+ /**
398
+ * Checks if an attribute is present on the metadata object.
399
+ *
400
+ * @param attribute - The attribute decorator
401
+ * @param target - The metadata object (module, controller, or handler)
402
+ * @returns `true` if the attribute is present, `false` otherwise
403
+ *
404
+ * @example
405
+ * ```typescript
406
+ * if (LegacyAttributeFactory.has(Public, controllerMetadata)) {
407
+ * // Skip authentication
408
+ * }
409
+ * ```
410
+ */
411
+ static has(attribute: LegacyClassAttribute, target: ModuleMetadata | ControllerMetadata | HandlerMetadata<any>): boolean;
412
+ static has<T extends ZodType>(attribute: LegacyClassSchemaAttribute<T>, target: ModuleMetadata | ControllerMetadata | HandlerMetadata<any>): boolean;
413
+ }
414
+ //#endregion
415
+ //#region src/legacy-compat/context-compat.d.mts
416
+ /**
417
+ * Creates a mock ClassDecoratorContext for legacy class decorators.
418
+ * @internal
419
+ */
420
+ declare function createClassContext(target: ClassType): ClassDecoratorContext;
421
+ /**
422
+ * Creates a mock ClassMethodDecoratorContext for legacy method decorators.
423
+ *
424
+ * Note: Method decorators need to share metadata with the class context
425
+ * because endpoint metadata is stored at the class level.
426
+ * @internal
427
+ */
428
+ declare function createMethodContext(target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor): ClassMethodDecoratorContext;
429
+ //#endregion
430
+ export { LegacyAttributeFactory as AttributeFactory, LegacyAttributeFactory, Controller, type ControllerOptions, Endpoint, type EndpointParams, type EndpointResult, Header, HttpCode, Injectable, type LegacyClassAttribute, type LegacyClassSchemaAttribute, Module, type ModuleOptions, Multipart, type MultipartParams, type MultipartResult, Stream, type StreamParams, UseGuards, createClassContext, createMethodContext };
219
431
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../../src/legacy-compat/decorators/module.decorator.mts","../../src/legacy-compat/decorators/controller.decorator.mts","../../src/legacy-compat/decorators/endpoint.decorator.mts","../../src/legacy-compat/decorators/use-guards.decorator.mts","../../src/legacy-compat/decorators/header.decorator.mts","../../src/legacy-compat/decorators/http-code.decorator.mts","../../src/legacy-compat/decorators/multipart.decorator.mts","../../src/legacy-compat/decorators/stream.decorator.mts"],"sourcesContent":[],"mappings":"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J,cJnDI,CAAA,EAAA,GIqDL,kBJrDK,GAAA,IAAA;;;;;;;AFDV;KORK,sBPSM,CAAA,YAAA,MAAA,EAAA,WAAA,EAAA,aAAA,CAAA,GOLP,uBPKO,CAAA,CAAA,MAAA,EOHC,WPGD,SOHqB,SPGrB,GOFH,aPEG,SOFmB,OPEnB,GODD,oBPCC,CODoB,GPCpB,EODyB,WPCzB,EODsC,aPCtC,CAAA,GOAD,oBPAC,COAoB,GPApB,EOAyB,WPAzB,EAAA,SAAA,CAAA,GOCH,aPDG,SOCmB,OPDnB,GOED,oBPFC,COEoB,GPFpB,EAAA,SAAA,EOEoC,aPFpC,CAAA,GOGD,oBPHC,COGoB,GPHpB,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,KAAA,EAAA,GAAA,EAAA,GOKJ,OPLI,CAAA,IAAA,CAAA,CAAA;;;;;;;ACAX;;;;;;;;ACnBwC;;;;;;;AAmBJ,iBK6BpB,ML7BoB,CAAA,eK8BnB,UL9BmB,GK8BN,UL9BM,EAAA,YAAA,MAAA,GAAA,MAAA,EAAA,cAAA,SAAA,EAAA,gBKiClB,OLjCkB,CAAA,CAAA,QAAA,EAAA;EAAa,MAAA,EKmCvC,gBLnCuC,CKmCtB,MLnCsB,EKmCd,GLnCc,EKmCT,WLnCS,EKmCI,aLnCJ,CAAA;CAAvC,CAAA,EAAA,CAAA,UAAA,MAAA,CAAA,CAAA,MAAA,EKsCE,CLtCF,EAAA,WAAA,EAAA,MAAA,GAAA,MAAA,EAAA,UAAA,EKwCM,sBLxCN,CKwC6B,GLxC7B,EKwCkC,WLxClC,EKwC+C,aLxC/C,CAAA,EAAA,GKwC6D,sBLxC7D,CKwC6D,GLxC7D,EKwC6D,WLxC7D,EKwC6D,aLxC7D,CAAA"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../../src/legacy-compat/decorators/module.decorator.mts","../../src/legacy-compat/decorators/controller.decorator.mts","../../src/legacy-compat/decorators/endpoint.decorator.mts","../../src/legacy-compat/decorators/use-guards.decorator.mts","../../src/legacy-compat/decorators/header.decorator.mts","../../src/legacy-compat/decorators/http-code.decorator.mts","../../src/legacy-compat/decorators/multipart.decorator.mts","../../src/legacy-compat/decorators/stream.decorator.mts","../../src/legacy-compat/decorators/injectable.decorator.mts","../../src/legacy-compat/attribute.factory.mts","../../src/legacy-compat/context-compat.mts"],"sourcesContent":[],"mappings":";;;;;;;;;;;AAuBA;;;;;;;;ACCA;;;;;;iBDDgB,MAAA,WACL,yBAMgB,cAAS;;;;;;;AAPpC;;;;;;;;ACCA;;;;;iBAAgB,UAAA,WAAoB,6BACT,cAAS;;;;;;;ADFpC;KERK,wBFSM,CAAA,YAAA,MAAA,EAAA,WAAA,EAAA,aAAA,EAAA,uBELc,OFKd,CAAA,GEJP,uBFIO,CAAA,CAAA,MAAA,EEFC,WFED,SEFqB,OFErB,GEDH,aFCG,SEDmB,OFCnB,GEAD,oBFAC,CEAoB,GFApB,EEAyB,WFAzB,EEAsC,aFAtC,EAAA,IAAA,CAAA,GECD,oBFDC,CECoB,GFDpB,EECyB,WFDzB,EAAA,SAAA,EAAA,IAAA,CAAA,GEEH,aFFG,SEEmB,OFFnB,GEGD,oBFHC,CEGoB,GFHpB,EAAA,SAAA,EEGoC,aFHpC,EAAA,IAAA,CAAA,GEID,oBFJC,CEIoB,GFJpB,EAAA,SAAA,EAAA,SAAA,EAAA,IAAA,CAAA,EAAA,GEKJ,OFLI,CEKI,GAAA,CAAE,KFLN,CEKY,cFLZ,CAAA,CAAA,CAAA;;;;;;;ACAX;;;;;;;;ACnBwC;;;;;;AAmBT,iBA4Bf,QA5Be,CAAA,eA6Bd,UA7Bc,GA6BD,UA7BC,EAAA,YAAA,MAAA,GAAA,MAAA,EAAA,cAAA,SAAA,EAAA,uBAgCN,OAhCM,GAgCI,OAhCJ,EAAA,gBAiCb,OAjCa,CAAA,CAAA,QAAA,EAAA;EAAK,MAAA,EAmC1B,kBAnC0B,CAoChC,MApCgC,EAqChC,GArCgC,EAsChC,WAtCgC,EAuChC,cAvCgC,EAwChC,aAxCgC,CAAA;CAAa,CAAA,EAAA,CAAA,MAAA,EAAA,GAAA,EAAA,WAAA,EAAA,MAAA,GAAA,MAAA,EAAA,UAAA,EA8CjC,wBA9CiC,CA+C3C,GA/C2C,EAgD3C,WAhD2C,EAiD3C,aAjD2C,EAkD3C,cAlD2C,CAAA,EAAA,GAoD5C,kBApD4C,GAAA,IAAA;;;;;;;AFDjD;;;;;;;;ACCA;;;;;;;;ACnBwC;;;;;AAkBV,iBCad,SAAA,CDbc,GAAA,MAAA,EAAA,CCexB,qBDfwB,CCeF,WDfE,CAAA,GCgBxB,cDhBwB,CCgBT,WDhBS,EAAA,SAAA,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA;;;;;;;;AFA9B;;;;;;;;ACCA;;;;;;;;ACTK,iBEWW,MAAA,CFXa,IAAA,EEWA,UFXA,EAAA,KAAA,EAAA,MAAA,GAAA,MAAA,GAAA,MAAA,EAAA,CAAA,EAAA,CAAA,UAAA,MAAA,CAAA,CAAA,MAAA,EEajB,CFbiB,EAAA,WAAA,EAAA,MAAA,GAAA,MAAA,EAAA,UAAA,EEeb,kBFfa,EAAA,GEeK,kBFfL;;;;;;;;;AFQ7B;;;;;;;;ACCA;;;;;;iBIDgB,QAAA,2CAEJ,6CAEI,uBAAkB;;;;;;;ALJlC;KMRK,yBNSM,CAAA,YAAA,MAAA,EAAA,WAAA,EAAA,aAAA,EAAA,uBMLc,ONKd,CAAA,GMJP,uBNIO,CAAA,CAAA,MAAA,EMFC,WNED,SMFqB,SNErB,GMDH,aNCG,SMDmB,ONCnB,GMAD,oBNAC,CMAoB,GNApB,EMAyB,WNAzB,EMAsC,aNAtC,EAAA,IAAA,CAAA,GMCD,oBNDC,CMCoB,GNDpB,EMCyB,WNDzB,EAAA,SAAA,EAAA,IAAA,CAAA,GMEH,aNFG,SMEmB,ONFnB,GMGD,oBNHC,CMGoB,GNHpB,EAAA,SAAA,EMGoC,aNHpC,EAAA,IAAA,CAAA,GMID,oBNJC,CMIoB,GNJpB,EAAA,SAAA,EAAA,SAAA,EAAA,IAAA,CAAA,EAAA,GMKJ,ONLI,CMKI,GAAA,CAAE,KNLN,CMKY,cNLZ,CAAA,CAAA,CAAA;;;;;;;ACAX;;;;;;;;ACnBwC;;;;;;;AAmBJ,iBI6BpB,SJ7BoB,CAAA,eI8BnB,UJ9BmB,GI8BN,UJ9BM,EAAA,YAAA,MAAA,GAAA,MAAA,EAAA,cAAA,SAAA,EAAA,uBIiCX,OJjCW,GIiCD,OJjCC,EAAA,gBIkClB,OJlCkB,CAAA,CAAA,QAAA,EAAA;EAAa,MAAA,EIoCvC,kBJpCuC,CIqC7C,MJrC6C,EIsC7C,GJtC6C,EIuC7C,WJvC6C,EIwC7C,cJxC6C,EIyC7C,aJzC6C,CAAA;CAAvC,CAAA,EAAA,CAAA,UAAA,MAAA,CAAA,CAAA,MAAA,EI6CE,CJ7CF,EAAA,WAAA,EAAA,MAAA,GAAA,MAAA,EAAA,UAAA,EI+CM,yBJ/CN,CIgDJ,GJhDI,EIiDJ,WJjDI,EIkDJ,aJlDI,EImDJ,cJnDI,CAAA,EAAA,GIqDL,kBJrDK,GAAA,IAAA;;;KKdL,iEAID,oBAAoB,YACpB,sBAAsB,UACpB,qBAAqB,KAAK,aAAa,uBACvC,qBAAqB,KAAK,gCAC5B,sBAAsB,UACpB,qBAAqB,gBAAgB,uBACrC,qBAAqB;;;;APG3B;KOGK,sBPFM,CAAA,YAAA,MAAA,EAAA,WAAA,EAAA,aAAA,CAAA,GOOP,uBPPO,CAAA,CAAA,MAAA,EOQI,cPRJ,COQiB,GPRjB,EOQsB,WPRtB,EOQmC,aPRnC,CAAA,EAAA,KAAA,EAAA,GAAA,EAAA,GAAA,GAAA,CAAA,GOUP,uBPVO,CAAA,CAAA,MAAA,EOWI,cPXJ,COWiB,GPXjB,EOWsB,WPXtB,EOWmC,aPXnC,CAAA,EAAA,GAAA,GAAA,CAAA,GOaP,uBPbO,CAAA,GAAA,GAAA,GAAA,CAAA;;;;;;;ACAX;;;;;;;;ACnBwC;;;;;;;AAmBJ,iBKoCpB,MLpCoB,CAAA,eKqCnB,ULrCmB,GKqCN,ULrCM,EAAA,YAAA,MAAA,GAAA,MAAA,EAAA,cAAA,SAAA,EAAA,gBKwClB,OLxCkB,CAAA,CAAA,QAAA,EAAA;EAAa,MAAA,EK0CvC,gBL1CuC,CK0CtB,ML1CsB,EK0Cd,GL1Cc,EK0CT,WL1CS,EK0CI,aL1CJ,CAAA;CAAvC,CAAA,EAAA,CAAA,UAAA,MAAA,CAAA,CAAA,MAAA,EK6CE,CL7CF,EAAA,WAAA,EAAA,MAAA,GAAA,MAAA,EAAA,UAAA,EK+CM,sBL/CN,CK+C6B,GL/C7B,EK+CkC,WL/ClC,EK+C+C,aL/C/C,CAAA,EAAA,GK+C6D,sBL/C7D,CK+C6D,GL/C7D,EK+C6D,WL/C7D,EK+C6D,aL/C7D,CAAA;;;;;;AFDV;;;;;;;;ACCA;;;;;;;iBOKgB,UAAA,WAAoB,6BACT,cAAS;;;;;;ARPpC;;;AAOoC,KSFxB,oBAAA,GTEwB,CAAA,GAAA,GAAA,CAAA,USFiB,STEjB,CAAA,CAAA,MAAA,ESD1B,CTC0B,EAAA,GSA/B,CTA+B,CAAA,GAAA,CAAA,GAAA,GAAA,CAAA,UAAA,MAAA,CAAA,CAAA,MAAA,ESExB,CTFwB,EAAA,WAAA,EAAA,MAAA,GAAA,MAAA,EAAA,UAAA,ESIpB,kBTJoB,EAAA,GSK7B,kBTL6B,CAAA,GAAA;EAAA,KAAA,EAAA,MAAA;;;;ACNpC;;;AACoC,KQmBxB,0BRnBwB,CAAA,UQmBa,ORnBb,CAAA,GAAA,CAAA,CAAA,KAAA,EQoB3B,GAAA,CAAE,KRpByB,CQoBnB,CRpBmB,CAAA,EAAA,GAAA,CAAA,UQqBpB,SRrBoB,CAAA,CAAA,MAAA,EQqBD,CRrBC,EAAA,GQqBK,CRrBL,CAAA,GAAA,CAAA,CAAA,KAAA,EQuBzB,GAAA,CAAE,KRvBuB,CQuBjB,CRvBiB,CAAA,EAAA,GAAA,CAAA,UAAA,MAAA,CAAA,CAAA,MAAA,EQyBxB,CRzBwB,EAAA,WAAA,EAAA,MAAA,GAAA,MAAA,EAAA,UAAA,EQ2BpB,kBR3BoB,EAAA,GQ4B7B,kBR5B6B,CAAA,GAAA;EAAA,KAAA,EAAA,MAAA;UQ8BxB;;;APlD4B;;;;;;;;;;;;;;;;;;;;;;;;;AA+CxC;;;;;;;;;;;;;;;;AAkBgB,cO8BH,sBAAA,CP9BG;EAMX;;;;;ACxCL;;;;;;;;;ACVA;EAA6B,OAAA,eAAA,CAAA,KAAA,EAAA,MAAA,CAAA,EK0FY,oBL1FZ;EAEjB;;;;;;;ACLZ;;;;;;;;AClBmD;;;;EAkB3C,OAAA,eAAA,CAAA,UGiH2B,OHjH3B,CAAA,CAAA,KAAA,EAAA,MAAA,EAAA,MAAA,EGmHI,CHnHJ,CAAA,EGoHH,0BHpHG,CGoHwB,CHpHxB,CAAA;EAAsB;;;;;;;;;;;;;;;;;;;EAHH,OAAA,GAAA,CAAA,SAAA,EGiOZ,oBHjOY,EAAA,MAAA,EGkOf,cHlOe,GGkOE,kBHlOF,GGkOuB,eHlOvB,CAAA,GAAA,CAAA,CAAA,EAAA,IAAA,GAAA,IAAA;EAiCX,OAAA,GAAA,CAAA,UGmMO,OHnME,CAAA,CAAA,SAAA,EGoMV,0BHpMU,CGoMiB,CHpMjB,CAAA,EAAA,MAAA,EGqMb,cHrMa,GGqMI,kBHrMJ,GGqMyB,eHrMzB,CAAA,GAAA,CAAA,CAAA,EGsMpB,GAAA,CAAE,MHtMkB,CGsMX,CHtMW,CAAA,GAAA,IAAA;EACR;;;;;;;;;;;;;;;EAqBX,OAAA,MAAA,CAAA,SAAA,EGwMS,oBHxMT,EAAA,MAAA,EGyMM,cHzMN,GGyMuB,kBHzMvB,GGyM4C,eHzM5C,CAAA,GAAA,CAAA,CAAA,EG0MD,KH1MC,CAAA,IAAA,CAAA,GAAA,IAAA;EAJU,OAAA,MAAA,CAAA,UG+MU,OH/MV,CAAA,CAAA,SAAA,EGgND,0BHhNC,CGgN0B,CHhN1B,CAAA,EAAA,MAAA,EGiNJ,cHjNI,GGiNa,kBHjNb,GGiNkC,eHjNlC,CAAA,GAAA,CAAA,CAAA,EGkNX,KHlNW,CGkNL,GAAA,CAAE,MHlNG,CGkNI,CHlNJ,CAAA,CAAA,GAAA,IAAA;EAMX;;;;;ACxE2C;;;;;;;;;;;;;;;EAcL,OAAA,OAAA,CAAA,SAAA,EEsS5B,oBFtS4B,EAAA,MAAA,EAAA,CEuS9B,cFvS8B,GEuSb,kBFvSa,GEuSQ,eFvSR,CAAA,GAAA,CAAA,CAAA,EAAA,CAAA,EAAA,IAAA,GAAA,IAAA;EAArC,OAAA,OAAA,CAAA,UEySqB,OFzSrB,CAAA,CAAA,SAAA,EE0SS,0BF1ST,CE0SoC,CF1SpC,CAAA,EAAA,MAAA,EAAA,CE2SO,cF3SP,GE2SwB,kBF3SxB,GE2S6C,eF3S7C,CAAA,GAAA,CAAA,CAAA,EAAA,CAAA,EE4SD,GAAA,CAAE,MF5SD,CE4SQ,CF5SR,CAAA,GAAA,IAAA;EACqB;;;AAAD;;;;;;;;;;;EAiBtB,OAAA,GAAA,CAAA,SAAA,EEuTW,oBFvTX,EAAA,MAAA,EEwTQ,cFxTR,GEwTyB,kBFxTzB,GEwT8C,eFxT9C,CAAA,GAAA,CAAA,CAAA,EAAA,OAAA;EAAuB,OAAA,GAAA,CAAA,UE0TJ,OF1TI,CAAA,CAAA,SAAA,EE2TZ,0BF3TY,CE2Te,CF3Tf,CAAA,EAAA,MAAA,EE4Tf,cF5Te,GE4TE,kBF5TF,GE4TuB,eF5TvB,CAAA,GAAA,CAAA,CAAA,EAAA,OAAA;AAuB3B;;;;;;;iBG1BgB,kBAAA,SAA2B,YAAY;;;ATVvD;;;;;iBSkCgB,mBAAA,wDAGF,qBACX"}
@@ -1,5 +1,5 @@
1
- import { K as MultipartParams, W as StreamParams, Y as ModuleOptions, an as EndpointResult, in as EndpointParams, it as HttpHeader, ot as CanActivate, q as MultipartResult, sn as ControllerOptions } from "../index-BoP0cWT6.mjs";
2
- import { ClassType, ClassTypeWithInstance, InjectionToken } from "@navios/di";
1
+ import { G as MultipartParams, J as ModuleOptions, K as MultipartResult, Kt as ModuleMetadata, U as StreamParams, Zt as ControllerMetadata, at as CanActivate, cn as EndpointResult, rn as HandlerMetadata, rt as HttpHeader, sn as EndpointParams, un as ControllerOptions } from "../index-C8lUQePd.mjs";
2
+ import { ClassType, ClassTypeWithInstance, InjectableOptions, InjectionToken } from "@navios/di";
3
3
  import { ZodObject, ZodType, z as z$1 } from "zod/v4";
4
4
  import { BaseEndpointConfig, BaseStreamConfig, EndpointFunctionArgs, HttpMethod } from "@navios/builder";
5
5
 
@@ -157,7 +157,7 @@ declare function HttpCode(code: number): <T extends object>(target: T, propertyK
157
157
  * Note: In legacy decorators, type constraints are checked when the decorator is applied,
158
158
  * but may not be preserved perfectly when decorators are stacked.
159
159
  */
160
- type MultipartMethodDescriptor<Url extends string, QuerySchema, RequestSchema, ResponseSchema extends ZodType> = TypedPropertyDescriptor<(params: QuerySchema extends ZodObject ? RequestSchema extends ZodType ? EndpointFunctionArgs<Url, QuerySchema, RequestSchema> : EndpointFunctionArgs<Url, QuerySchema, undefined> : RequestSchema extends ZodType ? EndpointFunctionArgs<Url, undefined, RequestSchema> : EndpointFunctionArgs<Url, undefined, undefined>) => Promise<z$1.input<ResponseSchema>>>;
160
+ type MultipartMethodDescriptor<Url extends string, QuerySchema, RequestSchema, ResponseSchema extends ZodType> = TypedPropertyDescriptor<(params: QuerySchema extends ZodObject ? RequestSchema extends ZodType ? EndpointFunctionArgs<Url, QuerySchema, RequestSchema, true> : EndpointFunctionArgs<Url, QuerySchema, undefined, true> : RequestSchema extends ZodType ? EndpointFunctionArgs<Url, undefined, RequestSchema, true> : EndpointFunctionArgs<Url, undefined, undefined, true>) => Promise<z$1.input<ResponseSchema>>>;
161
161
  /**
162
162
  * Legacy-compatible Multipart decorator.
163
163
  *
@@ -184,12 +184,12 @@ declare function Multipart<Method extends HttpMethod = HttpMethod, Url extends s
184
184
  }): <T extends object>(target: T, propertyKey: string | symbol, descriptor: MultipartMethodDescriptor<Url, QuerySchema, RequestSchema, ResponseSchema>) => PropertyDescriptor | void;
185
185
  //#endregion
186
186
  //#region src/legacy-compat/decorators/stream.decorator.d.mts
187
+ type StreamParams$1<Url extends string, QuerySchema, RequestSchema> = QuerySchema extends ZodObject ? RequestSchema extends ZodType ? EndpointFunctionArgs<Url, QuerySchema, RequestSchema, true> : EndpointFunctionArgs<Url, QuerySchema, undefined, true> : RequestSchema extends ZodType ? EndpointFunctionArgs<Url, undefined, RequestSchema, true> : EndpointFunctionArgs<Url, undefined, undefined, true>;
187
188
  /**
188
189
  * Type helper to constrain a PropertyDescriptor's value to match a stream endpoint signature.
189
- * Note: In legacy decorators, type constraints are checked when the decorator is applied,
190
- * but may not be preserved perfectly when decorators are stacked.
190
+ * Supports both with and without reply parameter (Bun doesn't use reply parameter).
191
191
  */
192
- type StreamMethodDescriptor<Url extends string, QuerySchema, RequestSchema> = TypedPropertyDescriptor<(params: QuerySchema extends ZodObject ? RequestSchema extends ZodType ? EndpointFunctionArgs<Url, QuerySchema, RequestSchema> : EndpointFunctionArgs<Url, QuerySchema, undefined> : RequestSchema extends ZodType ? EndpointFunctionArgs<Url, undefined, RequestSchema> : EndpointFunctionArgs<Url, undefined, undefined>, reply: any) => Promise<void>>;
192
+ type StreamMethodDescriptor<Url extends string, QuerySchema, RequestSchema> = TypedPropertyDescriptor<(params: StreamParams$1<Url, QuerySchema, RequestSchema>, reply: any) => any> | TypedPropertyDescriptor<(params: StreamParams$1<Url, QuerySchema, RequestSchema>) => any> | TypedPropertyDescriptor<() => any>;
193
193
  /**
194
194
  * Legacy-compatible Stream decorator.
195
195
  *
@@ -215,5 +215,217 @@ declare function Stream<Method extends HttpMethod = HttpMethod, Url extends stri
215
215
  config: BaseStreamConfig<Method, Url, QuerySchema, RequestSchema>;
216
216
  }): <T extends object>(target: T, propertyKey: string | symbol, descriptor: StreamMethodDescriptor<Url, QuerySchema, RequestSchema>) => StreamMethodDescriptor<Url, QuerySchema, RequestSchema>;
217
217
  //#endregion
218
- export { Controller, type ControllerOptions, Endpoint, type EndpointParams, type EndpointResult, Header, HttpCode, Module, type ModuleOptions, Multipart, type MultipartParams, type MultipartResult, Stream, type StreamParams, UseGuards };
218
+ //#region src/legacy-compat/decorators/injectable.decorator.d.mts
219
+ /**
220
+ * Legacy-compatible Injectable decorator.
221
+ *
222
+ * Works with TypeScript experimental decorators (legacy API).
223
+ *
224
+ * @param options - Injectable configuration options
225
+ * @returns A class decorator compatible with legacy decorator API
226
+ *
227
+ * @example
228
+ * ```typescript
229
+ * @Injectable()
230
+ * export class UserService {
231
+ * getUser(id: string) {
232
+ * return { id, name: 'John' }
233
+ * }
234
+ * }
235
+ * ```
236
+ */
237
+ declare function Injectable(options?: InjectableOptions): (target: ClassType) => ClassType;
238
+ //#endregion
239
+ //#region src/legacy-compat/attribute.factory.d.mts
240
+ /**
241
+ * Type for a legacy class attribute decorator without a value.
242
+ *
243
+ * Attributes are custom metadata decorators that can be applied to modules,
244
+ * controllers, and endpoints.
245
+ */
246
+ type LegacyClassAttribute = (() => <T extends ClassType>(target: T) => T) & (() => <T extends object>(target: T, propertyKey: string | symbol, descriptor: PropertyDescriptor) => PropertyDescriptor) & {
247
+ token: symbol;
248
+ };
249
+ /**
250
+ * Type for a legacy class attribute decorator with a validated value.
251
+ *
252
+ * @typeParam S - The Zod schema type for validation
253
+ */
254
+ type LegacyClassSchemaAttribute<S extends ZodType> = ((value: z$1.input<S>) => <T extends ClassType>(target: T) => T) & ((value: z$1.input<S>) => <T extends object>(target: T, propertyKey: string | symbol, descriptor: PropertyDescriptor) => PropertyDescriptor) & {
255
+ token: symbol;
256
+ schema: ZodType;
257
+ };
258
+ /**
259
+ * Legacy-compatible factory for creating custom attribute decorators.
260
+ *
261
+ * Works with TypeScript experimental decorators (legacy API).
262
+ *
263
+ * Attributes allow you to add custom metadata to modules, controllers, and endpoints.
264
+ * This is useful for cross-cutting concerns like rate limiting, caching, API versioning, etc.
265
+ *
266
+ * @example
267
+ * ```typescript
268
+ * // Create a simple boolean attribute
269
+ * const Public = LegacyAttributeFactory.createAttribute(Symbol.for('Public'))
270
+ *
271
+ * // Use it as a decorator
272
+ * @Controller()
273
+ * @Public()
274
+ * export class PublicController { }
275
+ *
276
+ * // Check if attribute exists
277
+ * if (LegacyAttributeFactory.has(Public, controllerMetadata)) {
278
+ * // Skip authentication
279
+ * }
280
+ * ```
281
+ *
282
+ * @example
283
+ * ```typescript
284
+ * // Create an attribute with a validated value
285
+ * const RateLimit = LegacyAttributeFactory.createAttribute(
286
+ * Symbol.for('RateLimit'),
287
+ * z.object({ requests: z.number(), window: z.number() })
288
+ * )
289
+ *
290
+ * // Use it with a value
291
+ * @Endpoint(apiEndpoint)
292
+ * @RateLimit({ requests: 100, window: 60000 })
293
+ * async handler() { }
294
+ *
295
+ * // Get the value
296
+ * const limit = LegacyAttributeFactory.get(RateLimit, endpointMetadata)
297
+ * // limit is typed as { requests: number, window: number } | null
298
+ * ```
299
+ */
300
+ declare class LegacyAttributeFactory {
301
+ /**
302
+ * Creates a simple attribute decorator without a value.
303
+ *
304
+ * @param token - A unique symbol to identify this attribute
305
+ * @returns A decorator function that can be applied to classes or methods
306
+ *
307
+ * @example
308
+ * ```typescript
309
+ * const Public = LegacyAttributeFactory.createAttribute(Symbol.for('Public'))
310
+ *
311
+ * @Public()
312
+ * @Controller()
313
+ * export class PublicController { }
314
+ * ```
315
+ */
316
+ static createAttribute(token: symbol): LegacyClassAttribute;
317
+ /**
318
+ * Creates an attribute decorator with a validated value.
319
+ *
320
+ * @param token - A unique symbol to identify this attribute
321
+ * @param schema - A Zod schema to validate the attribute value
322
+ * @returns A decorator function that accepts a value and can be applied to classes or methods
323
+ *
324
+ * @example
325
+ * ```typescript
326
+ * const RateLimit = LegacyAttributeFactory.createAttribute(
327
+ * Symbol.for('RateLimit'),
328
+ * z.object({ requests: z.number(), window: z.number() })
329
+ * )
330
+ *
331
+ * @RateLimit({ requests: 100, window: 60000 })
332
+ * @Endpoint(apiEndpoint)
333
+ * async handler() { }
334
+ * ```
335
+ */
336
+ static createAttribute<T extends ZodType>(token: symbol, schema: T): LegacyClassSchemaAttribute<T>;
337
+ /**
338
+ * Gets the value of an attribute from metadata.
339
+ *
340
+ * Returns `null` if the attribute is not present.
341
+ * For simple attributes (without values), returns `true` if present.
342
+ *
343
+ * @param attribute - The attribute decorator
344
+ * @param target - The metadata object (module, controller, or handler)
345
+ * @returns The attribute value, `true` for simple attributes, or `null` if not found
346
+ *
347
+ * @example
348
+ * ```typescript
349
+ * const isPublic = LegacyAttributeFactory.get(Public, controllerMetadata)
350
+ * // isPublic is true | null
351
+ *
352
+ * const rateLimit = LegacyAttributeFactory.get(RateLimit, endpointMetadata)
353
+ * // rateLimit is { requests: number, window: number } | null
354
+ * ```
355
+ */
356
+ static get(attribute: LegacyClassAttribute, target: ModuleMetadata | ControllerMetadata | HandlerMetadata<any>): true | null;
357
+ static get<T extends ZodType>(attribute: LegacyClassSchemaAttribute<T>, target: ModuleMetadata | ControllerMetadata | HandlerMetadata<any>): z$1.output<T> | null;
358
+ /**
359
+ * Gets all values of an attribute from metadata (useful when an attribute can appear multiple times).
360
+ *
361
+ * Returns `null` if the attribute is not present.
362
+ *
363
+ * @param attribute - The attribute decorator
364
+ * @param target - The metadata object (module, controller, or handler)
365
+ * @returns An array of attribute values, or `null` if not found
366
+ *
367
+ * @example
368
+ * ```typescript
369
+ * const tags = LegacyAttributeFactory.getAll(Tag, endpointMetadata)
370
+ * // tags is string[] | null
371
+ * ```
372
+ */
373
+ static getAll(attribute: LegacyClassAttribute, target: ModuleMetadata | ControllerMetadata | HandlerMetadata<any>): Array<true> | null;
374
+ static getAll<T extends ZodType>(attribute: LegacyClassSchemaAttribute<T>, target: ModuleMetadata | ControllerMetadata | HandlerMetadata<any>): Array<z$1.output<T>> | null;
375
+ /**
376
+ * Gets the last value of an attribute from an array of metadata objects.
377
+ *
378
+ * Searches from the end of the array backwards, useful for finding the most
379
+ * specific attribute value (e.g., endpoint-level overrides module-level).
380
+ *
381
+ * @param attribute - The attribute decorator
382
+ * @param target - An array of metadata objects (typically [module, controller, handler])
383
+ * @returns The last attribute value found, or `null` if not found
384
+ *
385
+ * @example
386
+ * ```typescript
387
+ * // Check attribute hierarchy: endpoint -> controller -> module
388
+ * const rateLimit = LegacyAttributeFactory.getLast(RateLimit, [
389
+ * moduleMetadata,
390
+ * controllerMetadata,
391
+ * endpointMetadata
392
+ * ])
393
+ * ```
394
+ */
395
+ static getLast(attribute: LegacyClassAttribute, target: (ModuleMetadata | ControllerMetadata | HandlerMetadata<any>)[]): true | null;
396
+ static getLast<T extends ZodType>(attribute: LegacyClassSchemaAttribute<T>, target: (ModuleMetadata | ControllerMetadata | HandlerMetadata<any>)[]): z$1.output<T> | null;
397
+ /**
398
+ * Checks if an attribute is present on the metadata object.
399
+ *
400
+ * @param attribute - The attribute decorator
401
+ * @param target - The metadata object (module, controller, or handler)
402
+ * @returns `true` if the attribute is present, `false` otherwise
403
+ *
404
+ * @example
405
+ * ```typescript
406
+ * if (LegacyAttributeFactory.has(Public, controllerMetadata)) {
407
+ * // Skip authentication
408
+ * }
409
+ * ```
410
+ */
411
+ static has(attribute: LegacyClassAttribute, target: ModuleMetadata | ControllerMetadata | HandlerMetadata<any>): boolean;
412
+ static has<T extends ZodType>(attribute: LegacyClassSchemaAttribute<T>, target: ModuleMetadata | ControllerMetadata | HandlerMetadata<any>): boolean;
413
+ }
414
+ //#endregion
415
+ //#region src/legacy-compat/context-compat.d.mts
416
+ /**
417
+ * Creates a mock ClassDecoratorContext for legacy class decorators.
418
+ * @internal
419
+ */
420
+ declare function createClassContext(target: ClassType): ClassDecoratorContext;
421
+ /**
422
+ * Creates a mock ClassMethodDecoratorContext for legacy method decorators.
423
+ *
424
+ * Note: Method decorators need to share metadata with the class context
425
+ * because endpoint metadata is stored at the class level.
426
+ * @internal
427
+ */
428
+ declare function createMethodContext(target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor): ClassMethodDecoratorContext;
429
+ //#endregion
430
+ export { LegacyAttributeFactory as AttributeFactory, LegacyAttributeFactory, Controller, type ControllerOptions, Endpoint, type EndpointParams, type EndpointResult, Header, HttpCode, Injectable, type LegacyClassAttribute, type LegacyClassSchemaAttribute, Module, type ModuleOptions, Multipart, type MultipartParams, type MultipartResult, Stream, type StreamParams, UseGuards, createClassContext, createMethodContext };
219
431
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../../src/legacy-compat/decorators/module.decorator.mts","../../src/legacy-compat/decorators/controller.decorator.mts","../../src/legacy-compat/decorators/endpoint.decorator.mts","../../src/legacy-compat/decorators/use-guards.decorator.mts","../../src/legacy-compat/decorators/header.decorator.mts","../../src/legacy-compat/decorators/http-code.decorator.mts","../../src/legacy-compat/decorators/multipart.decorator.mts","../../src/legacy-compat/decorators/stream.decorator.mts"],"sourcesContent":[],"mappings":"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J,cJnDI,CAAA,EAAA,GIqDL,kBJrDK,GAAA,IAAA;;;;;;;AFDV;KORK,sBPSM,CAAA,YAAA,MAAA,EAAA,WAAA,EAAA,aAAA,CAAA,GOLP,uBPKO,CAAA,CAAA,MAAA,EOHC,WPGD,SOHqB,SPGrB,GOFH,aPEG,SOFmB,OPEnB,GODD,oBPCC,CODoB,GPCpB,EODyB,WPCzB,EODsC,aPCtC,CAAA,GOAD,oBPAC,COAoB,GPApB,EOAyB,WPAzB,EAAA,SAAA,CAAA,GOCH,aPDG,SOCmB,OPDnB,GOED,oBPFC,COEoB,GPFpB,EAAA,SAAA,EOEoC,aPFpC,CAAA,GOGD,oBPHC,COGoB,GPHpB,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,KAAA,EAAA,GAAA,EAAA,GOKJ,OPLI,CAAA,IAAA,CAAA,CAAA;;;;;;;ACAX;;;;;;;;ACnBwC;;;;;;;AAmBJ,iBK6BpB,ML7BoB,CAAA,eK8BnB,UL9BmB,GK8BN,UL9BM,EAAA,YAAA,MAAA,GAAA,MAAA,EAAA,cAAA,SAAA,EAAA,gBKiClB,OLjCkB,CAAA,CAAA,QAAA,EAAA;EAAa,MAAA,EKmCvC,gBLnCuC,CKmCtB,MLnCsB,EKmCd,GLnCc,EKmCT,WLnCS,EKmCI,aLnCJ,CAAA;CAAvC,CAAA,EAAA,CAAA,UAAA,MAAA,CAAA,CAAA,MAAA,EKsCE,CLtCF,EAAA,WAAA,EAAA,MAAA,GAAA,MAAA,EAAA,UAAA,EKwCM,sBLxCN,CKwC6B,GLxC7B,EKwCkC,WLxClC,EKwC+C,aLxC/C,CAAA,EAAA,GKwC6D,sBLxC7D,CKwC6D,GLxC7D,EKwC6D,WLxC7D,EKwC6D,aLxC7D,CAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../src/legacy-compat/decorators/module.decorator.mts","../../src/legacy-compat/decorators/controller.decorator.mts","../../src/legacy-compat/decorators/endpoint.decorator.mts","../../src/legacy-compat/decorators/use-guards.decorator.mts","../../src/legacy-compat/decorators/header.decorator.mts","../../src/legacy-compat/decorators/http-code.decorator.mts","../../src/legacy-compat/decorators/multipart.decorator.mts","../../src/legacy-compat/decorators/stream.decorator.mts","../../src/legacy-compat/decorators/injectable.decorator.mts","../../src/legacy-compat/attribute.factory.mts","../../src/legacy-compat/context-compat.mts"],"sourcesContent":[],"mappings":"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"}