@lerianstudio/sindarian-server 1.0.0 → 1.1.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.
Files changed (80) hide show
  1. package/README.md +268 -21
  2. package/dist/constants/keys.d.ts +2 -0
  3. package/dist/constants/keys.d.ts.map +1 -1
  4. package/dist/constants/keys.js +3 -1
  5. package/dist/constants/keys.js.map +1 -1
  6. package/dist/controllers/decorators/route-decorator.d.ts +4 -0
  7. package/dist/controllers/decorators/route-decorator.d.ts.map +1 -1
  8. package/dist/controllers/decorators/route-decorator.js +7 -0
  9. package/dist/controllers/decorators/route-decorator.js.map +1 -1
  10. package/dist/dependency-injection/container.d.ts +4 -3
  11. package/dist/dependency-injection/container.d.ts.map +1 -1
  12. package/dist/dependency-injection/container.js +14 -3
  13. package/dist/dependency-injection/container.js.map +1 -1
  14. package/dist/dependency-injection/injectable-decorator.d.ts +5 -0
  15. package/dist/dependency-injection/injectable-decorator.d.ts.map +1 -1
  16. package/dist/dependency-injection/injectable-decorator.js +9 -0
  17. package/dist/dependency-injection/injectable-decorator.js.map +1 -1
  18. package/dist/guards/can-activate.d.ts +21 -0
  19. package/dist/guards/can-activate.d.ts.map +1 -0
  20. package/dist/guards/can-activate.js +3 -0
  21. package/dist/guards/can-activate.js.map +1 -0
  22. package/dist/guards/decorators/index.d.ts +2 -0
  23. package/dist/guards/decorators/index.d.ts.map +1 -0
  24. package/dist/guards/decorators/index.js +18 -0
  25. package/dist/guards/decorators/index.js.map +1 -0
  26. package/dist/guards/decorators/use-guards-decorator.d.ts +44 -0
  27. package/dist/guards/decorators/use-guards-decorator.d.ts.map +1 -0
  28. package/dist/guards/decorators/use-guards-decorator.js +127 -0
  29. package/dist/guards/decorators/use-guards-decorator.js.map +1 -0
  30. package/dist/guards/index.d.ts +3 -0
  31. package/dist/guards/index.d.ts.map +1 -0
  32. package/dist/guards/index.js +19 -0
  33. package/dist/guards/index.js.map +1 -0
  34. package/dist/index.d.ts +5 -0
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +9 -1
  37. package/dist/index.js.map +1 -1
  38. package/dist/interceptor/decorators/use-interceptor-decorator.d.ts.map +1 -1
  39. package/dist/interceptor/decorators/use-interceptor-decorator.js +4 -12
  40. package/dist/interceptor/decorators/use-interceptor-decorator.js.map +1 -1
  41. package/dist/logger/console-logger.d.ts.map +1 -1
  42. package/dist/logger/console-logger.js +6 -0
  43. package/dist/logger/console-logger.js.map +1 -1
  44. package/dist/middleware/index.d.ts +3 -0
  45. package/dist/middleware/index.d.ts.map +1 -0
  46. package/dist/middleware/index.js +19 -0
  47. package/dist/middleware/index.js.map +1 -0
  48. package/dist/middleware/middleware-handler.d.ts +6 -0
  49. package/dist/middleware/middleware-handler.d.ts.map +1 -0
  50. package/dist/middleware/middleware-handler.js +19 -0
  51. package/dist/middleware/middleware-handler.js.map +1 -0
  52. package/dist/middleware/middleware.d.ts +6 -0
  53. package/dist/middleware/middleware.d.ts.map +1 -0
  54. package/dist/middleware/middleware.js +7 -0
  55. package/dist/middleware/middleware.js.map +1 -0
  56. package/dist/modules/module-decorator.d.ts.map +1 -1
  57. package/dist/modules/module-decorator.js +27 -1
  58. package/dist/modules/module-decorator.js.map +1 -1
  59. package/dist/pipes/decorators/use-pipes.js +1 -1
  60. package/dist/pipes/decorators/use-pipes.js.map +1 -1
  61. package/dist/server/server-factory.d.ts +38 -1
  62. package/dist/server/server-factory.d.ts.map +1 -1
  63. package/dist/server/server-factory.js +129 -14
  64. package/dist/server/server-factory.js.map +1 -1
  65. package/dist/services/guards.d.ts +2 -0
  66. package/dist/services/guards.d.ts.map +1 -0
  67. package/dist/services/guards.js +5 -0
  68. package/dist/services/guards.js.map +1 -0
  69. package/dist/services/middleware.d.ts +2 -0
  70. package/dist/services/middleware.d.ts.map +1 -0
  71. package/dist/services/middleware.js +5 -0
  72. package/dist/services/middleware.js.map +1 -0
  73. package/dist/utils/routes/route-specificity.d.ts +40 -0
  74. package/dist/utils/routes/route-specificity.d.ts.map +1 -0
  75. package/dist/utils/routes/route-specificity.js +89 -0
  76. package/dist/utils/routes/route-specificity.js.map +1 -0
  77. package/dist/utils/url/url-match.d.ts.map +1 -1
  78. package/dist/utils/url/url-match.js +16 -2
  79. package/dist/utils/url/url-match.js.map +1 -1
  80. package/package.json +2 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/guards/decorators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAsC"}
