@digitaldefiance/node-express-suite 3.11.31 → 3.12.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/README.md +858 -0
- package/package.json +1 -1
- package/src/controllers/openapi.d.ts +67 -0
- package/src/controllers/openapi.d.ts.map +1 -0
- package/src/controllers/openapi.js +89 -0
- package/src/controllers/openapi.js.map +1 -0
- package/src/decorators/auth.d.ts +128 -0
- package/src/decorators/auth.d.ts.map +1 -0
- package/src/decorators/auth.js +230 -0
- package/src/decorators/auth.js.map +1 -0
- package/src/decorators/base-controller.d.ts +144 -6
- package/src/decorators/base-controller.d.ts.map +1 -1
- package/src/decorators/base-controller.js +487 -31
- package/src/decorators/base-controller.js.map +1 -1
- package/src/decorators/controller.d.ts +63 -7
- package/src/decorators/controller.d.ts.map +1 -1
- package/src/decorators/controller.js +70 -39
- package/src/decorators/controller.js.map +1 -1
- package/src/decorators/handler-args.d.ts +68 -0
- package/src/decorators/handler-args.d.ts.map +1 -0
- package/src/decorators/handler-args.js +83 -0
- package/src/decorators/handler-args.js.map +1 -0
- package/src/decorators/http-methods.d.ts +143 -0
- package/src/decorators/http-methods.d.ts.map +1 -0
- package/src/decorators/http-methods.js +265 -0
- package/src/decorators/http-methods.js.map +1 -0
- package/src/decorators/index.d.ts +22 -0
- package/src/decorators/index.d.ts.map +1 -1
- package/src/decorators/index.js +56 -0
- package/src/decorators/index.js.map +1 -1
- package/src/decorators/lifecycle.d.ts +248 -0
- package/src/decorators/lifecycle.d.ts.map +1 -0
- package/src/decorators/lifecycle.js +301 -0
- package/src/decorators/lifecycle.js.map +1 -0
- package/src/decorators/metadata-collector.d.ts +175 -0
- package/src/decorators/metadata-collector.d.ts.map +1 -0
- package/src/decorators/metadata-collector.js +272 -0
- package/src/decorators/metadata-collector.js.map +1 -0
- package/src/decorators/metadata-keys.d.ts +121 -0
- package/src/decorators/metadata-keys.d.ts.map +1 -0
- package/src/decorators/metadata-keys.js +116 -0
- package/src/decorators/metadata-keys.js.map +1 -0
- package/src/decorators/middleware.d.ts +181 -0
- package/src/decorators/middleware.d.ts.map +1 -0
- package/src/decorators/middleware.js +400 -0
- package/src/decorators/middleware.js.map +1 -0
- package/src/decorators/openapi-params.d.ts +192 -0
- package/src/decorators/openapi-params.d.ts.map +1 -0
- package/src/decorators/openapi-params.js +332 -0
- package/src/decorators/openapi-params.js.map +1 -0
- package/src/decorators/openapi.d.ts +201 -0
- package/src/decorators/openapi.d.ts.map +1 -0
- package/src/decorators/openapi.js +334 -0
- package/src/decorators/openapi.js.map +1 -0
- package/src/decorators/params.d.ts +217 -0
- package/src/decorators/params.d.ts.map +1 -0
- package/src/decorators/params.js +323 -0
- package/src/decorators/params.js.map +1 -0
- package/src/decorators/response.d.ts +200 -0
- package/src/decorators/response.d.ts.map +1 -0
- package/src/decorators/response.js +315 -0
- package/src/decorators/response.js.map +1 -0
- package/src/decorators/schema.d.ts +99 -0
- package/src/decorators/schema.d.ts.map +1 -0
- package/src/decorators/schema.js +329 -0
- package/src/decorators/schema.js.map +1 -0
- package/src/decorators/transaction.d.ts +69 -0
- package/src/decorators/transaction.d.ts.map +1 -0
- package/src/decorators/transaction.js +80 -0
- package/src/decorators/transaction.js.map +1 -0
- package/src/decorators/validation.d.ts +188 -0
- package/src/decorators/validation.d.ts.map +1 -0
- package/src/decorators/validation.js +269 -0
- package/src/decorators/validation.js.map +1 -0
- package/src/decorators/zod-validation.d.ts +164 -4
- package/src/decorators/zod-validation.d.ts.map +1 -1
- package/src/decorators/zod-validation.js +692 -13
- package/src/decorators/zod-validation.js.map +1 -1
- package/src/index.d.ts +2 -1
- package/src/index.d.ts.map +1 -1
- package/src/index.js +1 -0
- package/src/index.js.map +1 -1
- package/src/interfaces/api-message-response.d.ts +1 -1
- package/src/interfaces/api-message-response.d.ts.map +1 -1
- package/src/interfaces/index.d.ts +1 -0
- package/src/interfaces/index.d.ts.map +1 -1
- package/src/interfaces/index.js +1 -0
- package/src/interfaces/index.js.map +1 -1
- package/src/interfaces/openApi/decoratorOptions.d.ts +760 -0
- package/src/interfaces/openApi/decoratorOptions.d.ts.map +1 -0
- package/src/interfaces/openApi/decoratorOptions.js +734 -0
- package/src/interfaces/openApi/decoratorOptions.js.map +1 -0
- package/src/interfaces/openApi/index.d.ts +8 -0
- package/src/interfaces/openApi/index.d.ts.map +1 -0
- package/src/interfaces/openApi/index.js +32 -0
- package/src/interfaces/openApi/index.js.map +1 -0
- package/src/interfaces/openApi/parameter.d.ts +41 -0
- package/src/interfaces/openApi/parameter.d.ts.map +1 -0
- package/src/interfaces/openApi/parameter.js +60 -0
- package/src/interfaces/openApi/parameter.js.map +1 -0
- package/src/interfaces/openApi/parameterSchema.d.ts +39 -0
- package/src/interfaces/openApi/parameterSchema.d.ts.map +1 -0
- package/src/interfaces/openApi/parameterSchema.js +51 -0
- package/src/interfaces/openApi/parameterSchema.js.map +1 -0
- package/src/interfaces/openApi/requestBody.d.ts +25 -0
- package/src/interfaces/openApi/requestBody.d.ts.map +1 -0
- package/src/interfaces/openApi/requestBody.js +31 -0
- package/src/interfaces/openApi/requestBody.js.map +1 -0
- package/src/interfaces/openApi/responseDef.d.ts +23 -0
- package/src/interfaces/openApi/responseDef.d.ts.map +1 -0
- package/src/interfaces/openApi/responseDef.js +29 -0
- package/src/interfaces/openApi/responseDef.js.map +1 -0
- package/src/interfaces/openApi/routeMetadata.d.ts +43 -0
- package/src/interfaces/openApi/routeMetadata.d.ts.map +1 -0
- package/src/interfaces/openApi/routeMetadata.js +85 -0
- package/src/interfaces/openApi/routeMetadata.js.map +1 -0
- package/src/openapi/builder.d.ts +249 -0
- package/src/openapi/builder.d.ts.map +1 -0
- package/src/openapi/builder.js +352 -0
- package/src/openapi/builder.js.map +1 -0
- package/src/openapi/controller.d.ts +153 -0
- package/src/openapi/controller.d.ts.map +1 -0
- package/src/openapi/controller.js +331 -0
- package/src/openapi/controller.js.map +1 -0
- package/src/openapi/index.d.ts +12 -0
- package/src/openapi/index.d.ts.map +1 -0
- package/src/openapi/index.js +20 -0
- package/src/openapi/index.js.map +1 -0
- package/src/openapi/markdown-generator.d.ts +52 -0
- package/src/openapi/markdown-generator.d.ts.map +1 -0
- package/src/openapi/markdown-generator.js +569 -0
- package/src/openapi/markdown-generator.js.map +1 -0
- package/src/openapi/middleware/index.d.ts +9 -0
- package/src/openapi/middleware/index.d.ts.map +1 -0
- package/src/openapi/middleware/index.js +15 -0
- package/src/openapi/middleware/index.js.map +1 -0
- package/src/openapi/middleware/redoc.d.ts +314 -0
- package/src/openapi/middleware/redoc.d.ts.map +1 -0
- package/src/openapi/middleware/redoc.js +181 -0
- package/src/openapi/middleware/redoc.js.map +1 -0
- package/src/openapi/middleware/swagger-ui.d.ts +123 -0
- package/src/openapi/middleware/swagger-ui.d.ts.map +1 -0
- package/src/openapi/middleware/swagger-ui.js +227 -0
- package/src/openapi/middleware/swagger-ui.js.map +1 -0
- package/src/openapi/schemas.d.ts +170 -0
- package/src/openapi/schemas.d.ts.map +1 -0
- package/src/openapi/schemas.js +340 -0
- package/src/openapi/schemas.js.map +1 -0
- package/src/registry/controller-registry.d.ts +78 -0
- package/src/registry/controller-registry.d.ts.map +1 -0
- package/src/registry/controller-registry.js +86 -0
- package/src/registry/controller-registry.js.map +1 -0
- package/src/registry/index.d.ts +2 -0
- package/src/registry/index.d.ts.map +1 -1
- package/src/registry/index.js +3 -1
- package/src/registry/index.js.map +1 -1
- package/src/routers/api.d.ts +2 -1
- package/src/routers/api.d.ts.map +1 -1
- package/src/routers/api.js +7 -1
- package/src/routers/api.js.map +1 -1
- package/src/routing/route-builder.d.ts +4 -4
- package/src/routing/route-builder.d.ts.map +1 -1
- package/src/routing/route-builder.js +1 -1
- package/src/types.d.ts +3 -1
- package/src/types.d.ts.map +1 -1
- package/src/types.js +1 -0
- package/src/types.js.map +1 -1
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Metadata collector utilities for decorator system.
|
|
4
|
+
* Provides helper functions for getting, setting, and merging decorator metadata.
|
|
5
|
+
* @module decorators/metadata-collector
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.SCHEMA_METADATA = void 0;
|
|
9
|
+
exports.getMetadata = getMetadata;
|
|
10
|
+
exports.setMetadata = setMetadata;
|
|
11
|
+
exports.getMetadataOrDefault = getMetadataOrDefault;
|
|
12
|
+
exports.appendToMetadataArray = appendToMetadataArray;
|
|
13
|
+
exports.mergeMetadata = mergeMetadata;
|
|
14
|
+
exports.deepMergeMetadata = deepMergeMetadata;
|
|
15
|
+
exports.hasMetadata = hasMetadata;
|
|
16
|
+
exports.deleteMetadata = deleteMetadata;
|
|
17
|
+
exports.getMetadataKeys = getMetadataKeys;
|
|
18
|
+
exports.collectAllMetadata = collectAllMetadata;
|
|
19
|
+
exports.collectMethodMetadata = collectMethodMetadata;
|
|
20
|
+
exports.createClassDecorator = createClassDecorator;
|
|
21
|
+
exports.createMethodDecorator = createMethodDecorator;
|
|
22
|
+
exports.createAppendingMethodDecorator = createAppendingMethodDecorator;
|
|
23
|
+
exports.createMergingMethodDecorator = createMergingMethodDecorator;
|
|
24
|
+
require("reflect-metadata");
|
|
25
|
+
const metadata_keys_1 = require("./metadata-keys");
|
|
26
|
+
Object.defineProperty(exports, "SCHEMA_METADATA", { enumerable: true, get: function () { return metadata_keys_1.SCHEMA_METADATA; } });
|
|
27
|
+
/**
|
|
28
|
+
* Gets metadata from a target (class or method).
|
|
29
|
+
* @param key - The metadata key symbol
|
|
30
|
+
* @param target - The target object (class constructor or prototype)
|
|
31
|
+
* @param propertyKey - Optional property key for method-level metadata
|
|
32
|
+
* @returns The metadata value or undefined
|
|
33
|
+
*/
|
|
34
|
+
function getMetadata(key, target, propertyKey) {
|
|
35
|
+
if (propertyKey !== undefined) {
|
|
36
|
+
return Reflect.getMetadata(key, target, propertyKey);
|
|
37
|
+
}
|
|
38
|
+
return Reflect.getMetadata(key, target);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Sets metadata on a target (class or method).
|
|
42
|
+
* @param key - The metadata key symbol
|
|
43
|
+
* @param value - The metadata value to set
|
|
44
|
+
* @param target - The target object (class constructor or prototype)
|
|
45
|
+
* @param propertyKey - Optional property key for method-level metadata
|
|
46
|
+
*/
|
|
47
|
+
function setMetadata(key, value, target, propertyKey) {
|
|
48
|
+
if (propertyKey !== undefined) {
|
|
49
|
+
Reflect.defineMetadata(key, value, target, propertyKey);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
Reflect.defineMetadata(key, value, target);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Gets metadata or returns a default value if not found.
|
|
57
|
+
* @param key - The metadata key symbol
|
|
58
|
+
* @param target - The target object
|
|
59
|
+
* @param propertyKey - Optional property key for method-level metadata
|
|
60
|
+
* @param defaultValue - Default value to return if metadata not found
|
|
61
|
+
* @returns The metadata value or the default value
|
|
62
|
+
*/
|
|
63
|
+
function getMetadataOrDefault(key, target, propertyKey, defaultValue) {
|
|
64
|
+
const value = getMetadata(key, target, propertyKey);
|
|
65
|
+
return value !== undefined ? value : defaultValue;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Appends a value to an array stored in metadata.
|
|
69
|
+
* Creates the array if it doesn't exist.
|
|
70
|
+
* @param key - The metadata key symbol
|
|
71
|
+
* @param value - The value to append
|
|
72
|
+
* @param target - The target object
|
|
73
|
+
* @param propertyKey - Optional property key for method-level metadata
|
|
74
|
+
*/
|
|
75
|
+
function appendToMetadataArray(key, value, target, propertyKey) {
|
|
76
|
+
const existing = getMetadataOrDefault(key, target, propertyKey, []);
|
|
77
|
+
existing.push(value);
|
|
78
|
+
setMetadata(key, existing, target, propertyKey);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Merges an object into existing metadata.
|
|
82
|
+
* Creates the object if it doesn't exist.
|
|
83
|
+
* @param key - The metadata key symbol
|
|
84
|
+
* @param value - The object to merge
|
|
85
|
+
* @param target - The target object
|
|
86
|
+
* @param propertyKey - Optional property key for method-level metadata
|
|
87
|
+
*/
|
|
88
|
+
function mergeMetadata(key, value, target, propertyKey) {
|
|
89
|
+
const existing = getMetadataOrDefault(key, target, propertyKey, {});
|
|
90
|
+
const merged = { ...existing, ...value };
|
|
91
|
+
setMetadata(key, merged, target, propertyKey);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Deep merges an object into existing metadata.
|
|
95
|
+
* Handles nested objects and arrays.
|
|
96
|
+
* @param key - The metadata key symbol
|
|
97
|
+
* @param value - The object to deep merge
|
|
98
|
+
* @param target - The target object
|
|
99
|
+
* @param propertyKey - Optional property key for method-level metadata
|
|
100
|
+
*/
|
|
101
|
+
function deepMergeMetadata(key, value, target, propertyKey) {
|
|
102
|
+
const existing = getMetadataOrDefault(key, target, propertyKey, {});
|
|
103
|
+
const merged = deepMerge(existing, value);
|
|
104
|
+
setMetadata(key, merged, target, propertyKey);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Deep merges two objects.
|
|
108
|
+
* Arrays are concatenated, objects are recursively merged.
|
|
109
|
+
* @param target - The target object
|
|
110
|
+
* @param source - The source object to merge from
|
|
111
|
+
* @returns The merged object
|
|
112
|
+
*/
|
|
113
|
+
function deepMerge(target, source) {
|
|
114
|
+
const result = { ...target };
|
|
115
|
+
for (const key in source) {
|
|
116
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
117
|
+
const sourceValue = source[key];
|
|
118
|
+
const targetValue = result[key];
|
|
119
|
+
if (Array.isArray(sourceValue) && Array.isArray(targetValue)) {
|
|
120
|
+
// Concatenate arrays
|
|
121
|
+
result[key] = [
|
|
122
|
+
...targetValue,
|
|
123
|
+
...sourceValue,
|
|
124
|
+
];
|
|
125
|
+
}
|
|
126
|
+
else if (isPlainObject(sourceValue) && isPlainObject(targetValue)) {
|
|
127
|
+
// Recursively merge objects
|
|
128
|
+
result[key] = deepMerge(targetValue, sourceValue);
|
|
129
|
+
}
|
|
130
|
+
else if (sourceValue !== undefined) {
|
|
131
|
+
// Override with source value
|
|
132
|
+
result[key] = sourceValue;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return result;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Checks if a value is a plain object (not an array, null, or other type).
|
|
140
|
+
* @param value - The value to check
|
|
141
|
+
* @returns True if the value is a plain object
|
|
142
|
+
*/
|
|
143
|
+
function isPlainObject(value) {
|
|
144
|
+
return (typeof value === 'object' &&
|
|
145
|
+
value !== null &&
|
|
146
|
+
!Array.isArray(value) &&
|
|
147
|
+
Object.getPrototypeOf(value) === Object.prototype);
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Checks if metadata exists on a target.
|
|
151
|
+
* @param key - The metadata key symbol
|
|
152
|
+
* @param target - The target object
|
|
153
|
+
* @param propertyKey - Optional property key for method-level metadata
|
|
154
|
+
* @returns True if metadata exists
|
|
155
|
+
*/
|
|
156
|
+
function hasMetadata(key, target, propertyKey) {
|
|
157
|
+
if (propertyKey !== undefined) {
|
|
158
|
+
return Reflect.hasMetadata(key, target, propertyKey);
|
|
159
|
+
}
|
|
160
|
+
return Reflect.hasMetadata(key, target);
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Deletes metadata from a target.
|
|
164
|
+
* @param key - The metadata key symbol
|
|
165
|
+
* @param target - The target object
|
|
166
|
+
* @param propertyKey - Optional property key for method-level metadata
|
|
167
|
+
* @returns True if metadata was deleted
|
|
168
|
+
*/
|
|
169
|
+
function deleteMetadata(key, target, propertyKey) {
|
|
170
|
+
if (propertyKey !== undefined) {
|
|
171
|
+
return Reflect.deleteMetadata(key, target, propertyKey);
|
|
172
|
+
}
|
|
173
|
+
return Reflect.deleteMetadata(key, target);
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Gets all metadata keys defined on a target.
|
|
177
|
+
* @param target - The target object
|
|
178
|
+
* @param propertyKey - Optional property key for method-level metadata
|
|
179
|
+
* @returns Array of metadata keys
|
|
180
|
+
*/
|
|
181
|
+
function getMetadataKeys(target, propertyKey) {
|
|
182
|
+
if (propertyKey !== undefined) {
|
|
183
|
+
return Reflect.getMetadataKeys(target, propertyKey);
|
|
184
|
+
}
|
|
185
|
+
return Reflect.getMetadataKeys(target);
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Collects all decorator metadata from a class and its methods.
|
|
189
|
+
* @param target - The class constructor
|
|
190
|
+
* @returns Object containing all collected metadata
|
|
191
|
+
*/
|
|
192
|
+
function collectAllMetadata(target) {
|
|
193
|
+
const controllerMetadata = getMetadata(metadata_keys_1.CONTROLLER_METADATA, target);
|
|
194
|
+
const routesMetadata = getMetadata(metadata_keys_1.ROUTES_METADATA, target);
|
|
195
|
+
const openApiControllerMetadata = getMetadata(metadata_keys_1.OPENAPI_CONTROLLER_METADATA, target);
|
|
196
|
+
return {
|
|
197
|
+
controller: controllerMetadata,
|
|
198
|
+
routes: routesMetadata ?? [],
|
|
199
|
+
openApiController: openApiControllerMetadata,
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Collects method-level metadata for a specific method.
|
|
204
|
+
* @param target - The class prototype
|
|
205
|
+
* @param propertyKey - The method name
|
|
206
|
+
* @returns Object containing all method metadata
|
|
207
|
+
*/
|
|
208
|
+
function collectMethodMetadata(target, propertyKey) {
|
|
209
|
+
return {
|
|
210
|
+
openApi: getMetadata(metadata_keys_1.OPENAPI_METADATA, target, propertyKey),
|
|
211
|
+
auth: getMetadata(metadata_keys_1.AUTH_METADATA, target, propertyKey),
|
|
212
|
+
validation: getMetadata(metadata_keys_1.VALIDATION_METADATA, target, propertyKey),
|
|
213
|
+
middleware: getMetadata(metadata_keys_1.MIDDLEWARE_METADATA, target, propertyKey),
|
|
214
|
+
params: getMetadata(metadata_keys_1.PARAMS_METADATA, target, propertyKey),
|
|
215
|
+
lifecycle: getMetadata(metadata_keys_1.LIFECYCLE_METADATA, target, propertyKey),
|
|
216
|
+
response: getMetadata(metadata_keys_1.RESPONSE_METADATA, target, propertyKey),
|
|
217
|
+
handlerArgs: getMetadata(metadata_keys_1.HANDLER_ARGS_METADATA, target, propertyKey),
|
|
218
|
+
transaction: getMetadata(metadata_keys_1.TRANSACTION_METADATA, target, propertyKey),
|
|
219
|
+
rateLimit: getMetadata(metadata_keys_1.RATE_LIMIT_METADATA, target, propertyKey),
|
|
220
|
+
cache: getMetadata(metadata_keys_1.CACHE_METADATA, target, propertyKey),
|
|
221
|
+
openApiParams: getMetadata(metadata_keys_1.OPENAPI_PARAMS_METADATA, target, propertyKey),
|
|
222
|
+
openApiRequestBody: getMetadata(metadata_keys_1.OPENAPI_REQUEST_BODY_METADATA, target, propertyKey),
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Creates a class decorator that sets metadata.
|
|
227
|
+
* @param key - The metadata key symbol
|
|
228
|
+
* @param value - The metadata value
|
|
229
|
+
* @returns A class decorator function
|
|
230
|
+
*/
|
|
231
|
+
function createClassDecorator(key, value) {
|
|
232
|
+
return (target) => {
|
|
233
|
+
setMetadata(key, value, target);
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Creates a method decorator that sets metadata.
|
|
238
|
+
* @param key - The metadata key symbol
|
|
239
|
+
* @param value - The metadata value
|
|
240
|
+
* @returns A method decorator function
|
|
241
|
+
*/
|
|
242
|
+
function createMethodDecorator(key, value) {
|
|
243
|
+
return (target, propertyKey, descriptor) => {
|
|
244
|
+
setMetadata(key, value, target.constructor, propertyKey);
|
|
245
|
+
return descriptor;
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Creates a method decorator that appends to an array in metadata.
|
|
250
|
+
* @param key - The metadata key symbol
|
|
251
|
+
* @param value - The value to append
|
|
252
|
+
* @returns A method decorator function
|
|
253
|
+
*/
|
|
254
|
+
function createAppendingMethodDecorator(key, value) {
|
|
255
|
+
return (target, propertyKey, descriptor) => {
|
|
256
|
+
appendToMetadataArray(key, value, target.constructor, propertyKey);
|
|
257
|
+
return descriptor;
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Creates a method decorator that merges into metadata.
|
|
262
|
+
* @param key - The metadata key symbol
|
|
263
|
+
* @param value - The value to merge
|
|
264
|
+
* @returns A method decorator function
|
|
265
|
+
*/
|
|
266
|
+
function createMergingMethodDecorator(key, value) {
|
|
267
|
+
return (target, propertyKey, descriptor) => {
|
|
268
|
+
mergeMetadata(key, value, target.constructor, propertyKey);
|
|
269
|
+
return descriptor;
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
//# sourceMappingURL=metadata-collector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-collector.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/decorators/metadata-collector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Metadata keys for decorator system.
|
|
3
|
+
* Provides unique Symbol constants for storing decorator metadata.
|
|
4
|
+
* @module decorators/metadata-keys
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Metadata key for controller-level configuration.
|
|
8
|
+
* Stores base path and controller options.
|
|
9
|
+
*/
|
|
10
|
+
export declare const CONTROLLER_METADATA: unique symbol;
|
|
11
|
+
/**
|
|
12
|
+
* Metadata key for route definitions array.
|
|
13
|
+
* Stores array of RouteMetadata objects for each decorated method.
|
|
14
|
+
*/
|
|
15
|
+
export declare const ROUTES_METADATA: unique symbol;
|
|
16
|
+
/**
|
|
17
|
+
* Metadata key for OpenAPI-specific metadata per method.
|
|
18
|
+
* Stores OpenAPIRouteMetadata for individual route operations.
|
|
19
|
+
*/
|
|
20
|
+
export declare const OPENAPI_METADATA: unique symbol;
|
|
21
|
+
/**
|
|
22
|
+
* Metadata key for controller-level OpenAPI metadata.
|
|
23
|
+
* Stores tags, description, and other controller-wide OpenAPI settings.
|
|
24
|
+
*/
|
|
25
|
+
export declare const OPENAPI_CONTROLLER_METADATA: unique symbol;
|
|
26
|
+
/**
|
|
27
|
+
* Metadata key for authentication settings per method.
|
|
28
|
+
* Stores auth requirements (JWT, crypto auth, public).
|
|
29
|
+
*/
|
|
30
|
+
export declare const AUTH_METADATA: unique symbol;
|
|
31
|
+
/**
|
|
32
|
+
* Metadata key for validation schemas per method.
|
|
33
|
+
* Stores Zod schemas or express-validator chains.
|
|
34
|
+
*/
|
|
35
|
+
export declare const VALIDATION_METADATA: unique symbol;
|
|
36
|
+
/**
|
|
37
|
+
* Metadata key for middleware array per method.
|
|
38
|
+
* Stores Express middleware functions to be applied to routes.
|
|
39
|
+
*/
|
|
40
|
+
export declare const MIDDLEWARE_METADATA: unique symbol;
|
|
41
|
+
/**
|
|
42
|
+
* Metadata key for parameter injection metadata per method.
|
|
43
|
+
* Stores parameter decorators info (@Param, @Body, @Query, etc.).
|
|
44
|
+
*/
|
|
45
|
+
export declare const PARAMS_METADATA: unique symbol;
|
|
46
|
+
/**
|
|
47
|
+
* Metadata key for lifecycle hooks per method.
|
|
48
|
+
* Stores @OnSuccess, @OnError, @Before, @After callbacks.
|
|
49
|
+
*/
|
|
50
|
+
export declare const LIFECYCLE_METADATA: unique symbol;
|
|
51
|
+
/**
|
|
52
|
+
* Metadata key for response definitions per method.
|
|
53
|
+
* Stores @Returns and @ApiResponse decorator data.
|
|
54
|
+
*/
|
|
55
|
+
export declare const RESPONSE_METADATA: unique symbol;
|
|
56
|
+
/**
|
|
57
|
+
* Metadata key for schema registration metadata.
|
|
58
|
+
* Stores @ApiSchema and @ApiProperty decorator data.
|
|
59
|
+
*/
|
|
60
|
+
export declare const SCHEMA_METADATA: unique symbol;
|
|
61
|
+
/**
|
|
62
|
+
* Metadata key for handler arguments.
|
|
63
|
+
* Stores additional arguments to pass to handler methods.
|
|
64
|
+
*/
|
|
65
|
+
export declare const HANDLER_ARGS_METADATA: unique symbol;
|
|
66
|
+
/**
|
|
67
|
+
* Metadata key for transaction settings per method.
|
|
68
|
+
* Stores @Transactional decorator options.
|
|
69
|
+
*/
|
|
70
|
+
export declare const TRANSACTION_METADATA: unique symbol;
|
|
71
|
+
/**
|
|
72
|
+
* Metadata key for rate limiting settings per method.
|
|
73
|
+
* Stores @RateLimit decorator options.
|
|
74
|
+
*/
|
|
75
|
+
export declare const RATE_LIMIT_METADATA: unique symbol;
|
|
76
|
+
/**
|
|
77
|
+
* Metadata key for cache settings per method.
|
|
78
|
+
* Stores @CacheResponse decorator options.
|
|
79
|
+
*/
|
|
80
|
+
export declare const CACHE_METADATA: unique symbol;
|
|
81
|
+
/**
|
|
82
|
+
* Metadata key for OpenAPI parameter definitions.
|
|
83
|
+
* Stores @ApiParam, @ApiQuery, @ApiHeader decorator data.
|
|
84
|
+
*/
|
|
85
|
+
export declare const OPENAPI_PARAMS_METADATA: unique symbol;
|
|
86
|
+
/**
|
|
87
|
+
* Metadata key for OpenAPI request body definition.
|
|
88
|
+
* Stores @ApiRequestBody decorator data.
|
|
89
|
+
*/
|
|
90
|
+
export declare const OPENAPI_REQUEST_BODY_METADATA: unique symbol;
|
|
91
|
+
/**
|
|
92
|
+
* All metadata keys exported as a collection for iteration/validation.
|
|
93
|
+
*/
|
|
94
|
+
export declare const ALL_METADATA_KEYS: {
|
|
95
|
+
readonly CONTROLLER_METADATA: typeof CONTROLLER_METADATA;
|
|
96
|
+
readonly ROUTES_METADATA: typeof ROUTES_METADATA;
|
|
97
|
+
readonly OPENAPI_METADATA: typeof OPENAPI_METADATA;
|
|
98
|
+
readonly OPENAPI_CONTROLLER_METADATA: typeof OPENAPI_CONTROLLER_METADATA;
|
|
99
|
+
readonly AUTH_METADATA: typeof AUTH_METADATA;
|
|
100
|
+
readonly VALIDATION_METADATA: typeof VALIDATION_METADATA;
|
|
101
|
+
readonly MIDDLEWARE_METADATA: typeof MIDDLEWARE_METADATA;
|
|
102
|
+
readonly PARAMS_METADATA: typeof PARAMS_METADATA;
|
|
103
|
+
readonly LIFECYCLE_METADATA: typeof LIFECYCLE_METADATA;
|
|
104
|
+
readonly RESPONSE_METADATA: typeof RESPONSE_METADATA;
|
|
105
|
+
readonly SCHEMA_METADATA: typeof SCHEMA_METADATA;
|
|
106
|
+
readonly HANDLER_ARGS_METADATA: typeof HANDLER_ARGS_METADATA;
|
|
107
|
+
readonly TRANSACTION_METADATA: typeof TRANSACTION_METADATA;
|
|
108
|
+
readonly RATE_LIMIT_METADATA: typeof RATE_LIMIT_METADATA;
|
|
109
|
+
readonly CACHE_METADATA: typeof CACHE_METADATA;
|
|
110
|
+
readonly OPENAPI_PARAMS_METADATA: typeof OPENAPI_PARAMS_METADATA;
|
|
111
|
+
readonly OPENAPI_REQUEST_BODY_METADATA: typeof OPENAPI_REQUEST_BODY_METADATA;
|
|
112
|
+
};
|
|
113
|
+
/**
|
|
114
|
+
* Type representing all metadata key names.
|
|
115
|
+
*/
|
|
116
|
+
export type MetadataKeyName = keyof typeof ALL_METADATA_KEYS;
|
|
117
|
+
/**
|
|
118
|
+
* Type representing all metadata key symbols.
|
|
119
|
+
*/
|
|
120
|
+
export type MetadataKey = (typeof ALL_METADATA_KEYS)[MetadataKeyName];
|
|
121
|
+
//# sourceMappingURL=metadata-keys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-keys.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/decorators/metadata-keys.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,eAAO,MAAM,mBAAmB,eAAuB,CAAC;AAExD;;;GAGG;AACH,eAAO,MAAM,eAAe,eAAmB,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,eAAoB,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,2BAA2B,eAA+B,CAAC;AAExE;;;GAGG;AACH,eAAO,MAAM,aAAa,eAAiB,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,mBAAmB,eAAuB,CAAC;AAExD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,eAAuB,CAAC;AAExD;;;GAGG;AACH,eAAO,MAAM,eAAe,eAAmB,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,eAAsB,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,eAAqB,CAAC;AAEpD;;;GAGG;AACH,eAAO,MAAM,eAAe,eAAmB,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,eAAwB,CAAC;AAE3D;;;GAGG;AACH,eAAO,MAAM,oBAAoB,eAAwB,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,mBAAmB,eAAsB,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,cAAc,eAAkB,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,uBAAuB,eAA2B,CAAC;AAEhE;;;GAGG;AACH,eAAO,MAAM,6BAA6B,eAAgC,CAAC;AAE3E;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;CAkBpB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,eAAe,CAAC,CAAC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Metadata keys for decorator system.
|
|
4
|
+
* Provides unique Symbol constants for storing decorator metadata.
|
|
5
|
+
* @module decorators/metadata-keys
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.ALL_METADATA_KEYS = exports.OPENAPI_REQUEST_BODY_METADATA = exports.OPENAPI_PARAMS_METADATA = exports.CACHE_METADATA = exports.RATE_LIMIT_METADATA = exports.TRANSACTION_METADATA = exports.HANDLER_ARGS_METADATA = exports.SCHEMA_METADATA = exports.RESPONSE_METADATA = exports.LIFECYCLE_METADATA = exports.PARAMS_METADATA = exports.MIDDLEWARE_METADATA = exports.VALIDATION_METADATA = exports.AUTH_METADATA = exports.OPENAPI_CONTROLLER_METADATA = exports.OPENAPI_METADATA = exports.ROUTES_METADATA = exports.CONTROLLER_METADATA = void 0;
|
|
9
|
+
/**
|
|
10
|
+
* Metadata key for controller-level configuration.
|
|
11
|
+
* Stores base path and controller options.
|
|
12
|
+
*/
|
|
13
|
+
exports.CONTROLLER_METADATA = Symbol('controller');
|
|
14
|
+
/**
|
|
15
|
+
* Metadata key for route definitions array.
|
|
16
|
+
* Stores array of RouteMetadata objects for each decorated method.
|
|
17
|
+
*/
|
|
18
|
+
exports.ROUTES_METADATA = Symbol('routes');
|
|
19
|
+
/**
|
|
20
|
+
* Metadata key for OpenAPI-specific metadata per method.
|
|
21
|
+
* Stores OpenAPIRouteMetadata for individual route operations.
|
|
22
|
+
*/
|
|
23
|
+
exports.OPENAPI_METADATA = Symbol('openapi');
|
|
24
|
+
/**
|
|
25
|
+
* Metadata key for controller-level OpenAPI metadata.
|
|
26
|
+
* Stores tags, description, and other controller-wide OpenAPI settings.
|
|
27
|
+
*/
|
|
28
|
+
exports.OPENAPI_CONTROLLER_METADATA = Symbol('openapi:controller');
|
|
29
|
+
/**
|
|
30
|
+
* Metadata key for authentication settings per method.
|
|
31
|
+
* Stores auth requirements (JWT, crypto auth, public).
|
|
32
|
+
*/
|
|
33
|
+
exports.AUTH_METADATA = Symbol('auth');
|
|
34
|
+
/**
|
|
35
|
+
* Metadata key for validation schemas per method.
|
|
36
|
+
* Stores Zod schemas or express-validator chains.
|
|
37
|
+
*/
|
|
38
|
+
exports.VALIDATION_METADATA = Symbol('validation');
|
|
39
|
+
/**
|
|
40
|
+
* Metadata key for middleware array per method.
|
|
41
|
+
* Stores Express middleware functions to be applied to routes.
|
|
42
|
+
*/
|
|
43
|
+
exports.MIDDLEWARE_METADATA = Symbol('middleware');
|
|
44
|
+
/**
|
|
45
|
+
* Metadata key for parameter injection metadata per method.
|
|
46
|
+
* Stores parameter decorators info (@Param, @Body, @Query, etc.).
|
|
47
|
+
*/
|
|
48
|
+
exports.PARAMS_METADATA = Symbol('params');
|
|
49
|
+
/**
|
|
50
|
+
* Metadata key for lifecycle hooks per method.
|
|
51
|
+
* Stores @OnSuccess, @OnError, @Before, @After callbacks.
|
|
52
|
+
*/
|
|
53
|
+
exports.LIFECYCLE_METADATA = Symbol('lifecycle');
|
|
54
|
+
/**
|
|
55
|
+
* Metadata key for response definitions per method.
|
|
56
|
+
* Stores @Returns and @ApiResponse decorator data.
|
|
57
|
+
*/
|
|
58
|
+
exports.RESPONSE_METADATA = Symbol('response');
|
|
59
|
+
/**
|
|
60
|
+
* Metadata key for schema registration metadata.
|
|
61
|
+
* Stores @ApiSchema and @ApiProperty decorator data.
|
|
62
|
+
*/
|
|
63
|
+
exports.SCHEMA_METADATA = Symbol('schema');
|
|
64
|
+
/**
|
|
65
|
+
* Metadata key for handler arguments.
|
|
66
|
+
* Stores additional arguments to pass to handler methods.
|
|
67
|
+
*/
|
|
68
|
+
exports.HANDLER_ARGS_METADATA = Symbol('handlerArgs');
|
|
69
|
+
/**
|
|
70
|
+
* Metadata key for transaction settings per method.
|
|
71
|
+
* Stores @Transactional decorator options.
|
|
72
|
+
*/
|
|
73
|
+
exports.TRANSACTION_METADATA = Symbol('transaction');
|
|
74
|
+
/**
|
|
75
|
+
* Metadata key for rate limiting settings per method.
|
|
76
|
+
* Stores @RateLimit decorator options.
|
|
77
|
+
*/
|
|
78
|
+
exports.RATE_LIMIT_METADATA = Symbol('rateLimit');
|
|
79
|
+
/**
|
|
80
|
+
* Metadata key for cache settings per method.
|
|
81
|
+
* Stores @CacheResponse decorator options.
|
|
82
|
+
*/
|
|
83
|
+
exports.CACHE_METADATA = Symbol('cache');
|
|
84
|
+
/**
|
|
85
|
+
* Metadata key for OpenAPI parameter definitions.
|
|
86
|
+
* Stores @ApiParam, @ApiQuery, @ApiHeader decorator data.
|
|
87
|
+
*/
|
|
88
|
+
exports.OPENAPI_PARAMS_METADATA = Symbol('openapi:params');
|
|
89
|
+
/**
|
|
90
|
+
* Metadata key for OpenAPI request body definition.
|
|
91
|
+
* Stores @ApiRequestBody decorator data.
|
|
92
|
+
*/
|
|
93
|
+
exports.OPENAPI_REQUEST_BODY_METADATA = Symbol('openapi:requestBody');
|
|
94
|
+
/**
|
|
95
|
+
* All metadata keys exported as a collection for iteration/validation.
|
|
96
|
+
*/
|
|
97
|
+
exports.ALL_METADATA_KEYS = {
|
|
98
|
+
CONTROLLER_METADATA: exports.CONTROLLER_METADATA,
|
|
99
|
+
ROUTES_METADATA: exports.ROUTES_METADATA,
|
|
100
|
+
OPENAPI_METADATA: exports.OPENAPI_METADATA,
|
|
101
|
+
OPENAPI_CONTROLLER_METADATA: exports.OPENAPI_CONTROLLER_METADATA,
|
|
102
|
+
AUTH_METADATA: exports.AUTH_METADATA,
|
|
103
|
+
VALIDATION_METADATA: exports.VALIDATION_METADATA,
|
|
104
|
+
MIDDLEWARE_METADATA: exports.MIDDLEWARE_METADATA,
|
|
105
|
+
PARAMS_METADATA: exports.PARAMS_METADATA,
|
|
106
|
+
LIFECYCLE_METADATA: exports.LIFECYCLE_METADATA,
|
|
107
|
+
RESPONSE_METADATA: exports.RESPONSE_METADATA,
|
|
108
|
+
SCHEMA_METADATA: exports.SCHEMA_METADATA,
|
|
109
|
+
HANDLER_ARGS_METADATA: exports.HANDLER_ARGS_METADATA,
|
|
110
|
+
TRANSACTION_METADATA: exports.TRANSACTION_METADATA,
|
|
111
|
+
RATE_LIMIT_METADATA: exports.RATE_LIMIT_METADATA,
|
|
112
|
+
CACHE_METADATA: exports.CACHE_METADATA,
|
|
113
|
+
OPENAPI_PARAMS_METADATA: exports.OPENAPI_PARAMS_METADATA,
|
|
114
|
+
OPENAPI_REQUEST_BODY_METADATA: exports.OPENAPI_REQUEST_BODY_METADATA,
|
|
115
|
+
};
|
|
116
|
+
//# sourceMappingURL=metadata-keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-keys.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/decorators/metadata-keys.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH;;;GAGG;AACU,QAAA,mBAAmB,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAExD;;;GAGG;AACU,QAAA,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAEhD;;;GAGG;AACU,QAAA,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAElD;;;GAGG;AACU,QAAA,2BAA2B,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAExE;;;GAGG;AACU,QAAA,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAE5C;;;GAGG;AACU,QAAA,mBAAmB,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAExD;;;GAGG;AACU,QAAA,mBAAmB,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAExD;;;GAGG;AACU,QAAA,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAEhD;;;GAGG;AACU,QAAA,kBAAkB,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAEtD;;;GAGG;AACU,QAAA,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAEpD;;;GAGG;AACU,QAAA,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAEhD;;;GAGG;AACU,QAAA,qBAAqB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAE3D;;;GAGG;AACU,QAAA,oBAAoB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAE1D;;;GAGG;AACU,QAAA,mBAAmB,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvD;;;GAGG;AACU,QAAA,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAE9C;;;GAGG;AACU,QAAA,uBAAuB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAEhE;;;GAGG;AACU,QAAA,6BAA6B,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAE3E;;GAEG;AACU,QAAA,iBAAiB,GAAG;IAC/B,mBAAmB,EAAnB,2BAAmB;IACnB,eAAe,EAAf,uBAAe;IACf,gBAAgB,EAAhB,wBAAgB;IAChB,2BAA2B,EAA3B,mCAA2B;IAC3B,aAAa,EAAb,qBAAa;IACb,mBAAmB,EAAnB,2BAAmB;IACnB,mBAAmB,EAAnB,2BAAmB;IACnB,eAAe,EAAf,uBAAe;IACf,kBAAkB,EAAlB,0BAAkB;IAClB,iBAAiB,EAAjB,yBAAiB;IACjB,eAAe,EAAf,uBAAe;IACf,qBAAqB,EAArB,6BAAqB;IACrB,oBAAoB,EAApB,4BAAoB;IACpB,mBAAmB,EAAnB,2BAAmB;IACnB,cAAc,EAAd,sBAAc;IACd,uBAAuB,EAAvB,+BAAuB;IACvB,6BAA6B,EAA7B,qCAA6B;CACrB,CAAC"}
|