@heliosjs/middlewares 2.0.2 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/catch.d.ts +3 -3
- package/dist/catch.js +5 -2
- package/dist/catch.js.map +1 -1
- package/dist/constants.d.ts +1 -0
- package/dist/constants.js +2 -1
- package/dist/constants.js.map +1 -1
- package/dist/cors.js +4 -1
- package/dist/cors.js.map +1 -1
- package/dist/helper.d.ts +1 -0
- package/dist/helper.js +6 -0
- package/dist/helper.js.map +1 -0
- package/dist/sanitize.js +4 -1
- package/dist/sanitize.js.map +1 -1
- package/dist/types/core/controller.d.ts +15 -21
- package/dist/use.js +5 -2
- package/dist/use.js.map +1 -1
- package/dist/utils/shared/helpers.d.ts +4 -0
- package/dist/utils/shared/helpers.js +20 -0
- package/dist/utils/shared/helpers.js.map +1 -1
- package/package.json +2 -2
package/dist/catch.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ErorrHandler } from './types/core';
|
|
2
2
|
/**
|
|
3
3
|
* Decorator to register a global or controller-level error handler.
|
|
4
4
|
*
|
|
@@ -7,7 +7,7 @@ import { ErrorCB } from './types/core';
|
|
|
7
7
|
* It attaches the handler as metadata on the target class, allowing the framework to
|
|
8
8
|
* retrieve and execute the error handler appropriately during runtime.
|
|
9
9
|
*
|
|
10
|
-
* @param {
|
|
10
|
+
* @param {ErorrHandler} handler - The error callback function to handle errors.
|
|
11
11
|
*
|
|
12
12
|
* @returns {Function} A class decorator function that defines the error handler metadata.
|
|
13
13
|
*
|
|
@@ -26,4 +26,4 @@ import { ErrorCB } from './types/core';
|
|
|
26
26
|
* This metadata is accessible via Reflect API and used internally by the framework
|
|
27
27
|
* to invoke the registered error handler when errors occur.
|
|
28
28
|
*/
|
|
29
|
-
export declare function Catch(handler:
|
|
29
|
+
export declare function Catch(handler: ErorrHandler): (target: any) => any;
|
package/dist/catch.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Catch = Catch;
|
|
4
4
|
const constants_1 = require("./constants");
|
|
5
|
+
const shared_1 = require("./utils/shared");
|
|
5
6
|
/**
|
|
6
7
|
* Decorator to register a global or controller-level error handler.
|
|
7
8
|
*
|
|
@@ -10,7 +11,7 @@ const constants_1 = require("./constants");
|
|
|
10
11
|
* It attaches the handler as metadata on the target class, allowing the framework to
|
|
11
12
|
* retrieve and execute the error handler appropriately during runtime.
|
|
12
13
|
*
|
|
13
|
-
* @param {
|
|
14
|
+
* @param {ErorrHandler} handler - The error callback function to handle errors.
|
|
14
15
|
*
|
|
15
16
|
* @returns {Function} A class decorator function that defines the error handler metadata.
|
|
16
17
|
*
|
|
@@ -31,7 +32,9 @@ const constants_1 = require("./constants");
|
|
|
31
32
|
*/
|
|
32
33
|
function Catch(handler) {
|
|
33
34
|
return function (target) {
|
|
34
|
-
|
|
35
|
+
const meta = (0, shared_1.reflectMeta)(target, 'sub');
|
|
36
|
+
meta.catch.push(handler);
|
|
37
|
+
Reflect.defineMetadata(constants_1.CONTROLLER_CONFIG, meta, target);
|
|
35
38
|
return target;
|
|
36
39
|
};
|
|
37
40
|
}
|
package/dist/catch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catch.js","sourceRoot":"","sources":["../src/catch.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"catch.js","sourceRoot":"","sources":["../src/catch.ts"],"names":[],"mappings":";;AA+BA,sBAQC;AAvCD,2CAAgD;AAGhD,2CAA6C;AAC7C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAgB,KAAK,CAAC,OAAqB;IACzC,OAAO,UAAU,MAAW;QAC1B,MAAM,IAAI,GAAG,IAAA,oBAAW,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,OAAO,CAAC,cAAc,CAAC,6BAAiB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAExD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -23,3 +23,4 @@ export declare const SSE_METADATA_KEY = "sse:handlers";
|
|
|
23
23
|
export declare const SSE_TOPIC_KEY = "sse:topics";
|
|
24
24
|
export declare const SSE_SERVICE_KEY = "sse:service";
|
|
25
25
|
export declare const STATIC_METADATA_KEY = "static:config";
|
|
26
|
+
export declare const CONTROLLER_CONFIG = "CONTROLLER_CONFIG";
|
package/dist/constants.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.STATIC_METADATA_KEY = exports.SSE_SERVICE_KEY = exports.SSE_TOPIC_KEY = exports.SSE_METADATA_KEY = exports.CORS_METADATA = exports.TO_VALIDATE = exports.OK_STATUSES = exports.STOPPED = exports.SANITIZE = exports.CATCH = exports.INTERCEPT = exports.WS_SERVICE_KEY = exports.WS_TOPIC_KEY = exports.WS_HANDLER = exports.USE_MIDDLEWARE = exports.SERVER_CONFIG_KEY = exports.OK_METADATA_KEY = exports.ENDPOINT = exports.INTERCEPTOR = exports.CONTROLLERS = exports.MIDDLEWARES = exports.ROUTE_MIDDLEWARES = exports.ROUTE_PREFIX = exports.APP_METADATA_KEY = exports.PARAM_METADATA_KEY = void 0;
|
|
3
|
+
exports.CONTROLLER_CONFIG = exports.STATIC_METADATA_KEY = exports.SSE_SERVICE_KEY = exports.SSE_TOPIC_KEY = exports.SSE_METADATA_KEY = exports.CORS_METADATA = exports.TO_VALIDATE = exports.OK_STATUSES = exports.STOPPED = exports.SANITIZE = exports.CATCH = exports.INTERCEPT = exports.WS_SERVICE_KEY = exports.WS_TOPIC_KEY = exports.WS_HANDLER = exports.USE_MIDDLEWARE = exports.SERVER_CONFIG_KEY = exports.OK_METADATA_KEY = exports.ENDPOINT = exports.INTERCEPTOR = exports.CONTROLLERS = exports.MIDDLEWARES = exports.ROUTE_MIDDLEWARES = exports.ROUTE_PREFIX = exports.APP_METADATA_KEY = exports.PARAM_METADATA_KEY = void 0;
|
|
4
4
|
exports.PARAM_METADATA_KEY = 'design:parameters';
|
|
5
5
|
exports.APP_METADATA_KEY = 'app:configuration';
|
|
6
6
|
exports.ROUTE_PREFIX = 'route:prefix';
|
|
@@ -31,4 +31,5 @@ exports.SSE_METADATA_KEY = 'sse:handlers';
|
|
|
31
31
|
exports.SSE_TOPIC_KEY = 'sse:topics';
|
|
32
32
|
exports.SSE_SERVICE_KEY = 'sse:service';
|
|
33
33
|
exports.STATIC_METADATA_KEY = 'static:config';
|
|
34
|
+
exports.CONTROLLER_CONFIG = 'CONTROLLER_CONFIG';
|
|
34
35
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG,mBAAmB,CAAC;AACzC,QAAA,gBAAgB,GAAG,mBAAmB,CAAC;AACvC,QAAA,YAAY,GAAG,cAAc,CAAC;AAC9B,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AACxC,QAAA,WAAW,GAAG,wBAAwB,CAAC;AACvC,QAAA,WAAW,GAAG,iBAAiB,CAAC;AAChC,QAAA,WAAW,GAAG,kBAAkB,CAAC;AACjC,QAAA,QAAQ,GAAG,iBAAiB,CAAC;AAC7B,QAAA,eAAe,GAAG,WAAW,CAAC;AAE9B,QAAA,iBAAiB,GAAG,eAAe,CAAC;AACpC,QAAA,cAAc,GAAG,0BAA0B,CAAC;AAE5C,QAAA,UAAU,GAAG,mBAAmB,CAAC;AACjC,QAAA,YAAY,GAAG,iBAAiB,CAAC;AACjC,QAAA,cAAc,GAAG,mBAAmB,CAAC;AACrC,QAAA,SAAS,GAAG,kBAAkB,CAAC;AAC/B,QAAA,KAAK,GAAG,cAAc,CAAC;AACvB,QAAA,QAAQ,GAAG,iBAAiB,CAAC;AAE7B,QAAA,OAAO,GAAG;;;;;WAKZ,CAAC;AAEC,QAAA,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACjE,QAAA,WAAW,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAElE,QAAA,aAAa,GAAG,aAAa,CAAC;AAC9B,QAAA,gBAAgB,GAAG,cAAc,CAAC;AAClC,QAAA,aAAa,GAAG,YAAY,CAAC;AAC7B,QAAA,eAAe,GAAG,aAAa,CAAC;AAChC,QAAA,mBAAmB,GAAG,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG,mBAAmB,CAAC;AACzC,QAAA,gBAAgB,GAAG,mBAAmB,CAAC;AACvC,QAAA,YAAY,GAAG,cAAc,CAAC;AAC9B,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AACxC,QAAA,WAAW,GAAG,wBAAwB,CAAC;AACvC,QAAA,WAAW,GAAG,iBAAiB,CAAC;AAChC,QAAA,WAAW,GAAG,kBAAkB,CAAC;AACjC,QAAA,QAAQ,GAAG,iBAAiB,CAAC;AAC7B,QAAA,eAAe,GAAG,WAAW,CAAC;AAE9B,QAAA,iBAAiB,GAAG,eAAe,CAAC;AACpC,QAAA,cAAc,GAAG,0BAA0B,CAAC;AAE5C,QAAA,UAAU,GAAG,mBAAmB,CAAC;AACjC,QAAA,YAAY,GAAG,iBAAiB,CAAC;AACjC,QAAA,cAAc,GAAG,mBAAmB,CAAC;AACrC,QAAA,SAAS,GAAG,kBAAkB,CAAC;AAC/B,QAAA,KAAK,GAAG,cAAc,CAAC;AACvB,QAAA,QAAQ,GAAG,iBAAiB,CAAC;AAE7B,QAAA,OAAO,GAAG;;;;;WAKZ,CAAC;AAEC,QAAA,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACjE,QAAA,WAAW,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAElE,QAAA,aAAa,GAAG,aAAa,CAAC;AAC9B,QAAA,gBAAgB,GAAG,cAAc,CAAC;AAClC,QAAA,aAAa,GAAG,YAAY,CAAC;AAC7B,QAAA,eAAe,GAAG,aAAa,CAAC;AAChC,QAAA,mBAAmB,GAAG,eAAe,CAAC;AAEtC,QAAA,iBAAiB,GAAG,mBAAmB,CAAC"}
|
package/dist/cors.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Cors = Cors;
|
|
4
4
|
const constants_1 = require("./constants");
|
|
5
5
|
const core_1 = require("./types/core");
|
|
6
|
+
const shared_1 = require("./utils/shared");
|
|
6
7
|
/**
|
|
7
8
|
* Decorator to configure Cross-Origin Resource Sharing (CORS) settings for HTTP controllers or methods.
|
|
8
9
|
*
|
|
@@ -50,7 +51,9 @@ function Cors(config = {}) {
|
|
|
50
51
|
Reflect.defineMetadata(constants_1.CORS_METADATA, finalConfig, target, propertyKey);
|
|
51
52
|
}
|
|
52
53
|
else {
|
|
53
|
-
|
|
54
|
+
const meta = (0, shared_1.reflectMeta)(target, 'sub');
|
|
55
|
+
meta.cors.push(finalConfig);
|
|
56
|
+
Reflect.defineMetadata(constants_1.CONTROLLER_CONFIG, meta, target);
|
|
54
57
|
}
|
|
55
58
|
};
|
|
56
59
|
}
|
package/dist/cors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cors.js","sourceRoot":"","sources":["../src/cors.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"cors.js","sourceRoot":"","sources":["../src/cors.ts"],"names":[],"mappings":";;AAuCA,oBAkBC;AAzDD,2CAA+D;AAC/D,uCAAwD;AACxD,2CAA6C;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,SAAgB,IAAI,CAAC,SAAqB,EAAE;IAC1C,OAAO,UAAU,MAAW,EAAE,WAAoB,EAAE,UAA+B;QACjF,MAAM,aAAa,GAAe;YAChC,MAAM,EAAE,GAAG;YACX,oBAAoB,EAAE,GAAG;YACzB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,mBAAY,CAAC;SACnC,CAAC;QAEF,MAAM,WAAW,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,MAAM,EAAE,CAAC;QAEpD,IAAI,WAAW,IAAI,UAAU,EAAE,CAAC;YAC9B,OAAO,CAAC,cAAc,CAAC,yBAAa,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,IAAA,oBAAW,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC5B,OAAO,CAAC,cAAc,CAAC,6BAAiB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/helper.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const reflectMeta: (target: object) => void;
|
package/dist/helper.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":";;;AAAO,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,EAAE,GAAE,CAAC,CAAC;AAArC,QAAA,WAAW,eAA0B"}
|
package/dist/sanitize.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Sanitize = Sanitize;
|
|
4
4
|
const constants_1 = require("./constants");
|
|
5
|
+
const shared_1 = require("./utils/shared");
|
|
5
6
|
/**
|
|
6
7
|
* Decorator to apply sanitization configurations to a controller or method.
|
|
7
8
|
*
|
|
@@ -47,7 +48,9 @@ function Sanitize(sanitizeConfig) {
|
|
|
47
48
|
Reflect.defineMetadata(constants_1.SANITIZE, configs, target, propertyKey);
|
|
48
49
|
}
|
|
49
50
|
else {
|
|
50
|
-
|
|
51
|
+
const meta = (0, shared_1.reflectMeta)(target, 'sub');
|
|
52
|
+
meta.sanitizers.push(...configs);
|
|
53
|
+
Reflect.defineMetadata(constants_1.CONTROLLER_CONFIG, meta, target);
|
|
51
54
|
}
|
|
52
55
|
};
|
|
53
56
|
}
|
package/dist/sanitize.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../src/sanitize.ts"],"names":[],"mappings":";;AAyCA,
|
|
1
|
+
{"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../src/sanitize.ts"],"names":[],"mappings":";;AAyCA,4BAYC;AArDD,2CAA0D;AAE1D,2CAA6C;AAC7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,SAAgB,QAAQ,CAAC,cAAmD;IAC1E,OAAO,UAAU,MAAW,EAAE,WAAoB,EAAE,UAA+B;QACjF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QAElF,IAAI,WAAW,IAAI,UAAU,EAAE,CAAC;YAC9B,OAAO,CAAC,cAAc,CAAC,oBAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,IAAA,oBAAW,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;YACjC,OAAO,CAAC,cAAc,CAAC,6BAAiB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -20,33 +20,13 @@ export type ControllerType = {
|
|
|
20
20
|
new (...args: any[]): any;
|
|
21
21
|
};
|
|
22
22
|
export type ControllerInstance = InstanceType<ControllerType>;
|
|
23
|
-
export type ControllerMetadata = {
|
|
24
|
-
routePrefix: string;
|
|
25
|
-
middlewares: MiddlewareCB[];
|
|
26
|
-
interceptor?: InterceptorCB;
|
|
27
|
-
subControllers: ControllerInstance[];
|
|
28
|
-
errorHandler?: ErorrHandler;
|
|
29
|
-
cors?: CORSConfig;
|
|
30
|
-
sanitizers: SanitizerConfig[];
|
|
31
|
-
};
|
|
32
23
|
export interface ControllerConfig {
|
|
33
24
|
prefix: string;
|
|
34
25
|
middlewares?: Array<MiddlewareCB>;
|
|
35
26
|
controllers?: ControllerInstance[];
|
|
36
27
|
interceptor?: InterceptorCB;
|
|
28
|
+
cors?: CORSConfig;
|
|
37
29
|
}
|
|
38
|
-
export type RouteContext = {
|
|
39
|
-
controllerInstance: any;
|
|
40
|
-
controllerMeta: ControllerMetadata;
|
|
41
|
-
path: string;
|
|
42
|
-
method: string;
|
|
43
|
-
middlewareChain: MiddlewareCB[];
|
|
44
|
-
interceptorChain: InterceptorCB[];
|
|
45
|
-
corsChain: CORSConfig[];
|
|
46
|
-
errorHandlerChain: ErorrHandler[];
|
|
47
|
-
subPath: string;
|
|
48
|
-
sanitizersChain: SanitizerConfig[];
|
|
49
|
-
};
|
|
50
30
|
export type SSE_HANDLER_META = {
|
|
51
31
|
type: string;
|
|
52
32
|
method: string;
|
|
@@ -104,3 +84,17 @@ export type ControllerMeta = {
|
|
|
104
84
|
}[];
|
|
105
85
|
children?: ControllerMeta[];
|
|
106
86
|
};
|
|
87
|
+
export type ControllerMetadata = {
|
|
88
|
+
prefix: string;
|
|
89
|
+
name: string;
|
|
90
|
+
middlewares: MiddlewareCB[];
|
|
91
|
+
interceptor?: InterceptorCB;
|
|
92
|
+
controllers: ControllerInstance[];
|
|
93
|
+
cors?: CORSConfig;
|
|
94
|
+
};
|
|
95
|
+
export type ControllerSubMetadata = {
|
|
96
|
+
use: MiddlewareCB[];
|
|
97
|
+
catch: ErorrHandler[];
|
|
98
|
+
cors: CORSConfig[];
|
|
99
|
+
sanitizers: SanitizerConfig[];
|
|
100
|
+
};
|
package/dist/use.js
CHANGED
|
@@ -2,10 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Use = Use;
|
|
4
4
|
const constants_1 = require("./constants");
|
|
5
|
+
const shared_1 = require("./utils/shared");
|
|
5
6
|
function Use(middleware) {
|
|
6
7
|
return function (target) {
|
|
7
|
-
const
|
|
8
|
-
|
|
8
|
+
const middlewares = Array.isArray(middleware) ? middleware : [middleware];
|
|
9
|
+
const meta = (0, shared_1.reflectMeta)(target, 'sub');
|
|
10
|
+
meta.use.push(...middlewares);
|
|
11
|
+
Reflect.defineMetadata(constants_1.CONTROLLER_CONFIG, meta, target);
|
|
9
12
|
return target;
|
|
10
13
|
};
|
|
11
14
|
}
|
package/dist/use.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use.js","sourceRoot":"","sources":["../src/use.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"use.js","sourceRoot":"","sources":["../src/use.ts"],"names":[],"mappings":";;AAIA,kBAUC;AAdD,2CAAgD;AAEhD,2CAA6C;AAE7C,SAAgB,GAAG,CAAC,UAAyC;IAC3D,OAAO,UAAU,MAAW;QAC1B,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAE1E,MAAM,IAAI,GAAG,IAAA,oBAAW,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;QAC9B,OAAO,CAAC,cAAc,CAAC,6BAAiB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAExD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1,5 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
import { ControllerMetadata, ControllerSubMetadata } from '../../types/core/controller';
|
|
1
3
|
export declare const generateUniqueId: () => string;
|
|
4
|
+
export declare function reflectMeta(target: object, type?: 'direct'): ControllerMetadata;
|
|
5
|
+
export declare function reflectMeta(target: object, type: 'sub'): ControllerSubMetadata;
|
|
@@ -1,8 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.generateUniqueId = void 0;
|
|
4
|
+
exports.reflectMeta = reflectMeta;
|
|
5
|
+
require("reflect-metadata");
|
|
6
|
+
const constants_1 = require("../../constants");
|
|
4
7
|
const generateUniqueId = () => {
|
|
5
8
|
return `${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;
|
|
6
9
|
};
|
|
7
10
|
exports.generateUniqueId = generateUniqueId;
|
|
11
|
+
function reflectMeta(target, type = 'direct') {
|
|
12
|
+
const data = Reflect.getMetadata(constants_1.CONTROLLER_CONFIG, target) ?? {};
|
|
13
|
+
if (type === 'sub') {
|
|
14
|
+
['use', 'catch', 'cors', 'sanitizers'].forEach((prop) => {
|
|
15
|
+
if (!data[prop]?.length) {
|
|
16
|
+
data[prop] = [];
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
return data;
|
|
20
|
+
}
|
|
21
|
+
['middlewares', 'controllers'].forEach((prop) => {
|
|
22
|
+
if (!data[prop]?.length) {
|
|
23
|
+
data[prop] = [];
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
return data;
|
|
27
|
+
}
|
|
8
28
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/utils/shared/helpers.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/utils/shared/helpers.ts"],"names":[],"mappings":";;;AAUA,kCAsBC;AAhCD,4BAA0B;AAC1B,+CAAoD;AAG7C,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACvE,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B;AAIF,SAAgB,WAAW,CACzB,MAAc,EACd,OAAyB,QAAQ;IAEjC,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,6BAAiB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IAElE,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACtD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAClB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC9C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@heliosjs/middlewares",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "Core functionality for Quantum Flow",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"reflect-metadata": "^0.2.2"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
|
-
"@heliosjs/core": "^
|
|
33
|
+
"@heliosjs/core": "^2.0.0",
|
|
34
34
|
"typescript": ">=4.0.0"
|
|
35
35
|
}
|
|
36
36
|
}
|