@@ -0,0 +1,44 @@
1
+ import { CanActivate } from '../can-activate';
2
+ import { ExecutionContext } from '../../context/execution-context';
3
+ import { Class } from '../../types/class';
4
+ import type { Container } from '../../dependency-injection';
5
+ export type GuardMetadata = {
6
+ guards: (CanActivate | Class<CanActivate>)[];
7
+ };
8
+ export declare class GuardHandler {
9
+ static getClassMetadata(target: object): GuardMetadata | undefined;
10
+ static getMethodMetadata(target: object, propertyKey: string | symbol): GuardMetadata | undefined;
11
+ static register(container: Container, target: Class): void;
12
+ static fetch(container: Container, target: object, methodName: string | symbol): Promise<CanActivate[]>;
13
+ /**
14
+ * Execute guards in sequence. If any guard returns false, throws ForbiddenApiException.
15
+ * Guards execute in order: global guards -> class guards -> method guards
16
+ */
17
+ static execute(executionContext: ExecutionContext, guards: CanActivate[]): Promise<boolean>;
18
+ private static _fetch;
19
+ private static _register;
20
+ }
21
+ /**
22
+ * Decorator that binds guards to the scope of the controller or method,
23
+ * depending on its context.
24
+ *
25
+ * When `@UseGuards` is used at the controller level, the guard will be
26
+ * applied to every handler (method) in the controller.
27
+ *
28
+ * When `@UseGuards` is used at the individual handler level, the guard
29
+ * will apply only to that specific method.
30
+ *
31
+ * @param guards a single guard instance or class, or a list of guard instances
32
+ * or classes.
33
+ *
34
+ * @see [Guards](https://docs.nestjs.com/guards)
35
+ *
36
+ * @usageNotes
37
+ * Guards can also be set up globally for all controllers and routes
38
+ * using `app.useGlobalGuards()` or by registering via module providers
39
+ * with the `APP_GUARD` token.
40
+ *
41
+ * @publicApi
42
+ */
43
+ export declare function UseGuards(...guards: (CanActivate | Class<CanActivate>)[]): ClassDecorator & MethodDecorator;
44
+ //# sourceMappingURL=use-guards-decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-guards-decorator.d.ts","sourceRoot":"","sources":["../../../src/guards/decorators/use-guards-decorator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAErC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAGvD,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,CAAA;CAC7C,CAAA;AAED,qBAAa,YAAY;IACvB,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIlE,MAAM,CAAC,iBAAiB,CACtB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAAG,MAAM,GAC3B,aAAa,GAAG,SAAS;IAgB5B,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK;WA4BtC,KAAK,CAChB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GAAG,MAAM,GAC1B,OAAO,CAAC,WAAW,EAAE,CAAC;IA2BzB;;;OAGG;WACU,OAAO,CAClB,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,WAAW,EAAE,GACpB,OAAO,CAAC,OAAO,CAAC;mBAYE,MAAM;IAU3B,OAAO,CAAC,MAAM,CAAC,SAAS;CAczB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,SAAS,CACvB,GAAG,MAAM,EAAE,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,GAC9C,cAAc,GAAG,eAAe,CA8BlC"}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GuardHandler = void 0;
4
+ exports.UseGuards = UseGuards;
5
+ const keys_1 = require("../../constants/keys");
6
+ const get_class_methods_1 = require("../../utils/class/get-class-methods");
7
+ const api_exception_1 = require("../../exceptions/api-exception");
8
+ class GuardHandler {
9
+ static getClassMetadata(target) {
10
+ return Reflect.getOwnMetadata(keys_1.GUARD_KEY, target);
11
+ }
12
+ static getMethodMetadata(target, propertyKey) {
13
+ // First check if metadata exists directly on the target (method-level decorator)
14
+ let metadata = Reflect.getOwnMetadata(keys_1.GUARD_KEY, target, propertyKey);
15
+ // If not found, check on the constructor prototype (class-level decorator)
16
+ if (!metadata && target.constructor) {
17
+ metadata = Reflect.getOwnMetadata(keys_1.GUARD_KEY, target.constructor.prototype, propertyKey);
18
+ }
19
+ return metadata;
20
+ }
21
+ static register(container, target) {
22
+ const metadata = GuardHandler.getClassMetadata(target);
23
+ if (metadata && metadata?.guards?.length !== 0) {
24
+ const { guards } = metadata;
25
+ guards.forEach((guard) => {
26
+ GuardHandler._register(container, guard);
27
+ });
28
+ }
29
+ // Register method guards
30
+ const methodNames = (0, get_class_methods_1.getClassMethods)(target);
31
+ methodNames.forEach((methodName) => {
32
+ const methodMetadata = Reflect.getOwnMetadata(keys_1.GUARD_KEY, target.prototype, methodName);
33
+ if (methodMetadata) {
34
+ methodMetadata.guards.forEach((guard) => {
35
+ GuardHandler._register(container, guard);
36
+ });
37
+ }
38
+ });
39
+ }
40
+ static async fetch(container, target, methodName) {
41
+ const guards = [];
42
+ const metadata = GuardHandler.getClassMetadata(target.constructor);
43
+ if (metadata && metadata.guards.length > 0) {
44
+ guards.push(...(await Promise.all(metadata.guards.map((guard) => GuardHandler._fetch(container, guard)))));
45
+ }
46
+ const methodMetadata = GuardHandler.getMethodMetadata(target, methodName);
47
+ if (methodMetadata) {
48
+ guards.push(...(await Promise.all(methodMetadata.guards.map((guard) => GuardHandler._fetch(container, guard)))));
49
+ }
50
+ return guards;
51
+ }
52
+ /**
53
+ * Execute guards in sequence. If any guard returns false, throws ForbiddenApiException.
54
+ * Guards execute in order: global guards -> class guards -> method guards
55
+ */
56
+ static async execute(executionContext, guards) {
57
+ for (const guard of guards) {
58
+ const canActivate = await guard.canActivate(executionContext);
59
+ if (!canActivate) {
60
+ throw new api_exception_1.ForbiddenApiException('Forbidden resource');
61
+ }
62
+ }
63
+ return true;
64
+ }
65
+ static async _fetch(container, guard) {
66
+ if (typeof guard === 'function') {
67
+ return container.getAsync(guard);
68
+ }
69
+ return container.getAsync(guard.constructor);
70
+ }
71
+ static _register(container, guard) {
72
+ // If it's a class constructor (function), register it in the container
73
+ if (typeof guard === 'function') {
74
+ if (!container.isBound(guard)) {
75
+ container.bind(guard).toSelf().inSingletonScope();
76
+ }
77
+ }
78
+ else {
79
+ // If it's an instance, bind it to its constructor class as a constant value
80
+ container.bind(guard.constructor).toConstantValue(guard);
81
+ }
82
+ }
83
+ }
84
+ exports.GuardHandler = GuardHandler;
85
+ /**
86
+ * Decorator that binds guards to the scope of the controller or method,
87
+ * depending on its context.
88
+ *
89
+ * When `@UseGuards` is used at the controller level, the guard will be
90
+ * applied to every handler (method) in the controller.
91
+ *
92
+ * When `@UseGuards` is used at the individual handler level, the guard
93
+ * will apply only to that specific method.
94
+ *
95
+ * @param guards a single guard instance or class, or a list of guard instances
96
+ * or classes.
97
+ *
98
+ * @see [Guards](https://docs.nestjs.com/guards)
99
+ *
100
+ * @usageNotes
101
+ * Guards can also be set up globally for all controllers and routes
102
+ * using `app.useGlobalGuards()` or by registering via module providers
103
+ * with the `APP_GUARD` token.
104
+ *
105
+ * @publicApi
106
+ */
107
+ function UseGuards(...guards) {
108
+ return (target, propertyKey, descriptor) => {
109
+ if (descriptor && propertyKey) {
110
+ // Method decorator
111
+ Reflect.defineMetadata(keys_1.GUARD_KEY, { guards }, target, propertyKey);
112
+ return descriptor;
113
+ }
114
+ else {
115
+ // Class decorator
116
+ const methodNames = (0, get_class_methods_1.getClassMethods)(target);
117
+ // Store class-level guards metadata
118
+ Reflect.defineMetadata(keys_1.GUARD_KEY, { guards }, target);
119
+ // Process each method and store guards metadata
120
+ methodNames.forEach((methodName) => {
121
+ Reflect.defineMetadata(keys_1.GUARD_KEY, { guards }, target.prototype, methodName);
122
+ });
123
+ return target;
124
+ }
125
+ };
126
+ }
127
+ //# sourceMappingURL=use-guards-decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-guards-decorator.js","sourceRoot":"","sources":["../../../src/guards/decorators/use-guards-decorator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './can-activate';
2
+ export * from './decorators';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/guards/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./can-activate"), exports);
18
+ __exportStar(require("./decorators"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/guards/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA8B;AAC9B,+CAA4B"}
package/dist/index.d.ts CHANGED
@@ -3,17 +3,22 @@ export * from './constants';
3
3
  export * from './utils/apply-decorators';
4
4
  export * from './context';
5
5
  export * from './exceptions';
6
+ export * from './guards';
6
7
  export * from './interceptor';
7
8
  export * from './logger';
8
9
  export * from './controllers';
9
10
  export * from './dependency-injection';
10
11
  export * from './modules';
12
+ export * from './middleware';
11
13
  export * from './pipes';
12
14
  export * from './server';
13
15
  export * from './zod';
14
16
  export { REQUEST } from './services/request';
17
+ export { APP_GUARD } from './services/guards';
15
18
  export { APP_INTERCEPTOR } from './services/interceptor';
16
19
  export { APP_FILTER } from './services/filters';
17
20
  export { APP_PIPE } from './services/pipes';
18
21
  export { FetchModuleOptions, HttpService } from './services/http-service';
22
+ export { APP_MIDDLEWARE } from './services/middleware';
23
+ export { CLASS_NAME_KEY } from './constants/keys';
19
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAA;AAEzB,cAAc,aAAa,CAAA;AAC3B,cAAc,0BAA0B,CAAA;AACxC,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,OAAO,CAAA;AAGrB,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAA;AAEzB,cAAc,aAAa,CAAA;AAC3B,cAAc,0BAA0B,CAAA;AACxC,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,OAAO,CAAA;AAGrB,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA"}
package/dist/index.js CHANGED
@@ -16,23 +16,27 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
17
17
  };
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.HttpService = exports.APP_PIPE = exports.APP_FILTER = exports.APP_INTERCEPTOR = exports.REQUEST = void 0;
19
+ exports.CLASS_NAME_KEY = exports.APP_MIDDLEWARE = exports.HttpService = exports.APP_PIPE = exports.APP_FILTER = exports.APP_INTERCEPTOR = exports.APP_GUARD = exports.REQUEST = void 0;
20
20
  require("reflect-metadata");
21
21
  __exportStar(require("./constants"), exports);
22
22
  __exportStar(require("./utils/apply-decorators"), exports);
23
23
  __exportStar(require("./context"), exports);
24
24
  __exportStar(require("./exceptions"), exports);
25
+ __exportStar(require("./guards"), exports);
25
26
  __exportStar(require("./interceptor"), exports);
26
27
  __exportStar(require("./logger"), exports);
27
28
  __exportStar(require("./controllers"), exports);
28
29
  __exportStar(require("./dependency-injection"), exports);
29
30
  __exportStar(require("./modules"), exports);
31
+ __exportStar(require("./middleware"), exports);
30
32
  __exportStar(require("./pipes"), exports);
31
33
  __exportStar(require("./server"), exports);
32
34
  __exportStar(require("./zod"), exports);
33
35
  // Services
34
36
  var request_1 = require("./services/request");
35
37
  Object.defineProperty(exports, "REQUEST", { enumerable: true, get: function () { return request_1.REQUEST; } });
38
+ var guards_1 = require("./services/guards");
39
+ Object.defineProperty(exports, "APP_GUARD", { enumerable: true, get: function () { return guards_1.APP_GUARD; } });
36
40
  var interceptor_1 = require("./services/interceptor");
37
41
  Object.defineProperty(exports, "APP_INTERCEPTOR", { enumerable: true, get: function () { return interceptor_1.APP_INTERCEPTOR; } });
38
42
  var filters_1 = require("./services/filters");
@@ -41,4 +45,8 @@ var pipes_1 = require("./services/pipes");
41
45
  Object.defineProperty(exports, "APP_PIPE", { enumerable: true, get: function () { return pipes_1.APP_PIPE; } });
42
46
  var http_service_1 = require("./services/http-service");
43
47
  Object.defineProperty(exports, "HttpService", { enumerable: true, get: function () { return http_service_1.HttpService; } });
48
+ var middleware_1 = require("./services/middleware");
49
+ Object.defineProperty(exports, "APP_MIDDLEWARE", { enumerable: true, get: function () { return middleware_1.APP_MIDDLEWARE; } });
50
+ var keys_1 = require("./constants/keys");
51
+ Object.defineProperty(exports, "CLASS_NAME_KEY", { enumerable: true, get: function () { return keys_1.CLASS_NAME_KEY; } });
44
52
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,0DAA0D;AAC1D,sEAAsE;;;;;;;;;;;;;;;;;AAEtE,4BAAyB;AAEzB,8CAA2B;AAC3B,2DAAwC;AACxC,4CAAyB;AACzB,+CAA4B;AAC5B,gDAA6B;AAC7B,2CAAwB;AACxB,gDAA6B;AAC7B,yDAAsC;AACtC,4CAAyB;AACzB,0CAAuB;AACvB,2CAAwB;AACxB,wCAAqB;AAErB,WAAW;AACX,8CAA4C;AAAnC,kGAAA,OAAO,OAAA;AAChB,sDAAwD;AAA/C,8GAAA,eAAe,OAAA;AACxB,8CAA+C;AAAtC,qGAAA,UAAU,OAAA;AACnB,0CAA2C;AAAlC,iGAAA,QAAQ,OAAA;AACjB,wDAAyE;AAA5C,2GAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,0DAA0D;AAC1D,sEAAsE;;;;;;;;;;;;;;;;;AAEtE,4BAAyB;AAEzB,8CAA2B;AAC3B,2DAAwC;AACxC,4CAAyB;AACzB,+CAA4B;AAC5B,2CAAwB;AACxB,gDAA6B;AAC7B,2CAAwB;AACxB,gDAA6B;AAC7B,yDAAsC;AACtC,4CAAyB;AACzB,+CAA4B;AAC5B,0CAAuB;AACvB,2CAAwB;AACxB,wCAAqB;AAErB,WAAW;AACX,8CAA4C;AAAnC,kGAAA,OAAO,OAAA;AAChB,4CAA6C;AAApC,mGAAA,SAAS,OAAA;AAClB,sDAAwD;AAA/C,8GAAA,eAAe,OAAA;AACxB,8CAA+C;AAAtC,qGAAA,UAAU,OAAA;AACnB,0CAA2C;AAAlC,iGAAA,QAAQ,OAAA;AACjB,wDAAyE;AAA5C,2GAAA,WAAW,OAAA;AACxC,oDAAsD;AAA7C,4GAAA,cAAc,OAAA;AACvB,yCAAiD;AAAxC,sGAAA,cAAc,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-interceptor-decorator.d.ts","sourceRoot":"","sources":["../../../src/interceptor/decorators/use-interceptor-decorator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAEvD,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,CAAA;CACnD,CAAA;AAED,qBAAa,kBAAkB;IAC7B,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB;WAQ1C,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM;WAoB7C,KAAK,CAChB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,EAAE,CAAC;WAmBZ,OAAO,CAClB,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,WAAW,EAAE,EAC1B,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC;CA2B7B;AAED,wBAAgB,eAAe,CAC7B,GAAG,YAAY,EAAE,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,GACpD,cAAc,CAUhB"}
1
+ {"version":3,"file":"use-interceptor-decorator.d.ts","sourceRoot":"","sources":["../../../src/interceptor/decorators/use-interceptor-decorator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAEvD,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,CAAA;CACnD,CAAA;AAED,qBAAa,kBAAkB;IAC7B,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB;WAQ1C,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM;WAoB7C,KAAK,CAChB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,EAAE,CAAC;WAmBZ,OAAO,CAClB,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,WAAW,EAAE,EAC1B,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC;CAqB7B;AAED,wBAAgB,eAAe,CAC7B,GAAG,YAAY,EAAE,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,GACpD,cAAc,CAUhB"}
@@ -47,23 +47,15 @@ class InterceptorHandler {
47
47
  if (middlewares.length === 0) {
48
48
  return await action();
49
49
  }
50
- let i = 0;
51
- const next = {
50
+ const createNext = (i) => ({
52
51
  handle: async () => {
53
52
  if (i >= middlewares.length) {
54
53
  return await action();
55
54
  }
56
- const layer = middlewares[i++];
57
- try {
58
- return await layer.intercept(executionContext, next);
59
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
60
- }
61
- catch (error) {
62
- return await next.handle();
63
- }
55
+ return await middlewares[i].intercept(executionContext, createNext(i + 1));
64
56
  }
65
- };
66
- return await next.handle();
57
+ });
58
+ return await createNext(0).handle();
67
59
  }
68
60
  }
69
61
  exports.InterceptorHandler = InterceptorHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"use-interceptor-decorator.js","sourceRoot":"","sources":["../../../src/interceptor/decorators/use-interceptor-decorator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-interceptor-decorator.js","sourceRoot":"","sources":["../../../src/interceptor/decorators/use-interceptor-decorator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"console-logger.d.ts","sourceRoot":"","sources":["../../src/logger/console-logger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAY1D,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAA;CACvB,CAAA;AAED,qBACa,aAAc,YAAW,aAAa;IACjD,SAAS,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAqB;IAEpD,SAAS,CAAC,OAAO,EAAE,oBAAoB,CAAA;gBAEd,OAAO,CAAC,EAAE,oBAAoB;IAQvD,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,IAAI;IAIjD,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,IAAI;IAInD,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,IAAI;IAInD,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,IAAI;IAIlD,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,IAAI;IAIpD,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,IAAI;IAItD;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE;IAO/B,SAAS,CAAC,YAAY,CACpB,KAAK,EAAE,MAAM,YAAQ,EACrB,OAAO,EAAE,GAAG,EACZ,eAAe,GAAE,QAAQ,GAAG,QAAmB,GAC9C,IAAI;IAMP,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,MAAM;CAM7D"}
1
+ {"version":3,"file":"console-logger.d.ts","sourceRoot":"","sources":["../../src/logger/console-logger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAY1D,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAA;CACvB,CAAA;AAED,qBACa,aAAc,YAAW,aAAa;IACjD,SAAS,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAqB;IAEpD,SAAS,CAAC,OAAO,EAAE,oBAAoB,CAAA;gBAEd,OAAO,CAAC,EAAE,oBAAoB;IAQvD,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,IAAI;IAIjD,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,IAAI;IAInD,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,IAAI;IAInD,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,IAAI;IAIlD,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,IAAI;IAIpD,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,IAAI;IAItD;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE;IAO/B,SAAS,CAAC,YAAY,CACpB,KAAK,EAAE,MAAM,YAAQ,EACrB,OAAO,EAAE,GAAG,EACZ,eAAe,GAAE,QAAQ,GAAG,QAAmB,GAC9C,IAAI;IAcP,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,MAAM;CAM7D"}
@@ -60,6 +60,12 @@ let ConsoleLogger = class ConsoleLogger {
60
60
  this.options.logLevels = levels;
61
61
  }
62
62
  printMessage(level = 'log', message, writeStreamType = 'stdout') {
63
+ // Always log error and fatal levels, regardless of configuration
64
+ const isErrorLevel = level === 'error' || level === 'fatal';
65
+ const isLevelEnabled = this.options.logLevels?.includes(level);
66
+ if (!isErrorLevel && !isLevelEnabled) {
67
+ return;
68
+ }
63
69
  const logLevel = level.toUpperCase();
64
70
  process[writeStreamType].write(this.formatMessage(logLevel, message));
65
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"console-logger.js","sourceRoot":"","sources":["../../src/logger/console-logger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yCAAiD;AAEjD,qCAAiC;AAEjC,MAAM,kBAAkB,GAAe;IACrC,KAAK;IACL,OAAO;IACP,MAAM;IACN,OAAO;IACP,SAAS;IACT,OAAO;CACR,CAAA;AAQM,IAAM,aAAa,GAAnB,MAAM,aAAa;IAKxB,YAAyB,OAA8B;QAJ7C,cAAS,GAAe,kBAAkB,CAAA;QAKlD,OAAO,GAAG,OAAO,IAAI,EAAE,CAAA;QACvB,OAAO,CAAC,SAAS,GAAG,kBAAkB,CAAA;QACtC,OAAO,CAAC,MAAM,KAAK,WAAW,CAAA;QAE9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,GAAG,CAAC,OAAY,EAAE,GAAG,cAAqB;QACxC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,CAAA;IACtD,CAAC;IAED,KAAK,CAAC,OAAY,EAAE,GAAG,cAAqB;QAC1C,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,CAAA;IACxD,CAAC;IAED,KAAK,CAAC,OAAY,EAAE,GAAG,cAAqB;QAC1C,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,CAAA;IACxD,CAAC;IAED,IAAI,CAAC,OAAY,EAAE,GAAG,cAAqB;QACzC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,CAAA;IACvD,CAAC;IAED,KAAK,CAAE,OAAY,EAAE,GAAG,cAAqB;QAC3C,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,CAAA;IACxD,CAAC;IAED,OAAO,CAAE,OAAY,EAAE,GAAG,cAAqB;QAC7C,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,CAAA;IAC1D,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,MAAkB;QAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACnB,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAA;IACjC,CAAC;IAES,YAAY,CACpB,QAAgB,KAAK,EACrB,OAAY,EACZ,kBAAuC,QAAQ;QAE/C,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;QAEpC,OAAO,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;IACvE,CAAC;IAES,aAAa,CAAC,KAAa,EAAE,OAAY;QACjD,MAAM,SAAS,GAAG,eAAM,CAAC,YAAY,EAAE,CAAA;QACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;QAEpC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,OAAO,SAAS,KAAK,QAAQ,KAAK,OAAO,IAAI,CAAA;IAC7E,CAAC;CACF,CAAA;AAhEY,sCAAa;wBAAb,aAAa;IADzB,IAAA,sBAAU,GAAE;IAME,WAAA,IAAA,qBAAS,GAAE,CAAA;;GALb,aAAa,CAgEzB"}
1
+ {"version":3,"file":"console-logger.js","sourceRoot":"","sources":["../../src/logger/console-logger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yCAAiD;AAEjD,qCAAiC;AAEjC,MAAM,kBAAkB,GAAe;IACrC,KAAK;IACL,OAAO;IACP,MAAM;IACN,OAAO;IACP,SAAS;IACT,OAAO;CACR,CAAA;AAQM,IAAM,aAAa,GAAnB,MAAM,aAAa;IAKxB,YAAyB,OAA8B;QAJ7C,cAAS,GAAe,kBAAkB,CAAA;QAKlD,OAAO,GAAG,OAAO,IAAI,EAAE,CAAA;QACvB,OAAO,CAAC,SAAS,GAAG,kBAAkB,CAAA;QACtC,OAAO,CAAC,MAAM,KAAK,WAAW,CAAA;QAE9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,GAAG,CAAC,OAAY,EAAE,GAAG,cAAqB;QACxC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,CAAA;IACtD,CAAC;IAED,KAAK,CAAC,OAAY,EAAE,GAAG,cAAqB;QAC1C,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,CAAA;IACxD,CAAC;IAED,KAAK,CAAC,OAAY,EAAE,GAAG,cAAqB;QAC1C,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,CAAA;IACxD,CAAC;IAED,IAAI,CAAC,OAAY,EAAE,GAAG,cAAqB;QACzC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,CAAA;IACvD,CAAC;IAED,KAAK,CAAE,OAAY,EAAE,GAAG,cAAqB;QAC3C,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,CAAA;IACxD,CAAC;IAED,OAAO,CAAE,OAAY,EAAE,GAAG,cAAqB;QAC7C,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,CAAA;IAC1D,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,MAAkB;QAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACnB,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAA;IACjC,CAAC;IAES,YAAY,CACpB,QAAgB,KAAK,EACrB,OAAY,EACZ,kBAAuC,QAAQ;QAE/C,iEAAiE;QACjE,MAAM,YAAY,GAAG,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,OAAO,CAAA;QAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAiB,CAAC,CAAA;QAE1E,IAAI,CAAC,YAAY,IAAI,CAAC,cAAc,EAAE,CAAC;YACrC,OAAM;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;QAEpC,OAAO,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;IACvE,CAAC;IAES,aAAa,CAAC,KAAa,EAAE,OAAY;QACjD,MAAM,SAAS,GAAG,eAAM,CAAC,YAAY,EAAE,CAAA;QACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;QAEpC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,OAAO,SAAS,KAAK,QAAQ,KAAK,OAAO,IAAI,CAAA;IAC7E,CAAC;CACF,CAAA;AAxEY,sCAAa;wBAAb,aAAa;IADzB,IAAA,sBAAU,GAAE;IAME,WAAA,IAAA,qBAAS,GAAE,CAAA;;GALb,aAAa,CAwEzB"}
@@ -0,0 +1,3 @@
1
+ export * from './middleware';
2
+ export * from './middleware-handler';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/middleware/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,sBAAsB,CAAA"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./middleware"), exports);
18
+ __exportStar(require("./middleware-handler"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/middleware/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,uDAAoC"}
@@ -0,0 +1,6 @@
1
+ import { NextRequest } from 'next/server';
2
+ import { Middleware } from './middleware';
3
+ export declare class MiddlewareHandler {
4
+ static execute(request: NextRequest, middlewares: Middleware[], action: () => Promise<Response>): Promise<Response>;
5
+ }
6
+ //# sourceMappingURL=middleware-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware-handler.d.ts","sourceRoot":"","sources":["../../src/middleware/middleware-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,UAAU,EAAkB,MAAM,cAAc,CAAA;AAEzD,qBAAa,iBAAiB;WACf,OAAO,CAClB,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,UAAU,EAAE,EACzB,MAAM,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,GAC9B,OAAO,CAAC,QAAQ,CAAC;CAerB"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MiddlewareHandler = void 0;
4
+ class MiddlewareHandler {
5
+ static async execute(request, middlewares, action) {
6
+ if (middlewares.length === 0) {
7
+ return await action();
8
+ }
9
+ const createNext = (i) => async () => {
10
+ if (i >= middlewares.length) {
11
+ return await action();
12
+ }
13
+ return await middlewares[i].use(request, createNext(i + 1));
14
+ };
15
+ return await createNext(0)();
16
+ }
17
+ }
18
+ exports.MiddlewareHandler = MiddlewareHandler;
19
+ //# sourceMappingURL=middleware-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware-handler.js","sourceRoot":"","sources":["../../src/middleware/middleware-handler.ts"],"names":[],"mappings":";;;AAGA,MAAa,iBAAiB;IAC5B,MAAM,CAAC,KAAK,CAAC,OAAO,CAClB,OAAoB,EACpB,WAAyB,EACzB,MAA+B;QAE/B,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,MAAM,MAAM,EAAE,CAAA;QACvB,CAAC;QAED,MAAM,UAAU,GAAG,CAAC,CAAS,EAAkB,EAAE,CAAC,KAAK,IAAI,EAAE;YAC3D,IAAI,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;gBAC5B,OAAO,MAAM,MAAM,EAAE,CAAA;YACvB,CAAC;YAED,OAAO,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAC7D,CAAC,CAAA;QAED,OAAO,MAAM,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9B,CAAC;CACF;AApBD,8CAoBC"}
@@ -0,0 +1,6 @@
1
+ import { NextRequest } from 'next/server';
2
+ export type MiddlewareNext = () => Promise<Response>;
3
+ export declare abstract class Middleware {
4
+ abstract use(request: NextRequest, next: MiddlewareNext): Promise<Response>;
5
+ }
6
+ //# sourceMappingURL=middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/middleware/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEpD,8BAAsB,UAAU;IAC9B,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;CAC5E"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Middleware = void 0;
4
+ class Middleware {
5
+ }
6
+ exports.Middleware = Middleware;
7
+ //# sourceMappingURL=middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/middleware/middleware.ts"],"names":[],"mappings":";;;AAIA,MAAsB,UAAU;CAE/B;AAFD,gCAEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"module-decorator.d.ts","sourceRoot":"","sources":["../../src/modules/module-decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,iBAAiB,EAAE,MAAM,WAAW,CAAA;AACjE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AASlD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAK1C,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAA;AAIxE,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,GAAG,IAAI,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;AAEtE,KAAK,QAAQ,GACT;IACE,OAAO,EAAE,cAAc,CAAA;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAC/D,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GACD,KAAK,CAAA;AAET,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,CAAC,EAAE,KAAK,EAAE,CAAA;IACjB,WAAW,CAAC,EAAE,KAAK,EAAE,CAAA;IACrB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG;IAC3C,UAAU,EAAE,KAAK,CAAA;CAClB,CAAA;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,QAAQ,EAChB,OAAO,GAAE,GAAG,CAAC,QAAQ,CAAa,GACjC,cAAc,EAAE,CAmClB;AAED,wBAAgB,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,cAAc,CA+C9D"}
1
+ {"version":3,"file":"module-decorator.d.ts","sourceRoot":"","sources":["../../src/modules/module-decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,iBAAiB,EAAE,MAAM,WAAW,CAAA;AACjE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AASlD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAK1C,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAA;AAsBxE,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,GAAG,IAAI,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;AAEtE,KAAK,QAAQ,GACT;IACE,OAAO,EAAE,cAAc,CAAA;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAC/D,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GACD,KAAK,CAAA;AAET,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,CAAC,EAAE,KAAK,EAAE,CAAA;IACjB,WAAW,CAAC,EAAE,KAAK,EAAE,CAAA;IACrB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG;IAC3C,UAAU,EAAE,KAAK,CAAA;CAClB,CAAA;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,QAAQ,EAChB,OAAO,GAAE,GAAG,CAAC,QAAQ,CAAa,GACjC,cAAc,EAAE,CAmClB;AAED,wBAAgB,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,cAAc,CA+C9D"}
@@ -10,6 +10,23 @@ const use_interceptor_decorator_1 = require("../interceptor/decorators/use-inter
10
10
  const logger_1 = require("../logger/logger");
11
11
  const use_pipes_1 = require("../pipes/decorators/use-pipes");
12
12
  const use_filters_decorator_1 = require("../exceptions/decorators/use-filters-decorator");
13
+ const filters_1 = require("../services/filters");
14
+ const guards_1 = require("../services/guards");
15
+ const interceptor_1 = require("../services/interceptor");
16
+ const middleware_1 = require("../services/middleware");
17
+ const pipes_1 = require("../services/pipes");
18
+ /**
19
+ * Tokens that support multiple bindings (accumulated via getAllAsync).
20
+ * These are NOT overridden when re-provided - they accumulate like NestJS.
21
+ * All other tokens follow "last provider wins" override semantics.
22
+ */
23
+ const MULTI_PROVIDER_TOKENS = new Set([
24
+ filters_1.APP_FILTER,
25
+ guards_1.APP_GUARD,
26
+ interceptor_1.APP_INTERCEPTOR,
27
+ middleware_1.APP_MIDDLEWARE,
28
+ pipes_1.APP_PIPE
29
+ ]);
13
30
  function moduleHandler(target, visited = new Set()) {
14
31
  // Prevent infinite recursion by tracking visited modules
15
32
  if (visited.has(target)) {
@@ -84,7 +101,10 @@ function registerProvider(container, provider) {
84
101
  registerProviderObject(container, provider);
85
102
  }
86
103
  else {
87
- // If not, it's a simple class type
104
+ // Simple class type - override if already bound (NestJS-style "last wins")
105
+ if (container.isBound(provider)) {
106
+ container.unbind(provider);
107
+ }
88
108
  container.bind(provider).to(provider);
89
109
  }
90
110
  }
@@ -100,6 +120,12 @@ function registerProviderObject(container, provider) {
100
120
  return;
101
121
  }
102
122
  const { provide, useClass, useValue, useFactory, scope } = provider;
123
+ // Multi-provider tokens (APP_FILTER, APP_GUARD, etc.) accumulate bindings.
124
+ // All other tokens follow "last provider wins" - override if already bound.
125
+ const isMultiProvider = typeof provide === 'symbol' && MULTI_PROVIDER_TOKENS.has(provide);
126
+ if (!isMultiProvider && container.isBound(provide)) {
127
+ container.unbind(provide);
128
+ }
103
129
  const bind = container.bind(provide);
104
130
  if (useClass) {
105
131
  registerScope(bind.to(useClass), scope);
@@ -1 +1 @@
1
- {"version":3,"file":"module-decorator.js","sourceRoot":"","sources":["../../src/modules/module-decorator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module-decorator.js","sourceRoot":"","sources":["../../src/modules/module-decorator.ts"],"names":[],"mappings":"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"}
@@ -52,7 +52,7 @@ class PipeHandler {
52
52
  static async execute(target, propertyKey, pipes, args) {
53
53
  const metadata = route_decorator_1.RouteHandler.getMetadata(target.constructor, propertyKey);
54
54
  if (pipes.length === 0) {
55
- return args;
55
+ return args.map((arg) => arg.parameter);
56
56
  }
57
57
  // Get paramTypes from route metadata (which contains the method parameter types)
58
58
  const paramTypes = metadata?.paramTypes || [];
@@ -1 +1 @@
1
- {"version":3,"file":"use-pipes.js","sourceRoot":"","sources":["../../../src/pipes/decorators/use-pipes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-pipes.js","sourceRoot":"","sources":["../../../src/pipes/decorators/use-pipes.ts"],"names":[],"mappings":"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"}