@navios/core 0.9.0 → 0.9.2
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/CHANGELOG.md +19 -0
- package/lib/{index-D9MNh6Tx.d.mts → index-B2ulzZIr.d.cts} +31 -2
- package/lib/index-B2ulzZIr.d.cts.map +1 -0
- package/lib/{index-Db1d3cwD.d.cts → index-C8lUQePd.d.mts} +31 -2
- package/lib/index-C8lUQePd.d.mts.map +1 -0
- package/lib/index.cjs +5 -2
- package/lib/index.d.cts +2 -2
- package/lib/index.d.mts +2 -2
- package/lib/index.mjs +3 -3
- package/lib/legacy-compat/index.cjs +160 -1
- package/lib/legacy-compat/index.cjs.map +1 -1
- package/lib/legacy-compat/index.d.cts +239 -6
- package/lib/legacy-compat/index.d.cts.map +1 -1
- package/lib/legacy-compat/index.d.mts +239 -6
- package/lib/legacy-compat/index.d.mts.map +1 -1
- package/lib/legacy-compat/index.mjs +154 -2
- package/lib/legacy-compat/index.mjs.map +1 -1
- package/lib/{src-Bo23RIo-.mjs → src-Baabu2R8.mjs} +6 -4
- package/lib/src-Baabu2R8.mjs.map +1 -0
- package/lib/{src-BRPtJ9fG.cjs → src-Cu9OAnfp.cjs} +6 -4
- package/lib/src-Cu9OAnfp.cjs.map +1 -0
- package/lib/testing/index.cjs +2 -2
- package/lib/testing/index.d.cts +1 -1
- package/lib/testing/index.d.mts +1 -1
- package/lib/testing/index.mjs +2 -2
- package/lib/{use-guards.decorator-CzVXuLkz.mjs → use-guards.decorator-ChJVzYLW.mjs} +27 -2
- package/lib/use-guards.decorator-ChJVzYLW.mjs.map +1 -0
- package/lib/{use-guards.decorator-Bs8oDHOi.cjs → use-guards.decorator-EvI2m2DK.cjs} +45 -2
- package/lib/use-guards.decorator-EvI2m2DK.cjs.map +1 -0
- package/package.json +4 -4
- package/src/attribute.factory.mts +19 -3
- package/src/legacy-compat/__type-tests__/legacy-decorators.spec-d.mts +112 -4
- package/src/legacy-compat/attribute.factory.mts +365 -0
- package/src/legacy-compat/context-compat.mts +2 -0
- package/src/legacy-compat/decorators/factory.decorator.mts +37 -0
- package/src/legacy-compat/decorators/index.mts +2 -0
- package/src/legacy-compat/decorators/injectable.decorator.mts +41 -0
- package/src/legacy-compat/decorators/stream.decorator.mts +21 -14
- package/src/legacy-compat/index.mts +15 -3
- package/src/metadata/index.mts +1 -0
- package/src/metadata/navios-managed.metadata.mts +42 -0
- package/lib/index-D9MNh6Tx.d.mts.map +0 -1
- package/lib/index-Db1d3cwD.d.cts.map +0 -1
- package/lib/src-BRPtJ9fG.cjs.map +0 -1
- package/lib/src-Bo23RIo-.mjs.map +0 -1
- package/lib/use-guards.decorator-Bs8oDHOi.cjs.map +0 -1
- package/lib/use-guards.decorator-CzVXuLkz.mjs.map +0 -1
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
import type { ClassType } from '@navios/di'
|
|
2
|
+
import type { z, ZodType } from 'zod/v4'
|
|
3
|
+
|
|
4
|
+
import type {
|
|
5
|
+
ControllerMetadata,
|
|
6
|
+
HandlerMetadata,
|
|
7
|
+
ModuleMetadata,
|
|
8
|
+
} from '../metadata/index.mjs'
|
|
9
|
+
|
|
10
|
+
import {
|
|
11
|
+
getControllerMetadata,
|
|
12
|
+
getEndpointMetadata,
|
|
13
|
+
getModuleMetadata,
|
|
14
|
+
hasControllerMetadata,
|
|
15
|
+
hasModuleMetadata,
|
|
16
|
+
} from '../metadata/index.mjs'
|
|
17
|
+
import {
|
|
18
|
+
getManagedMetadata,
|
|
19
|
+
hasManagedMetadata,
|
|
20
|
+
} from '../metadata/navios-managed.metadata.mjs'
|
|
21
|
+
import { createClassContext, createMethodContext } from './context-compat.mjs'
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Type for a legacy class attribute decorator without a value.
|
|
25
|
+
*
|
|
26
|
+
* Attributes are custom metadata decorators that can be applied to modules,
|
|
27
|
+
* controllers, and endpoints.
|
|
28
|
+
*/
|
|
29
|
+
export type LegacyClassAttribute = (() => <T extends ClassType>(
|
|
30
|
+
target: T,
|
|
31
|
+
) => T) &
|
|
32
|
+
(() => <T extends object>(
|
|
33
|
+
target: T,
|
|
34
|
+
propertyKey: string | symbol,
|
|
35
|
+
descriptor: PropertyDescriptor,
|
|
36
|
+
) => PropertyDescriptor) & {
|
|
37
|
+
token: symbol
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Type for a legacy class attribute decorator with a validated value.
|
|
42
|
+
*
|
|
43
|
+
* @typeParam S - The Zod schema type for validation
|
|
44
|
+
*/
|
|
45
|
+
export type LegacyClassSchemaAttribute<S extends ZodType> = ((
|
|
46
|
+
value: z.input<S>,
|
|
47
|
+
) => <T extends ClassType>(target: T) => T) &
|
|
48
|
+
((
|
|
49
|
+
value: z.input<S>,
|
|
50
|
+
) => <T extends object>(
|
|
51
|
+
target: T,
|
|
52
|
+
propertyKey: string | symbol,
|
|
53
|
+
descriptor: PropertyDescriptor,
|
|
54
|
+
) => PropertyDescriptor) & {
|
|
55
|
+
token: symbol
|
|
56
|
+
schema: ZodType
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Legacy-compatible factory for creating custom attribute decorators.
|
|
61
|
+
*
|
|
62
|
+
* Works with TypeScript experimental decorators (legacy API).
|
|
63
|
+
*
|
|
64
|
+
* Attributes allow you to add custom metadata to modules, controllers, and endpoints.
|
|
65
|
+
* This is useful for cross-cutting concerns like rate limiting, caching, API versioning, etc.
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```typescript
|
|
69
|
+
* // Create a simple boolean attribute
|
|
70
|
+
* const Public = LegacyAttributeFactory.createAttribute(Symbol.for('Public'))
|
|
71
|
+
*
|
|
72
|
+
* // Use it as a decorator
|
|
73
|
+
* @Controller()
|
|
74
|
+
* @Public()
|
|
75
|
+
* export class PublicController { }
|
|
76
|
+
*
|
|
77
|
+
* // Check if attribute exists
|
|
78
|
+
* if (LegacyAttributeFactory.has(Public, controllerMetadata)) {
|
|
79
|
+
* // Skip authentication
|
|
80
|
+
* }
|
|
81
|
+
* ```
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* ```typescript
|
|
85
|
+
* // Create an attribute with a validated value
|
|
86
|
+
* const RateLimit = LegacyAttributeFactory.createAttribute(
|
|
87
|
+
* Symbol.for('RateLimit'),
|
|
88
|
+
* z.object({ requests: z.number(), window: z.number() })
|
|
89
|
+
* )
|
|
90
|
+
*
|
|
91
|
+
* // Use it with a value
|
|
92
|
+
* @Endpoint(apiEndpoint)
|
|
93
|
+
* @RateLimit({ requests: 100, window: 60000 })
|
|
94
|
+
* async handler() { }
|
|
95
|
+
*
|
|
96
|
+
* // Get the value
|
|
97
|
+
* const limit = LegacyAttributeFactory.get(RateLimit, endpointMetadata)
|
|
98
|
+
* // limit is typed as { requests: number, window: number } | null
|
|
99
|
+
* ```
|
|
100
|
+
*/
|
|
101
|
+
export class LegacyAttributeFactory {
|
|
102
|
+
/**
|
|
103
|
+
* Creates a simple attribute decorator without a value.
|
|
104
|
+
*
|
|
105
|
+
* @param token - A unique symbol to identify this attribute
|
|
106
|
+
* @returns A decorator function that can be applied to classes or methods
|
|
107
|
+
*
|
|
108
|
+
* @example
|
|
109
|
+
* ```typescript
|
|
110
|
+
* const Public = LegacyAttributeFactory.createAttribute(Symbol.for('Public'))
|
|
111
|
+
*
|
|
112
|
+
* @Public()
|
|
113
|
+
* @Controller()
|
|
114
|
+
* export class PublicController { }
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
static createAttribute(token: symbol): LegacyClassAttribute
|
|
118
|
+
/**
|
|
119
|
+
* Creates an attribute decorator with a validated value.
|
|
120
|
+
*
|
|
121
|
+
* @param token - A unique symbol to identify this attribute
|
|
122
|
+
* @param schema - A Zod schema to validate the attribute value
|
|
123
|
+
* @returns A decorator function that accepts a value and can be applied to classes or methods
|
|
124
|
+
*
|
|
125
|
+
* @example
|
|
126
|
+
* ```typescript
|
|
127
|
+
* const RateLimit = LegacyAttributeFactory.createAttribute(
|
|
128
|
+
* Symbol.for('RateLimit'),
|
|
129
|
+
* z.object({ requests: z.number(), window: z.number() })
|
|
130
|
+
* )
|
|
131
|
+
*
|
|
132
|
+
* @RateLimit({ requests: 100, window: 60000 })
|
|
133
|
+
* @Endpoint(apiEndpoint)
|
|
134
|
+
* async handler() { }
|
|
135
|
+
* ```
|
|
136
|
+
*/
|
|
137
|
+
static createAttribute<T extends ZodType>(
|
|
138
|
+
token: symbol,
|
|
139
|
+
schema: T,
|
|
140
|
+
): LegacyClassSchemaAttribute<T>
|
|
141
|
+
|
|
142
|
+
static createAttribute(token: symbol, schema?: ZodType) {
|
|
143
|
+
const res = (value?: unknown) => {
|
|
144
|
+
// Return a decorator that can handle both class and method targets
|
|
145
|
+
function decorator(target: any): any
|
|
146
|
+
function decorator(
|
|
147
|
+
target: any,
|
|
148
|
+
propertyKey: string | symbol,
|
|
149
|
+
descriptor: PropertyDescriptor,
|
|
150
|
+
): PropertyDescriptor
|
|
151
|
+
function decorator(
|
|
152
|
+
target: any,
|
|
153
|
+
propertyKey?: string | symbol,
|
|
154
|
+
descriptor?: PropertyDescriptor,
|
|
155
|
+
): any {
|
|
156
|
+
const isMethodDecorator =
|
|
157
|
+
propertyKey !== undefined && descriptor !== undefined
|
|
158
|
+
|
|
159
|
+
if (isMethodDecorator) {
|
|
160
|
+
// Method decorator - apply to endpoint
|
|
161
|
+
const context = createMethodContext(target, propertyKey, descriptor)
|
|
162
|
+
const metadata = getEndpointMetadata(descriptor.value, context)
|
|
163
|
+
|
|
164
|
+
if (schema) {
|
|
165
|
+
const validatedValue = schema.safeParse(value)
|
|
166
|
+
if (!validatedValue.success) {
|
|
167
|
+
throw new Error(
|
|
168
|
+
`[Navios] Invalid value for attribute ${token.toString()}: ${validatedValue.error}`,
|
|
169
|
+
)
|
|
170
|
+
}
|
|
171
|
+
metadata.customAttributes.set(token, validatedValue.data)
|
|
172
|
+
} else {
|
|
173
|
+
metadata.customAttributes.set(token, true)
|
|
174
|
+
}
|
|
175
|
+
return descriptor
|
|
176
|
+
} else {
|
|
177
|
+
// Class decorator
|
|
178
|
+
const isController = hasControllerMetadata(target as ClassType)
|
|
179
|
+
const isModule = hasModuleMetadata(target as ClassType)
|
|
180
|
+
const isManaged = hasManagedMetadata(target as ClassType)
|
|
181
|
+
|
|
182
|
+
if (!isController && !isModule && !isManaged) {
|
|
183
|
+
throw new Error(
|
|
184
|
+
'[Navios] Attribute can only be applied to classes with @Controller, @Module, or other Navios-managed decorators',
|
|
185
|
+
)
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
const context = createClassContext(target)
|
|
189
|
+
const metadata = isController
|
|
190
|
+
? getControllerMetadata(target, context)
|
|
191
|
+
: isModule
|
|
192
|
+
? getModuleMetadata(target, context)
|
|
193
|
+
: isManaged
|
|
194
|
+
? getManagedMetadata(target)!
|
|
195
|
+
: null
|
|
196
|
+
|
|
197
|
+
if (!metadata) {
|
|
198
|
+
throw new Error(
|
|
199
|
+
'[Navios] Could not determine metadata for attribute target',
|
|
200
|
+
)
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
if (schema) {
|
|
204
|
+
const validatedValue = schema.safeParse(value)
|
|
205
|
+
if (!validatedValue.success) {
|
|
206
|
+
throw new Error(
|
|
207
|
+
`[Navios] Invalid value for attribute ${token.toString()}: ${validatedValue.error}`,
|
|
208
|
+
)
|
|
209
|
+
}
|
|
210
|
+
metadata.customAttributes.set(token, validatedValue.data)
|
|
211
|
+
} else {
|
|
212
|
+
metadata.customAttributes.set(token, true)
|
|
213
|
+
}
|
|
214
|
+
return target
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
return decorator
|
|
218
|
+
}
|
|
219
|
+
res.token = token
|
|
220
|
+
if (schema) {
|
|
221
|
+
res.schema = schema
|
|
222
|
+
}
|
|
223
|
+
return res
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* Gets the value of an attribute from metadata.
|
|
228
|
+
*
|
|
229
|
+
* Returns `null` if the attribute is not present.
|
|
230
|
+
* For simple attributes (without values), returns `true` if present.
|
|
231
|
+
*
|
|
232
|
+
* @param attribute - The attribute decorator
|
|
233
|
+
* @param target - The metadata object (module, controller, or handler)
|
|
234
|
+
* @returns The attribute value, `true` for simple attributes, or `null` if not found
|
|
235
|
+
*
|
|
236
|
+
* @example
|
|
237
|
+
* ```typescript
|
|
238
|
+
* const isPublic = LegacyAttributeFactory.get(Public, controllerMetadata)
|
|
239
|
+
* // isPublic is true | null
|
|
240
|
+
*
|
|
241
|
+
* const rateLimit = LegacyAttributeFactory.get(RateLimit, endpointMetadata)
|
|
242
|
+
* // rateLimit is { requests: number, window: number } | null
|
|
243
|
+
* ```
|
|
244
|
+
*/
|
|
245
|
+
static get(
|
|
246
|
+
attribute: LegacyClassAttribute,
|
|
247
|
+
target: ModuleMetadata | ControllerMetadata | HandlerMetadata<any>,
|
|
248
|
+
): true | null
|
|
249
|
+
static get<T extends ZodType>(
|
|
250
|
+
attribute: LegacyClassSchemaAttribute<T>,
|
|
251
|
+
target: ModuleMetadata | ControllerMetadata | HandlerMetadata<any>,
|
|
252
|
+
): z.output<T> | null
|
|
253
|
+
static get(
|
|
254
|
+
attribute: LegacyClassAttribute | LegacyClassSchemaAttribute<any>,
|
|
255
|
+
target: ModuleMetadata | ControllerMetadata | HandlerMetadata<any>,
|
|
256
|
+
) {
|
|
257
|
+
return target.customAttributes.get(attribute.token) ?? null
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
/**
|
|
261
|
+
* Gets all values of an attribute from metadata (useful when an attribute can appear multiple times).
|
|
262
|
+
*
|
|
263
|
+
* Returns `null` if the attribute is not present.
|
|
264
|
+
*
|
|
265
|
+
* @param attribute - The attribute decorator
|
|
266
|
+
* @param target - The metadata object (module, controller, or handler)
|
|
267
|
+
* @returns An array of attribute values, or `null` if not found
|
|
268
|
+
*
|
|
269
|
+
* @example
|
|
270
|
+
* ```typescript
|
|
271
|
+
* const tags = LegacyAttributeFactory.getAll(Tag, endpointMetadata)
|
|
272
|
+
* // tags is string[] | null
|
|
273
|
+
* ```
|
|
274
|
+
*/
|
|
275
|
+
static getAll(
|
|
276
|
+
attribute: LegacyClassAttribute,
|
|
277
|
+
target: ModuleMetadata | ControllerMetadata | HandlerMetadata<any>,
|
|
278
|
+
): Array<true> | null
|
|
279
|
+
static getAll<T extends ZodType>(
|
|
280
|
+
attribute: LegacyClassSchemaAttribute<T>,
|
|
281
|
+
target: ModuleMetadata | ControllerMetadata | HandlerMetadata<any>,
|
|
282
|
+
): Array<z.output<T>> | null
|
|
283
|
+
static getAll(
|
|
284
|
+
attribute: LegacyClassAttribute | LegacyClassSchemaAttribute<any>,
|
|
285
|
+
target: ModuleMetadata | ControllerMetadata | HandlerMetadata<any>,
|
|
286
|
+
) {
|
|
287
|
+
const values = Array.from(target.customAttributes.entries())
|
|
288
|
+
.filter(([key]) => key === attribute.token)
|
|
289
|
+
.map(([, value]) => value)
|
|
290
|
+
return values.length > 0 ? values : null
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
/**
|
|
294
|
+
* Gets the last value of an attribute from an array of metadata objects.
|
|
295
|
+
*
|
|
296
|
+
* Searches from the end of the array backwards, useful for finding the most
|
|
297
|
+
* specific attribute value (e.g., endpoint-level overrides module-level).
|
|
298
|
+
*
|
|
299
|
+
* @param attribute - The attribute decorator
|
|
300
|
+
* @param target - An array of metadata objects (typically [module, controller, handler])
|
|
301
|
+
* @returns The last attribute value found, or `null` if not found
|
|
302
|
+
*
|
|
303
|
+
* @example
|
|
304
|
+
* ```typescript
|
|
305
|
+
* // Check attribute hierarchy: endpoint -> controller -> module
|
|
306
|
+
* const rateLimit = LegacyAttributeFactory.getLast(RateLimit, [
|
|
307
|
+
* moduleMetadata,
|
|
308
|
+
* controllerMetadata,
|
|
309
|
+
* endpointMetadata
|
|
310
|
+
* ])
|
|
311
|
+
* ```
|
|
312
|
+
*/
|
|
313
|
+
static getLast(
|
|
314
|
+
attribute: LegacyClassAttribute,
|
|
315
|
+
target: (ModuleMetadata | ControllerMetadata | HandlerMetadata<any>)[],
|
|
316
|
+
): true | null
|
|
317
|
+
static getLast<T extends ZodType>(
|
|
318
|
+
attribute: LegacyClassSchemaAttribute<T>,
|
|
319
|
+
target: (ModuleMetadata | ControllerMetadata | HandlerMetadata<any>)[],
|
|
320
|
+
): z.output<T> | null
|
|
321
|
+
static getLast(
|
|
322
|
+
attribute: LegacyClassAttribute | LegacyClassSchemaAttribute<any>,
|
|
323
|
+
target: (ModuleMetadata | ControllerMetadata | HandlerMetadata<any>)[],
|
|
324
|
+
) {
|
|
325
|
+
for (let i = target.length - 1; i >= 0; i--) {
|
|
326
|
+
const value = target[i].customAttributes.get(attribute.token)
|
|
327
|
+
if (value) {
|
|
328
|
+
return value
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
return null
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
/**
|
|
335
|
+
* Checks if an attribute is present on the metadata object.
|
|
336
|
+
*
|
|
337
|
+
* @param attribute - The attribute decorator
|
|
338
|
+
* @param target - The metadata object (module, controller, or handler)
|
|
339
|
+
* @returns `true` if the attribute is present, `false` otherwise
|
|
340
|
+
*
|
|
341
|
+
* @example
|
|
342
|
+
* ```typescript
|
|
343
|
+
* if (LegacyAttributeFactory.has(Public, controllerMetadata)) {
|
|
344
|
+
* // Skip authentication
|
|
345
|
+
* }
|
|
346
|
+
* ```
|
|
347
|
+
*/
|
|
348
|
+
static has(
|
|
349
|
+
attribute: LegacyClassAttribute,
|
|
350
|
+
target: ModuleMetadata | ControllerMetadata | HandlerMetadata<any>,
|
|
351
|
+
): boolean
|
|
352
|
+
static has<T extends ZodType>(
|
|
353
|
+
attribute: LegacyClassSchemaAttribute<T>,
|
|
354
|
+
target: ModuleMetadata | ControllerMetadata | HandlerMetadata<any>,
|
|
355
|
+
): boolean
|
|
356
|
+
static has(
|
|
357
|
+
attribute: LegacyClassAttribute | LegacyClassSchemaAttribute<any>,
|
|
358
|
+
target: ModuleMetadata | ControllerMetadata | HandlerMetadata<any>,
|
|
359
|
+
) {
|
|
360
|
+
return target.customAttributes.has(attribute.token)
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
// Re-export as AttributeFactory for convenience
|
|
365
|
+
export { LegacyAttributeFactory as AttributeFactory }
|
|
@@ -30,6 +30,7 @@ function getConstructor(prototype: any): ClassType | null {
|
|
|
30
30
|
|
|
31
31
|
/**
|
|
32
32
|
* Creates a mock ClassDecoratorContext for legacy class decorators.
|
|
33
|
+
* @internal
|
|
33
34
|
*/
|
|
34
35
|
export function createClassContext(target: ClassType): ClassDecoratorContext {
|
|
35
36
|
// Get or create metadata storage for this class
|
|
@@ -53,6 +54,7 @@ export function createClassContext(target: ClassType): ClassDecoratorContext {
|
|
|
53
54
|
*
|
|
54
55
|
* Note: Method decorators need to share metadata with the class context
|
|
55
56
|
* because endpoint metadata is stored at the class level.
|
|
57
|
+
* @internal
|
|
56
58
|
*/
|
|
57
59
|
export function createMethodContext(
|
|
58
60
|
target: any,
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { ClassType, FactoryOptions } from '@navios/di'
|
|
2
|
+
|
|
3
|
+
import { Factory as OriginalFactory } from '@navios/di'
|
|
4
|
+
|
|
5
|
+
import { createClassContext } from '../context-compat.mjs'
|
|
6
|
+
|
|
7
|
+
export type { FactoryOptions }
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Legacy-compatible Factory decorator.
|
|
11
|
+
*
|
|
12
|
+
* Works with TypeScript experimental decorators (legacy API).
|
|
13
|
+
*
|
|
14
|
+
* @param options - Factory configuration options
|
|
15
|
+
* @returns A class decorator compatible with legacy decorator API
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* @Factory()
|
|
20
|
+
* export class DatabaseConnectionFactory {
|
|
21
|
+
* create() {
|
|
22
|
+
* return { host: 'localhost', port: 5432 }
|
|
23
|
+
* }
|
|
24
|
+
* }
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export function Factory(options: FactoryOptions = {}) {
|
|
28
|
+
return function (target: ClassType) {
|
|
29
|
+
const context = createClassContext(target)
|
|
30
|
+
// Use the no-args overload when options is empty, otherwise pass options
|
|
31
|
+
const originalDecorator =
|
|
32
|
+
Object.keys(options).length === 0
|
|
33
|
+
? OriginalFactory()
|
|
34
|
+
: OriginalFactory(options)
|
|
35
|
+
return originalDecorator(target, context)
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { ClassType } from '@navios/di'
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
Injectable as OriginalInjectable,
|
|
5
|
+
type InjectableOptions,
|
|
6
|
+
} from '@navios/di'
|
|
7
|
+
|
|
8
|
+
import { createClassContext } from '../context-compat.mjs'
|
|
9
|
+
|
|
10
|
+
export type { InjectableOptions }
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Legacy-compatible Injectable decorator.
|
|
14
|
+
*
|
|
15
|
+
* Works with TypeScript experimental decorators (legacy API).
|
|
16
|
+
*
|
|
17
|
+
* @param options - Injectable configuration options
|
|
18
|
+
* @returns A class decorator compatible with legacy decorator API
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* @Injectable()
|
|
23
|
+
* export class UserService {
|
|
24
|
+
* getUser(id: string) {
|
|
25
|
+
* return { id, name: 'John' }
|
|
26
|
+
* }
|
|
27
|
+
* }
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export function Injectable(options: InjectableOptions = {}) {
|
|
31
|
+
return function (target: ClassType) {
|
|
32
|
+
const context = createClassContext(target)
|
|
33
|
+
// Use the no-args overload when options is empty, otherwise pass options
|
|
34
|
+
const originalDecorator =
|
|
35
|
+
Object.keys(options).length === 0
|
|
36
|
+
? OriginalInjectable()
|
|
37
|
+
: // @ts-expect-error - InjectableOptions is a union type, we let runtime handle it
|
|
38
|
+
OriginalInjectable(options)
|
|
39
|
+
return originalDecorator(target, context)
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -8,27 +8,34 @@ import type { ZodObject, ZodType } from 'zod/v4'
|
|
|
8
8
|
import { Stream as OriginalStream } from '../../decorators/stream.decorator.mjs'
|
|
9
9
|
import { createMethodContext } from '../context-compat.mjs'
|
|
10
10
|
|
|
11
|
+
type StreamParams<
|
|
12
|
+
Url extends string,
|
|
13
|
+
QuerySchema,
|
|
14
|
+
RequestSchema,
|
|
15
|
+
> = QuerySchema extends ZodObject
|
|
16
|
+
? RequestSchema extends ZodType
|
|
17
|
+
? EndpointFunctionArgs<Url, QuerySchema, RequestSchema, true>
|
|
18
|
+
: EndpointFunctionArgs<Url, QuerySchema, undefined, true>
|
|
19
|
+
: RequestSchema extends ZodType
|
|
20
|
+
? EndpointFunctionArgs<Url, undefined, RequestSchema, true>
|
|
21
|
+
: EndpointFunctionArgs<Url, undefined, undefined, true>
|
|
22
|
+
|
|
11
23
|
/**
|
|
12
24
|
* Type helper to constrain a PropertyDescriptor's value to match a stream endpoint signature.
|
|
13
|
-
*
|
|
14
|
-
* but may not be preserved perfectly when decorators are stacked.
|
|
25
|
+
* Supports both with and without reply parameter (Bun doesn't use reply parameter).
|
|
15
26
|
*/
|
|
16
27
|
type StreamMethodDescriptor<
|
|
17
28
|
Url extends string,
|
|
18
29
|
QuerySchema,
|
|
19
30
|
RequestSchema,
|
|
20
|
-
> =
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
: EndpointFunctionArgs<Url, undefined, undefined, true>,
|
|
29
|
-
reply: any,
|
|
30
|
-
) => Promise<void>
|
|
31
|
-
>
|
|
31
|
+
> =
|
|
32
|
+
| TypedPropertyDescriptor<
|
|
33
|
+
(params: StreamParams<Url, QuerySchema, RequestSchema>, reply: any) => any
|
|
34
|
+
>
|
|
35
|
+
| TypedPropertyDescriptor<
|
|
36
|
+
(params: StreamParams<Url, QuerySchema, RequestSchema>) => any
|
|
37
|
+
>
|
|
38
|
+
| TypedPropertyDescriptor<() => any>
|
|
32
39
|
|
|
33
40
|
/**
|
|
34
41
|
* Legacy-compatible Stream decorator.
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Legacy-compatible decorators for projects that cannot use Stage 3 decorators.
|
|
3
|
-
*
|
|
3
|
+
*
|
|
4
4
|
* These decorators use the TypeScript experimental decorator API and convert
|
|
5
5
|
* the arguments to Stage 3 format internally.
|
|
6
|
-
*
|
|
6
|
+
*
|
|
7
7
|
* @example
|
|
8
8
|
* ```typescript
|
|
9
9
|
* import { Module, Controller, Endpoint } from '@navios/core/legacy-compat'
|
|
10
|
-
*
|
|
10
|
+
*
|
|
11
11
|
* @Module({
|
|
12
12
|
* controllers: [UserController],
|
|
13
13
|
* })
|
|
@@ -36,5 +36,17 @@ export {
|
|
|
36
36
|
HttpCode,
|
|
37
37
|
Multipart,
|
|
38
38
|
Stream,
|
|
39
|
+
Injectable,
|
|
40
|
+
Factory,
|
|
39
41
|
} from './decorators/index.mjs'
|
|
40
42
|
|
|
43
|
+
// Export legacy-compatible AttributeFactory
|
|
44
|
+
export {
|
|
45
|
+
AttributeFactory,
|
|
46
|
+
LegacyAttributeFactory,
|
|
47
|
+
type LegacyClassAttribute,
|
|
48
|
+
type LegacyClassSchemaAttribute,
|
|
49
|
+
} from './attribute.factory.mjs'
|
|
50
|
+
|
|
51
|
+
// Export context compatibility utilities
|
|
52
|
+
export * from './context-compat.mjs'
|
package/src/metadata/index.mts
CHANGED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { ClassType } from '@navios/di'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Symbol used to identify Navios-managed classes (Controller, Module, MessageController, etc.).
|
|
5
|
+
* This allows AttributeFactory to work with any Navios-managed class type generically.
|
|
6
|
+
*/
|
|
7
|
+
export const NaviosManagedMetadataKey = Symbol('NaviosManagedMetadataKey')
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Interface for metadata that has custom attributes.
|
|
11
|
+
* Used by Navios-managed classes (Controller, Module, MessageController, etc.).
|
|
12
|
+
*/
|
|
13
|
+
export interface ManagedMetadata {
|
|
14
|
+
customAttributes: Map<string | symbol, any>
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Gets managed metadata from a class if it exists.
|
|
19
|
+
* This is a generic function that works with any Navios-managed class type.
|
|
20
|
+
*
|
|
21
|
+
* @param target - The class to check
|
|
22
|
+
* @returns The metadata with customAttributes, or null if not managed
|
|
23
|
+
*/
|
|
24
|
+
export function getManagedMetadata(target: ClassType): ManagedMetadata | null {
|
|
25
|
+
// @ts-expect-error - Checking for managed metadata key
|
|
26
|
+
if (target[NaviosManagedMetadataKey]) {
|
|
27
|
+
// @ts-expect-error - Accessing managed metadata
|
|
28
|
+
return target[NaviosManagedMetadataKey] as ManagedMetadata
|
|
29
|
+
}
|
|
30
|
+
return null
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Checks if a class is Navios-managed (has managed metadata).
|
|
35
|
+
*
|
|
36
|
+
* @param target - The class to check
|
|
37
|
+
* @returns true if the class is Navios-managed
|
|
38
|
+
*/
|
|
39
|
+
export function hasManagedMetadata(target: ClassType): boolean {
|
|
40
|
+
return getManagedMetadata(target) !== null
|
|
41
|
+
}
|
|
42
|
+
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-D9MNh6Tx.d.mts","names":[],"sources":["../src/config/utils/helpers.mts","../src/config/types.mts","../src/config/config-service.interface.mts","../src/config/config.service.mts","../src/config/config.provider.mts","../src/decorators/controller.decorator.mts","../src/decorators/endpoint.decorator.mts","../src/metadata/handler.metadata.mts","../src/metadata/controller.metadata.mts","../src/metadata/module.metadata.mts","../src/interfaces/abstract-execution-context.inteface.mts","../src/logger/utils/cli-colors.util.mts","../src/logger/log-levels.mts","../src/logger/utils/filter-log-levelts.util.mts","../src/logger/utils/is-log-level.util.mts","../src/logger/utils/is-log-level-enabled.mts","../src/logger/utils/shared.utils.mts","../src/logger/logger-service.interface.mts","../src/logger/console-logger.service.mts","../src/logger/logger.service.mts","../src/logger/logger.tokens.mts","../src/interfaces/abstract-http-cors-options.interface.mts","../src/interfaces/abstract-http-listen-options.interface.mts","../src/interfaces/abstract-http-adapter.interface.mts","../src/interfaces/abstract-http-handler-adapter.interface.mts","../src/interfaces/can-activate.mts","../src/interfaces/http-header.mts","../src/interfaces/navios-module.mts","../src/services/module-loader.service.mts","../src/interfaces/plugin.interface.mts","../src/decorators/header.decorator.mts","../src/decorators/http-code.decorator.mts","../src/decorators/module.decorator.mts","../src/decorators/multipart.decorator.mts","../src/decorators/stream.decorator.mts","../src/decorators/use-guards.decorator.mts","../src/exceptions/http.exception.mts","../src/exceptions/bad-request.exception.mts","../src/exceptions/forbidden.exception.mts","../src/exceptions/internal-server-error.exception.mts","../src/exceptions/not-found.exception.mts","../src/exceptions/unauthorized.exception.mts","../src/exceptions/conflict.exception.mts","../src/services/instance-resolver.service.mts","../src/services/guard-runner.service.mts","../src/stores/request-id.store.mts","../src/tokens/endpoint-adapter.token.mts","../src/tokens/execution-context.token.mts","../src/tokens/http-adapter.token.mts","../src/tokens/multipart-adapter.token.mts","../src/navios.environment.mts","../src/navios.application.mts","../src/tokens/navios-options.token.mts","../src/tokens/reply.token.mts","../src/tokens/request.token.mts","../src/tokens/stream-adapter.token.mts","../src/tokens/xml-stream-adapter.token.mts","../src/attribute.factory.mts","../src/factories/endpoint-adapter.factory.mts","../src/factories/http-adapter.factory.mts","../src/factories/multipart-adapter.factory.mts","../src/factories/request.factory.mts","../src/factories/reply.factory.mts","../src/factories/stream-adapter.factory.mts","../src/factories/xml-stream-adapter.factory.mts","../src/navios.factory.mts"],"sourcesContent":[],"mappings":"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A,QAAA,CAAA,CAAA,eAAA,CAAA,EAAA,IAAA,CAAA,CAAA,GkC6Bd,elC7Bc,CkC6BE,oBlC7BF,CkC6BuB,GlC7BvB,EAAA,SAAA,EAAA,SAAA,EAAA,IAAA,CAAA,CAAA;;;;;;;;ACVR;AAKM;AAQlB;;;;;;;;;;;;;;;;;AAWmB,iBiC2CH,MjC3CG,CAAA,eiC4CF,UjC5CE,GiC4CW,UjC5CX,EAAA,YAAA,MAAA,GAAA,MAAA,EAAA,cAAA,SAAA,EAAA,gBiC+CD,OjC/CC,EAAA,UiCgDR,WjChDQ,SiCgDY,SjChDZ,GiCiDb,ajCjDa,SiCiDS,OjCjDT,GiCkDX,oBjClDW,CiCkDU,GjClDV,EiCkDe,WjClDf,EiCkD4B,ajClD5B,EAAA,IAAA,CAAA,GiCmDX,oBjCnDW,CiCmDU,GjCnDV,EiCmDe,WjCnDf,EAAA,SAAA,EAAA,IAAA,CAAA,GiCoDb,ajCpDa,SiCoDS,OjCpDT,GiCqDX,oBjCrDW,CiCqDU,GjCrDV,EAAA,SAAA,EiCqD0B,ajCrD1B,EAAA,IAAA,CAAA,GiCsDX,oBjCtDW,CiCsDU,GjCtDV,EAAA,SAAA,EAAA,SAAA,EAAA,IAAA,CAAA,EAAA,CAAA,QAAA,EAAA;EAAqB,MAAA,EiCwD9B,gBjCxD8B,CiCwDb,MjCxDa,EiCwDL,GjCxDK,EiCwDA,WjCxDA,EiCwDa,ajCxDb,CAAA;CAAE,CAAA,EAAA,CAAA,MAAA,EAAA,CAAA,MAAA,EiC0DvB,MjC1DuB,EAAA,KAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,OAAA,EiC2D/B,2BjC3D+B,EAAA,GAAA,IAAA;AAAhB,iBiC8DV,MjC9DU,CAAA,eiC+DT,UjC/DS,GiC+DI,UjC/DJ,EAAA,YAAA,MAAA,GAAA,MAAA,EAAA,cAAA,SAAA,EAAA,gBiCkER,OjClEQ,EAAA,UiCmEf,WjCnEe,SiCmEK,SjCnEL,GiCoEpB,ajCpEoB,SiCoEE,OjCpEF,GiCqElB,oBjCrEkB,CiCqEG,GjCrEH,EiCqEQ,WjCrER,EiCqEqB,ajCrErB,EAAA,IAAA,CAAA,GiCsElB,oBjCtEkB,CiCsEG,GjCtEH,EiCsEQ,WjCtER,EAAA,SAAA,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"}
|