@nestjs/core 11.1.16 → 12.0.0-alpha.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 (343) hide show
  1. package/adapters/http-adapter.d.ts +5 -3
  2. package/adapters/http-adapter.js +8 -5
  3. package/adapters/index.d.ts +1 -1
  4. package/adapters/index.js +1 -4
  5. package/application-config.d.ts +7 -4
  6. package/application-config.js +20 -15
  7. package/constants.d.ts +1 -1
  8. package/constants.js +10 -13
  9. package/discovery/discoverable-meta-host-collection.d.ts +3 -3
  10. package/discovery/discoverable-meta-host-collection.js +15 -19
  11. package/discovery/discovery-module.js +9 -12
  12. package/discovery/discovery-service.d.ts +4 -4
  13. package/discovery/discovery-service.js +17 -19
  14. package/discovery/index.d.ts +2 -2
  15. package/discovery/index.js +2 -5
  16. package/errors/exception-handler.js +3 -7
  17. package/errors/exceptions/circular-dependency.exception.d.ts +1 -1
  18. package/errors/exceptions/circular-dependency.exception.js +2 -6
  19. package/errors/exceptions/index.d.ts +8 -8
  20. package/errors/exceptions/index.js +8 -11
  21. package/errors/exceptions/invalid-class-module.exception.d.ts +1 -1
  22. package/errors/exceptions/invalid-class-module.exception.js +4 -8
  23. package/errors/exceptions/invalid-class-scope.exception.d.ts +2 -2
  24. package/errors/exceptions/invalid-class-scope.exception.js +6 -10
  25. package/errors/exceptions/invalid-class.exception.d.ts +1 -1
  26. package/errors/exceptions/invalid-class.exception.js +4 -8
  27. package/errors/exceptions/invalid-exception-filter.exception.d.ts +1 -1
  28. package/errors/exceptions/invalid-exception-filter.exception.js +4 -8
  29. package/errors/exceptions/invalid-middleware-configuration.exception.d.ts +1 -1
  30. package/errors/exceptions/invalid-middleware-configuration.exception.js +4 -8
  31. package/errors/exceptions/invalid-middleware.exception.d.ts +1 -1
  32. package/errors/exceptions/invalid-middleware.exception.js +4 -8
  33. package/errors/exceptions/invalid-module.exception.d.ts +1 -1
  34. package/errors/exceptions/invalid-module.exception.js +4 -8
  35. package/errors/exceptions/runtime.exception.js +1 -5
  36. package/errors/exceptions/undefined-dependency.exception.d.ts +3 -3
  37. package/errors/exceptions/undefined-dependency.exception.js +4 -8
  38. package/errors/exceptions/undefined-forwardref.exception.d.ts +2 -2
  39. package/errors/exceptions/undefined-forwardref.exception.js +4 -8
  40. package/errors/exceptions/undefined-module.exception.d.ts +1 -1
  41. package/errors/exceptions/undefined-module.exception.js +4 -8
  42. package/errors/exceptions/unknown-dependencies.exception.d.ts +3 -3
  43. package/errors/exceptions/unknown-dependencies.exception.js +8 -8
  44. package/errors/exceptions/unknown-element.exception.d.ts +1 -1
  45. package/errors/exceptions/unknown-element.exception.js +2 -6
  46. package/errors/exceptions/unknown-export.exception.d.ts +1 -1
  47. package/errors/exceptions/unknown-export.exception.js +4 -8
  48. package/errors/exceptions/unknown-module.exception.d.ts +1 -1
  49. package/errors/exceptions/unknown-module.exception.js +2 -6
  50. package/errors/exceptions/unknown-request-mapping.exception.d.ts +1 -1
  51. package/errors/exceptions/unknown-request-mapping.exception.js +4 -8
  52. package/errors/exceptions-zone.js +6 -10
  53. package/errors/messages.d.ts +2 -2
  54. package/errors/messages.js +20 -36
  55. package/exceptions/base-exception-filter-context.d.ts +6 -7
  56. package/exceptions/base-exception-filter-context.js +13 -16
  57. package/exceptions/base-exception-filter.d.ts +4 -4
  58. package/exceptions/base-exception-filter.js +33 -23
  59. package/exceptions/exceptions-handler.d.ts +4 -4
  60. package/exceptions/exceptions-handler.js +8 -16
  61. package/exceptions/external-exception-filter-context.d.ts +8 -8
  62. package/exceptions/external-exception-filter-context.js +14 -18
  63. package/exceptions/external-exception-filter.d.ts +1 -1
  64. package/exceptions/external-exception-filter.js +4 -8
  65. package/exceptions/external-exceptions-handler.d.ts +3 -3
  66. package/exceptions/external-exceptions-handler.js +8 -16
  67. package/exceptions/index.d.ts +1 -1
  68. package/exceptions/index.js +1 -4
  69. package/guards/constants.js +1 -4
  70. package/guards/guards-consumer.d.ts +4 -3
  71. package/guards/guards-consumer.js +8 -12
  72. package/guards/guards-context-creator.d.ts +11 -10
  73. package/guards/guards-context-creator.js +18 -20
  74. package/guards/index.d.ts +3 -3
  75. package/guards/index.js +3 -6
  76. package/helpers/barrier.js +5 -5
  77. package/helpers/context-creator.d.ts +2 -2
  78. package/helpers/context-creator.js +3 -7
  79. package/helpers/context-id-factory.d.ts +1 -1
  80. package/helpers/context-id-factory.js +10 -14
  81. package/helpers/context-utils.d.ts +6 -3
  82. package/helpers/context-utils.js +7 -12
  83. package/helpers/execution-context-host.d.ts +3 -3
  84. package/helpers/execution-context-host.js +5 -6
  85. package/helpers/external-context-creator.d.ts +15 -18
  86. package/helpers/external-context-creator.js +54 -43
  87. package/helpers/external-proxy.d.ts +2 -2
  88. package/helpers/external-proxy.js +3 -7
  89. package/helpers/get-class-scope.d.ts +2 -2
  90. package/helpers/get-class-scope.js +3 -6
  91. package/helpers/handler-metadata-storage.d.ts +4 -4
  92. package/helpers/handler-metadata-storage.js +7 -15
  93. package/helpers/http-adapter-host.d.ts +1 -1
  94. package/helpers/http-adapter-host.js +6 -11
  95. package/helpers/index.d.ts +3 -3
  96. package/helpers/index.js +3 -6
  97. package/helpers/interfaces/external-handler-metadata.interface.d.ts +2 -2
  98. package/helpers/interfaces/external-handler-metadata.interface.js +1 -2
  99. package/helpers/interfaces/index.d.ts +2 -2
  100. package/helpers/interfaces/index.js +2 -5
  101. package/helpers/interfaces/params-metadata.interface.d.ts +1 -1
  102. package/helpers/interfaces/params-metadata.interface.js +1 -2
  103. package/helpers/is-durable.d.ts +1 -1
  104. package/helpers/is-durable.js +3 -6
  105. package/helpers/load-adapter.d.ts +1 -1
  106. package/helpers/load-adapter.js +4 -7
  107. package/helpers/messages.d.ts +1 -1
  108. package/helpers/messages.js +10 -20
  109. package/helpers/optional-require.d.ts +1 -1
  110. package/helpers/optional-require.js +2 -5
  111. package/helpers/rethrow.js +1 -5
  112. package/helpers/router-method-factory.d.ts +2 -2
  113. package/helpers/router-method-factory.js +20 -24
  114. package/hooks/before-app-shutdown.hook.d.ts +3 -3
  115. package/hooks/before-app-shutdown.hook.js +15 -22
  116. package/hooks/index.d.ts +5 -5
  117. package/hooks/index.js +5 -8
  118. package/hooks/on-app-bootstrap.hook.d.ts +3 -3
  119. package/hooks/on-app-bootstrap.hook.js +15 -22
  120. package/hooks/on-app-shutdown.hook.d.ts +3 -3
  121. package/hooks/on-app-shutdown.hook.js +15 -22
  122. package/hooks/on-module-destroy.hook.d.ts +3 -3
  123. package/hooks/on-module-destroy.hook.js +15 -22
  124. package/hooks/on-module-init.hook.d.ts +3 -3
  125. package/hooks/on-module-init.hook.js +15 -22
  126. package/hooks/utils/get-instances-grouped-by-hierarchy-level.d.ts +3 -0
  127. package/hooks/utils/get-instances-grouped-by-hierarchy-level.js +27 -0
  128. package/hooks/utils/get-sorted-hierarchy-levels.d.ts +1 -0
  129. package/hooks/utils/get-sorted-hierarchy-levels.js +7 -0
  130. package/index.d.ts +16 -16
  131. package/index.js +17 -26
  132. package/injector/abstract-instance-resolver.d.ts +6 -6
  133. package/injector/abstract-instance-resolver.js +7 -11
  134. package/injector/compiler.d.ts +2 -2
  135. package/injector/compiler.js +2 -5
  136. package/injector/constants.d.ts +1 -1
  137. package/injector/constants.js +2 -5
  138. package/injector/container.d.ts +13 -14
  139. package/injector/container.js +40 -40
  140. package/injector/helpers/provider-classifier.d.ts +1 -1
  141. package/injector/helpers/provider-classifier.js +5 -10
  142. package/injector/helpers/silent-logger.js +9 -16
  143. package/injector/index.d.ts +6 -6
  144. package/injector/index.js +5 -8
  145. package/injector/injector.d.ts +7 -6
  146. package/injector/injector.js +78 -78
  147. package/injector/inquirer/index.d.ts +1 -1
  148. package/injector/inquirer/index.js +1 -4
  149. package/injector/inquirer/inquirer-constants.js +1 -4
  150. package/injector/inquirer/inquirer-providers.d.ts +1 -1
  151. package/injector/inquirer/inquirer-providers.js +5 -8
  152. package/injector/instance-links-host.d.ts +3 -3
  153. package/injector/instance-links-host.js +8 -11
  154. package/injector/instance-loader.d.ts +5 -5
  155. package/injector/instance-loader.js +11 -11
  156. package/injector/instance-wrapper.d.ts +8 -5
  157. package/injector/instance-wrapper.js +93 -74
  158. package/injector/internal-core-module/index.d.ts +1 -1
  159. package/injector/internal-core-module/index.js +1 -4
  160. package/injector/internal-core-module/internal-core-module-factory.d.ts +6 -6
  161. package/injector/internal-core-module/internal-core-module-factory.js +23 -27
  162. package/injector/internal-core-module/internal-core-module.d.ts +2 -2
  163. package/injector/internal-core-module/internal-core-module.js +17 -20
  164. package/injector/internal-providers-storage.d.ts +2 -2
  165. package/injector/internal-providers-storage.js +4 -9
  166. package/injector/lazy-module-loader/lazy-module-loader-options.interface.js +1 -2
  167. package/injector/lazy-module-loader/lazy-module-loader.d.ts +8 -8
  168. package/injector/lazy-module-loader/lazy-module-loader.js +10 -9
  169. package/injector/module-ref.d.ts +7 -7
  170. package/injector/module-ref.js +19 -20
  171. package/injector/module.d.ts +5 -5
  172. package/injector/module.js +93 -79
  173. package/injector/modules-container.d.ts +1 -1
  174. package/injector/modules-container.js +5 -12
  175. package/injector/opaque-key-factory/by-reference-module-opaque-key-factory.d.ts +2 -4
  176. package/injector/opaque-key-factory/by-reference-module-opaque-key-factory.js +6 -9
  177. package/injector/opaque-key-factory/deep-hashed-module-opaque-key-factory.d.ts +2 -3
  178. package/injector/opaque-key-factory/deep-hashed-module-opaque-key-factory.js +17 -22
  179. package/injector/opaque-key-factory/interfaces/module-opaque-key-factory.interface.d.ts +1 -3
  180. package/injector/opaque-key-factory/interfaces/module-opaque-key-factory.interface.js +1 -2
  181. package/injector/settlement-signal.js +5 -7
  182. package/injector/topology-tree/topology-tree.d.ts +1 -1
  183. package/injector/topology-tree/topology-tree.js +6 -9
  184. package/injector/topology-tree/tree-node.js +4 -6
  185. package/inspector/deterministic-uuid-registry.js +2 -6
  186. package/inspector/graph-inspector.d.ts +7 -7
  187. package/inspector/graph-inspector.js +10 -12
  188. package/inspector/index.d.ts +4 -4
  189. package/inspector/index.js +4 -7
  190. package/inspector/initialize-on-preview.allowlist.d.ts +1 -1
  191. package/inspector/initialize-on-preview.allowlist.js +2 -6
  192. package/inspector/interfaces/edge.interface.d.ts +1 -1
  193. package/inspector/interfaces/edge.interface.js +1 -2
  194. package/inspector/interfaces/enhancer-metadata-cache-entry.interface.d.ts +3 -3
  195. package/inspector/interfaces/enhancer-metadata-cache-entry.interface.js +1 -2
  196. package/inspector/interfaces/entrypoint.interface.d.ts +2 -2
  197. package/inspector/interfaces/entrypoint.interface.js +1 -2
  198. package/inspector/interfaces/extras.interface.d.ts +1 -1
  199. package/inspector/interfaces/extras.interface.js +1 -2
  200. package/inspector/interfaces/node.interface.d.ts +2 -2
  201. package/inspector/interfaces/node.interface.js +1 -2
  202. package/inspector/interfaces/serialized-graph-json.interface.d.ts +6 -6
  203. package/inspector/interfaces/serialized-graph-json.interface.js +1 -2
  204. package/inspector/interfaces/serialized-graph-metadata.interface.d.ts +1 -1
  205. package/inspector/interfaces/serialized-graph-metadata.interface.js +1 -2
  206. package/inspector/noop-graph-inspector.d.ts +1 -1
  207. package/inspector/noop-graph-inspector.js +2 -5
  208. package/inspector/partial-graph.host.d.ts +2 -2
  209. package/inspector/partial-graph.host.js +2 -5
  210. package/inspector/serialized-graph.d.ts +7 -7
  211. package/inspector/serialized-graph.js +35 -40
  212. package/inspector/uuid-factory.js +8 -12
  213. package/interceptors/index.d.ts +2 -2
  214. package/interceptors/index.js +2 -5
  215. package/interceptors/interceptors-consumer.d.ts +4 -3
  216. package/interceptors/interceptors-consumer.js +13 -17
  217. package/interceptors/interceptors-context-creator.d.ts +10 -9
  218. package/interceptors/interceptors-context-creator.js +18 -20
  219. package/interfaces/index.d.ts +2 -0
  220. package/interfaces/index.js +2 -0
  221. package/interfaces/module-definition.interface.d.ts +2 -2
  222. package/interfaces/module-definition.interface.js +1 -2
  223. package/interfaces/module-override.interface.d.ts +1 -1
  224. package/interfaces/module-override.interface.js +1 -2
  225. package/internal.d.ts +38 -0
  226. package/internal.js +46 -0
  227. package/metadata-scanner.d.ts +1 -1
  228. package/metadata-scanner.js +8 -14
  229. package/middleware/builder.d.ts +4 -4
  230. package/middleware/builder.js +78 -76
  231. package/middleware/container.d.ts +4 -4
  232. package/middleware/container.js +10 -13
  233. package/middleware/index.d.ts +1 -1
  234. package/middleware/index.js +1 -4
  235. package/middleware/middleware-module.d.ts +8 -9
  236. package/middleware/middleware-module.js +47 -44
  237. package/middleware/resolver.d.ts +3 -3
  238. package/middleware/resolver.js +3 -5
  239. package/middleware/route-info-path-extractor.d.ts +2 -2
  240. package/middleware/route-info-path-extractor.js +26 -25
  241. package/middleware/routes-mapper.d.ts +4 -3
  242. package/middleware/routes-mapper.js +22 -24
  243. package/middleware/utils.d.ts +3 -2
  244. package/middleware/utils.js +34 -45
  245. package/nest-application-context.d.ts +10 -9
  246. package/nest-application-context.js +50 -47
  247. package/nest-application.d.ts +18 -10
  248. package/nest-application.js +87 -55
  249. package/nest-factory.d.ts +4 -5
  250. package/nest-factory.js +61 -68
  251. package/package.json +32 -3
  252. package/pipes/index.d.ts +3 -3
  253. package/pipes/index.js +3 -6
  254. package/pipes/params-token-factory.d.ts +2 -2
  255. package/pipes/params-token-factory.js +5 -9
  256. package/pipes/pipes-consumer.d.ts +3 -7
  257. package/pipes/pipes-consumer.js +17 -18
  258. package/pipes/pipes-context-creator.d.ts +10 -9
  259. package/pipes/pipes-context-creator.js +18 -20
  260. package/repl/assign-to-object.util.js +1 -4
  261. package/repl/constants.js +1 -4
  262. package/repl/index.d.ts +1 -1
  263. package/repl/index.js +1 -4
  264. package/repl/native-functions/debug-repl-fn.d.ts +2 -2
  265. package/repl/native-functions/debug-repl-fn.js +14 -21
  266. package/repl/native-functions/get-repl-fn.d.ts +2 -2
  267. package/repl/native-functions/get-repl-fn.js +8 -15
  268. package/repl/native-functions/help-repl-fn.d.ts +2 -2
  269. package/repl/native-functions/help-repl-fn.js +13 -20
  270. package/repl/native-functions/index.d.ts +6 -6
  271. package/repl/native-functions/index.js +6 -9
  272. package/repl/native-functions/methods-repl-fn.d.ts +2 -2
  273. package/repl/native-functions/methods-repl-fn.js +12 -19
  274. package/repl/native-functions/resolve-repl-fn.d.ts +2 -2
  275. package/repl/native-functions/resolve-repl-fn.js +7 -14
  276. package/repl/native-functions/select-relp-fn.d.ts +2 -2
  277. package/repl/native-functions/select-relp-fn.js +7 -14
  278. package/repl/repl-context.d.ts +3 -3
  279. package/repl/repl-context.js +21 -23
  280. package/repl/repl-function.d.ts +3 -3
  281. package/repl/repl-function.js +5 -7
  282. package/repl/repl-logger.js +10 -14
  283. package/repl/repl-native-commands.js +1 -4
  284. package/repl/repl.d.ts +1 -1
  285. package/repl/repl.interfaces.d.ts +2 -2
  286. package/repl/repl.interfaces.js +1 -2
  287. package/repl/repl.js +17 -20
  288. package/router/index.d.ts +3 -3
  289. package/router/index.js +3 -8
  290. package/router/interfaces/exceptions-filter.interface.d.ts +3 -3
  291. package/router/interfaces/exceptions-filter.interface.js +1 -2
  292. package/router/interfaces/exclude-route-metadata.interface.d.ts +1 -1
  293. package/router/interfaces/exclude-route-metadata.interface.js +1 -2
  294. package/router/interfaces/index.d.ts +1 -1
  295. package/router/interfaces/index.js +1 -4
  296. package/router/interfaces/resolver.interface.js +1 -2
  297. package/router/interfaces/route-params-factory.interface.d.ts +1 -1
  298. package/router/interfaces/route-params-factory.interface.js +1 -2
  299. package/router/interfaces/route-path-metadata.interface.d.ts +2 -2
  300. package/router/interfaces/route-path-metadata.interface.js +1 -2
  301. package/router/interfaces/routes.interface.d.ts +1 -1
  302. package/router/interfaces/routes.interface.js +1 -2
  303. package/router/legacy-route-converter.js +3 -7
  304. package/router/paths-explorer.d.ts +4 -5
  305. package/router/paths-explorer.js +11 -15
  306. package/router/request/index.d.ts +1 -1
  307. package/router/request/index.js +1 -5
  308. package/router/request/request-constants.js +2 -5
  309. package/router/request/request-providers.d.ts +1 -1
  310. package/router/request/request-providers.js +5 -8
  311. package/router/route-params-factory.d.ts +2 -2
  312. package/router/route-params-factory.js +15 -19
  313. package/router/route-path-factory.d.ts +4 -4
  314. package/router/route-path-factory.js +19 -22
  315. package/router/router-exception-filters.d.ts +9 -9
  316. package/router/router-exception-filters.js +15 -18
  317. package/router/router-execution-context.d.ts +17 -20
  318. package/router/router-execution-context.js +57 -49
  319. package/router/router-explorer.d.ts +14 -16
  320. package/router/router-explorer.js +55 -54
  321. package/router/router-module.d.ts +4 -4
  322. package/router/router-module.js +21 -23
  323. package/router/router-proxy.d.ts +1 -1
  324. package/router/router-proxy.js +4 -8
  325. package/router/router-response-controller.d.ts +2 -2
  326. package/router/router-response-controller.js +20 -23
  327. package/router/routes-resolver.d.ts +8 -9
  328. package/router/routes-resolver.js +36 -51
  329. package/router/sse-stream.d.ts +1 -1
  330. package/router/sse-stream.js +5 -9
  331. package/router/utils/exclude-route.util.d.ts +1 -1
  332. package/router/utils/exclude-route.util.js +7 -12
  333. package/router/utils/flatten-route-paths.util.d.ts +2 -2
  334. package/router/utils/flatten-route-paths.util.js +4 -7
  335. package/router/utils/index.d.ts +2 -2
  336. package/router/utils/index.js +2 -5
  337. package/scanner.d.ts +11 -11
  338. package/scanner.js +64 -65
  339. package/services/index.d.ts +1 -1
  340. package/services/index.js +1 -4
  341. package/services/reflector.service.d.ts +1 -1
  342. package/services/reflector.service.js +9 -13
  343. package/tsconfig.build.json +1 -9
@@ -1,16 +1,22 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RouterExecutionContext = void 0;
4
- const common_1 = require("@nestjs/common");
5
- const constants_1 = require("@nestjs/common/constants");
6
- const route_paramtypes_enum_1 = require("@nestjs/common/enums/route-paramtypes.enum");
7
- const shared_utils_1 = require("@nestjs/common/utils/shared.utils");
8
- const guards_1 = require("../guards");
9
- const context_utils_1 = require("../helpers/context-utils");
10
- const handler_metadata_storage_1 = require("../helpers/handler-metadata-storage");
11
- const constants_2 = require("../injector/constants");
12
- const router_response_controller_1 = require("./router-response-controller");
13
- class RouterExecutionContext {
1
+ import { ForbiddenException, } from '@nestjs/common';
2
+ import { CUSTOM_ROUTE_ARGS_METADATA, HEADERS_METADATA, HTTP_CODE_METADATA, isEmptyArray, isString, REDIRECT_METADATA, RENDER_METADATA, ROUTE_ARGS_METADATA, RouteParamtypes, SSE_METADATA, } from '@nestjs/common/internal';
3
+ import { FORBIDDEN_MESSAGE, } from '../guards/index.js';
4
+ import { ContextUtils } from '../helpers/context-utils.js';
5
+ import { HandlerMetadataStorage, } from '../helpers/handler-metadata-storage.js';
6
+ import { STATIC_CONTEXT } from '../injector/constants.js';
7
+ import { RouterResponseController, } from './router-response-controller.js';
8
+ export class RouterExecutionContext {
9
+ paramsFactory;
10
+ pipesContextCreator;
11
+ pipesConsumer;
12
+ guardsContextCreator;
13
+ guardsConsumer;
14
+ interceptorsContextCreator;
15
+ interceptorsConsumer;
16
+ applicationRef;
17
+ handlerMetadataStorage = new HandlerMetadataStorage();
18
+ contextUtils = new ContextUtils();
19
+ responseController;
14
20
  constructor(paramsFactory, pipesContextCreator, pipesConsumer, guardsContextCreator, guardsConsumer, interceptorsContextCreator, interceptorsConsumer, applicationRef) {
15
21
  this.paramsFactory = paramsFactory;
16
22
  this.pipesContextCreator = pipesContextCreator;
@@ -20,11 +26,9 @@ class RouterExecutionContext {
20
26
  this.interceptorsContextCreator = interceptorsContextCreator;
21
27
  this.interceptorsConsumer = interceptorsConsumer;
22
28
  this.applicationRef = applicationRef;
23
- this.handlerMetadataStorage = new handler_metadata_storage_1.HandlerMetadataStorage();
24
- this.contextUtils = new context_utils_1.ContextUtils();
25
- this.responseController = new router_response_controller_1.RouterResponseController(applicationRef);
29
+ this.responseController = new RouterResponseController(applicationRef);
26
30
  }
27
- create(instance, callback, methodName, moduleKey, requestMethod, contextId = constants_2.STATIC_CONTEXT, inquirerId) {
31
+ create(instance, callback, methodName, moduleKey, requestMethod, contextId = STATIC_CONTEXT, inquirerId) {
28
32
  const contextType = 'http';
29
33
  const { argsLength, fnHandleResponse, paramtypes, getParamsMetadata, httpStatusCode, responseHeaders, hasCustomHeaders, } = this.getMetadata(instance, callback, methodName, moduleKey, requestMethod, contextType);
30
34
  const paramsOptions = this.contextUtils.mergeParamsMetatypes(getParamsMetadata(moduleKey, contextId, inquirerId), paramtypes);
@@ -52,22 +56,20 @@ class RouterExecutionContext {
52
56
  if (cacheMetadata) {
53
57
  return cacheMetadata;
54
58
  }
55
- const metadata = this.contextUtils.reflectCallbackMetadata(instance, methodName, constants_1.ROUTE_ARGS_METADATA) || {};
59
+ const metadata = this.contextUtils.reflectCallbackMetadata(instance, methodName, ROUTE_ARGS_METADATA) || {};
56
60
  const keys = Object.keys(metadata);
57
61
  const argsLength = this.contextUtils.getArgumentsLength(keys, metadata);
58
62
  const paramtypes = this.contextUtils.reflectCallbackParamtypes(instance, methodName);
59
63
  const contextFactory = this.contextUtils.getContextFactory(contextType, instance, callback);
60
- const getParamsMetadata = (moduleKey, contextId = constants_2.STATIC_CONTEXT, inquirerId) => this.exchangeKeysForValues(keys, metadata, moduleKey, contextId, inquirerId, contextFactory);
64
+ const getParamsMetadata = (moduleKey, contextId = STATIC_CONTEXT, inquirerId) => this.exchangeKeysForValues(keys, metadata, moduleKey, contextId, inquirerId, contextFactory);
61
65
  const paramsMetadata = getParamsMetadata(moduleKey);
62
66
  const isResponseHandled = this.isResponseHandled(instance, methodName, paramsMetadata);
63
67
  const httpRedirectResponse = this.reflectRedirect(callback);
64
68
  const fnHandleResponse = this.createHandleResponseFn(callback, isResponseHandled, httpRedirectResponse);
65
69
  const httpCode = this.reflectHttpStatusCode(callback);
66
- const httpStatusCode = httpCode
67
- ? httpCode
68
- : this.responseController.getStatusByMethod(requestMethod);
70
+ const httpStatusCode = httpCode ?? this.responseController.getStatusByMethod(requestMethod);
69
71
  const responseHeaders = this.reflectResponseHeaders(callback);
70
- const hasCustomHeaders = !(0, shared_utils_1.isEmpty)(responseHeaders);
72
+ const hasCustomHeaders = !isEmptyArray(responseHeaders);
71
73
  const handlerMetadata = {
72
74
  argsLength,
73
75
  fnHandleResponse,
@@ -81,30 +83,37 @@ class RouterExecutionContext {
81
83
  return handlerMetadata;
82
84
  }
83
85
  reflectRedirect(callback) {
84
- return Reflect.getMetadata(constants_1.REDIRECT_METADATA, callback);
86
+ return Reflect.getMetadata(REDIRECT_METADATA, callback);
85
87
  }
86
88
  reflectHttpStatusCode(callback) {
87
- return Reflect.getMetadata(constants_1.HTTP_CODE_METADATA, callback);
89
+ return Reflect.getMetadata(HTTP_CODE_METADATA, callback);
88
90
  }
89
91
  reflectRenderTemplate(callback) {
90
- return Reflect.getMetadata(constants_1.RENDER_METADATA, callback);
92
+ return Reflect.getMetadata(RENDER_METADATA, callback);
91
93
  }
92
94
  reflectResponseHeaders(callback) {
93
- return Reflect.getMetadata(constants_1.HEADERS_METADATA, callback) || [];
95
+ return Reflect.getMetadata(HEADERS_METADATA, callback) || [];
94
96
  }
95
97
  reflectSse(callback) {
96
- return Reflect.getMetadata(constants_1.SSE_METADATA, callback);
98
+ return Reflect.getMetadata(SSE_METADATA, callback);
97
99
  }
98
- exchangeKeysForValues(keys, metadata, moduleContext, contextId = constants_2.STATIC_CONTEXT, inquirerId, contextFactory) {
100
+ exchangeKeysForValues(keys, metadata, moduleContext, contextId = STATIC_CONTEXT, inquirerId, contextFactory) {
99
101
  this.pipesContextCreator.setModuleContext(moduleContext);
100
102
  return keys.map(key => {
101
- const { index, data, pipes: pipesCollection } = metadata[key];
103
+ const { index, data, pipes: pipesCollection, schema } = metadata[key];
102
104
  const pipes = this.pipesContextCreator.createConcreteContext(pipesCollection, contextId, inquirerId);
103
105
  const type = this.contextUtils.mapParamType(key);
104
- if (key.includes(constants_1.CUSTOM_ROUTE_ARGS_METADATA)) {
106
+ if (key.includes(CUSTOM_ROUTE_ARGS_METADATA)) {
105
107
  const { factory } = metadata[key];
106
108
  const customExtractValue = this.contextUtils.getCustomFactory(factory, data, contextFactory);
107
- return { index, extractValue: customExtractValue, type, data, pipes };
109
+ return {
110
+ index,
111
+ extractValue: customExtractValue,
112
+ type,
113
+ data,
114
+ pipes,
115
+ schema,
116
+ };
108
117
  }
109
118
  const numericType = Number(type);
110
119
  const extractValue = (req, res, next) => this.paramsFactory.exchangeKeyForValue(numericType, data, {
@@ -112,29 +121,29 @@ class RouterExecutionContext {
112
121
  res,
113
122
  next,
114
123
  });
115
- return { index, extractValue, type: numericType, data, pipes };
124
+ return { index, extractValue, type: numericType, data, pipes, schema };
116
125
  });
117
126
  }
118
- async getParamValue(value, { metatype, type, data, }, pipes) {
119
- if (!(0, shared_utils_1.isEmpty)(pipes)) {
120
- return this.pipesConsumer.apply(value, { metatype, type, data }, pipes);
127
+ async getParamValue(value, metadata, pipes) {
128
+ if (!isEmptyArray(pipes)) {
129
+ return this.pipesConsumer.apply(value, metadata, pipes);
121
130
  }
122
131
  return value;
123
132
  }
124
133
  isPipeable(type) {
125
- return (type === route_paramtypes_enum_1.RouteParamtypes.BODY ||
126
- type === route_paramtypes_enum_1.RouteParamtypes.RAW_BODY ||
127
- type === route_paramtypes_enum_1.RouteParamtypes.QUERY ||
128
- type === route_paramtypes_enum_1.RouteParamtypes.PARAM ||
129
- type === route_paramtypes_enum_1.RouteParamtypes.FILE ||
130
- type === route_paramtypes_enum_1.RouteParamtypes.FILES ||
131
- (0, shared_utils_1.isString)(type));
134
+ return (type === RouteParamtypes.BODY ||
135
+ type === RouteParamtypes.RAW_BODY ||
136
+ type === RouteParamtypes.QUERY ||
137
+ type === RouteParamtypes.PARAM ||
138
+ type === RouteParamtypes.FILE ||
139
+ type === RouteParamtypes.FILES ||
140
+ isString(type));
132
141
  }
133
142
  createGuardsFn(guards, instance, callback, contextType) {
134
143
  const canActivateFn = async (args) => {
135
144
  const canActivate = await this.guardsConsumer.tryActivate(guards, args, instance, callback, contextType);
136
145
  if (!canActivate) {
137
- throw new common_1.ForbiddenException(guards_1.FORBIDDEN_MESSAGE);
146
+ throw new ForbiddenException(FORBIDDEN_MESSAGE);
138
147
  }
139
148
  };
140
149
  return guards.length ? canActivateFn : null;
@@ -142,10 +151,10 @@ class RouterExecutionContext {
142
151
  createPipesFn(pipes, paramsOptions) {
143
152
  const pipesFn = async (args, req, res, next) => {
144
153
  const resolveParamValue = async (param) => {
145
- const { index, extractValue, type, data, metatype, pipes: paramPipes, } = param;
154
+ const { index, extractValue, type, data, metatype, pipes: paramPipes, schema, } = param;
146
155
  const value = extractValue(req, res, next);
147
156
  args[index] = this.isPipeable(type)
148
- ? await this.getParamValue(value, { metatype, type, data }, pipes.concat(paramPipes))
157
+ ? await this.getParamValue(value, { metatype, type, data, schema }, pipes.concat(paramPipes))
149
158
  : value;
150
159
  };
151
160
  await Promise.all(paramsOptions.map(resolveParamValue));
@@ -159,7 +168,7 @@ class RouterExecutionContext {
159
168
  return await this.responseController.render(result, res, renderTemplate);
160
169
  };
161
170
  }
162
- if (redirectResponse && (0, shared_utils_1.isString)(redirectResponse.url)) {
171
+ if (redirectResponse && isString(redirectResponse.url)) {
163
172
  return async (result, res) => {
164
173
  await this.responseController.redirect(result, res, redirectResponse);
165
174
  };
@@ -178,9 +187,8 @@ class RouterExecutionContext {
178
187
  };
179
188
  }
180
189
  isResponseHandled(instance, methodName, paramsMetadata) {
181
- const hasResponseOrNextDecorator = paramsMetadata.some(({ type }) => type === route_paramtypes_enum_1.RouteParamtypes.RESPONSE || type === route_paramtypes_enum_1.RouteParamtypes.NEXT);
190
+ const hasResponseOrNextDecorator = paramsMetadata.some(({ type }) => type === RouteParamtypes.RESPONSE || type === RouteParamtypes.NEXT);
182
191
  const isPassthroughEnabled = this.contextUtils.reflectPassthrough(instance, methodName);
183
192
  return hasResponseOrNextDecorator && !isPassthroughEnabled;
184
193
  }
185
194
  }
186
- exports.RouterExecutionContext = RouterExecutionContext;
@@ -1,19 +1,17 @@
1
- import { HttpServer } from '@nestjs/common';
2
- import { RequestMethod } from '@nestjs/common/enums';
3
- import { Controller } from '@nestjs/common/interfaces/controllers/controller.interface';
4
- import { Type } from '@nestjs/common/interfaces/type.interface';
5
- import { VersionValue } from '@nestjs/common/interfaces/version-options.interface';
6
- import { ApplicationConfig } from '../application-config';
7
- import { NestContainer } from '../injector/container';
8
- import { Injector } from '../injector/injector';
9
- import { InstanceWrapper } from '../injector/instance-wrapper';
10
- import { Module } from '../injector/module';
11
- import { GraphInspector } from '../inspector/graph-inspector';
12
- import { MetadataScanner } from '../metadata-scanner';
13
- import { ExceptionsFilter } from './interfaces/exceptions-filter.interface';
14
- import { RoutePathMetadata } from './interfaces/route-path-metadata.interface';
15
- import { RoutePathFactory } from './route-path-factory';
16
- import { RouterProxy, RouterProxyCallback } from './router-proxy';
1
+ import type { HttpServer } from '@nestjs/common';
2
+ import { ApplicationConfig } from '../application-config.js';
3
+ import { NestContainer } from '../injector/container.js';
4
+ import { Injector } from '../injector/injector.js';
5
+ import { InstanceWrapper } from '../injector/instance-wrapper.js';
6
+ import { Module } from '../injector/module.js';
7
+ import { GraphInspector } from '../inspector/graph-inspector.js';
8
+ import { MetadataScanner } from '../metadata-scanner.js';
9
+ import { ExceptionsFilter } from './interfaces/exceptions-filter.interface.js';
10
+ import { RoutePathMetadata } from './interfaces/route-path-metadata.interface.js';
11
+ import { RoutePathFactory } from './route-path-factory.js';
12
+ import { RouterProxy, RouterProxyCallback } from './router-proxy.js';
13
+ import { type Controller, type VersionValue } from '@nestjs/common/internal';
14
+ import { RequestMethod, type Type } from '@nestjs/common';
17
15
  export interface RouteDefinition {
18
16
  path: string[];
19
17
  requestMethod: RequestMethod;
@@ -1,26 +1,33 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RouterExplorer = void 0;
4
- const constants_1 = require("@nestjs/common/constants");
5
- const enums_1 = require("@nestjs/common/enums");
6
- const exceptions_1 = require("@nestjs/common/exceptions");
7
- const logger_service_1 = require("@nestjs/common/services/logger.service");
8
- const shared_utils_1 = require("@nestjs/common/utils/shared.utils");
9
- const path_to_regexp_1 = require("path-to-regexp");
10
- const unknown_request_mapping_exception_1 = require("../errors/exceptions/unknown-request-mapping.exception");
11
- const guards_1 = require("../guards");
12
- const context_id_factory_1 = require("../helpers/context-id-factory");
13
- const execution_context_host_1 = require("../helpers/execution-context-host");
14
- const messages_1 = require("../helpers/messages");
15
- const router_method_factory_1 = require("../helpers/router-method-factory");
16
- const constants_2 = require("../injector/constants");
17
- const interceptors_1 = require("../interceptors");
18
- const pipes_1 = require("../pipes");
19
- const paths_explorer_1 = require("./paths-explorer");
20
- const request_constants_1 = require("./request/request-constants");
21
- const route_params_factory_1 = require("./route-params-factory");
22
- const router_execution_context_1 = require("./router-execution-context");
23
- class RouterExplorer {
1
+ import { pathToRegexp } from 'path-to-regexp';
2
+ import { UnknownRequestMappingException } from '../errors/exceptions/unknown-request-mapping.exception.js';
3
+ import { GuardsConsumer, GuardsContextCreator } from '../guards/index.js';
4
+ import { ContextIdFactory } from '../helpers/context-id-factory.js';
5
+ import { ExecutionContextHost } from '../helpers/execution-context-host.js';
6
+ import { ROUTE_MAPPED_MESSAGE, VERSIONED_ROUTE_MAPPED_MESSAGE, } from '../helpers/messages.js';
7
+ import { RouterMethodFactory } from '../helpers/router-method-factory.js';
8
+ import { STATIC_CONTEXT } from '../injector/constants.js';
9
+ import { InterceptorsConsumer, InterceptorsContextCreator, } from '../interceptors/index.js';
10
+ import { PipesConsumer, PipesContextCreator } from '../pipes/index.js';
11
+ import { PathsExplorer } from './paths-explorer.js';
12
+ import { REQUEST_CONTEXT_ID } from './request/request-constants.js';
13
+ import { RouteParamsFactory } from './route-params-factory.js';
14
+ import { RouterExecutionContext } from './router-execution-context.js';
15
+ import { PATH_METADATA, addLeadingSlash, isUndefined, } from '@nestjs/common/internal';
16
+ import { RequestMethod, VersioningType, InternalServerErrorException, Logger, } from '@nestjs/common';
17
+ export class RouterExplorer {
18
+ container;
19
+ injector;
20
+ routerProxy;
21
+ exceptionsFilter;
22
+ routePathFactory;
23
+ graphInspector;
24
+ executionContextCreator;
25
+ pathsExplorer;
26
+ routerMethodFactory = new RouterMethodFactory();
27
+ logger = new Logger(RouterExplorer.name, {
28
+ timestamp: true,
29
+ });
30
+ exceptionFiltersCache = new WeakMap();
24
31
  constructor(metadataScanner, container, injector, routerProxy, exceptionsFilter, config, routePathFactory, graphInspector) {
25
32
  this.container = container;
26
33
  this.injector = injector;
@@ -28,20 +35,15 @@ class RouterExplorer {
28
35
  this.exceptionsFilter = exceptionsFilter;
29
36
  this.routePathFactory = routePathFactory;
30
37
  this.graphInspector = graphInspector;
31
- this.routerMethodFactory = new router_method_factory_1.RouterMethodFactory();
32
- this.logger = new logger_service_1.Logger(RouterExplorer.name, {
33
- timestamp: true,
34
- });
35
- this.exceptionFiltersCache = new WeakMap();
36
- this.pathsExplorer = new paths_explorer_1.PathsExplorer(metadataScanner);
37
- const routeParamsFactory = new route_params_factory_1.RouteParamsFactory();
38
- const pipesContextCreator = new pipes_1.PipesContextCreator(container, config);
39
- const pipesConsumer = new pipes_1.PipesConsumer();
40
- const guardsContextCreator = new guards_1.GuardsContextCreator(container, config);
41
- const guardsConsumer = new guards_1.GuardsConsumer();
42
- const interceptorsContextCreator = new interceptors_1.InterceptorsContextCreator(container, config);
43
- const interceptorsConsumer = new interceptors_1.InterceptorsConsumer();
44
- this.executionContextCreator = new router_execution_context_1.RouterExecutionContext(routeParamsFactory, pipesContextCreator, pipesConsumer, guardsContextCreator, guardsConsumer, interceptorsContextCreator, interceptorsConsumer, container.getHttpAdapterRef());
38
+ this.pathsExplorer = new PathsExplorer(metadataScanner);
39
+ const routeParamsFactory = new RouteParamsFactory();
40
+ const pipesContextCreator = new PipesContextCreator(container, config);
41
+ const pipesConsumer = new PipesConsumer();
42
+ const guardsContextCreator = new GuardsContextCreator(container, config);
43
+ const guardsConsumer = new GuardsConsumer();
44
+ const interceptorsContextCreator = new InterceptorsContextCreator(container, config);
45
+ const interceptorsConsumer = new InterceptorsConsumer();
46
+ this.executionContextCreator = new RouterExecutionContext(routeParamsFactory, pipesContextCreator, pipesConsumer, guardsContextCreator, guardsConsumer, interceptorsContextCreator, interceptorsConsumer, container.getHttpAdapterRef());
45
47
  }
46
48
  explore(instanceWrapper, moduleKey, httpAdapterRef, host, routePathMetadata) {
47
49
  const { instance } = instanceWrapper;
@@ -49,14 +51,14 @@ class RouterExplorer {
49
51
  this.applyPathsToRouterProxy(httpAdapterRef, routerPaths, instanceWrapper, moduleKey, routePathMetadata, host);
50
52
  }
51
53
  extractRouterPath(metatype) {
52
- const path = Reflect.getMetadata(constants_1.PATH_METADATA, metatype);
53
- if ((0, shared_utils_1.isUndefined)(path)) {
54
- throw new unknown_request_mapping_exception_1.UnknownRequestMappingException(metatype);
54
+ const path = Reflect.getMetadata(PATH_METADATA, metatype);
55
+ if (isUndefined(path)) {
56
+ throw new UnknownRequestMappingException(metatype);
55
57
  }
56
58
  if (Array.isArray(path)) {
57
- return path.map(p => (0, shared_utils_1.addLeadingSlash)(p));
59
+ return path.map(p => addLeadingSlash(p));
58
60
  }
59
- return [(0, shared_utils_1.addLeadingSlash)(path)];
61
+ return [addLeadingSlash(path)];
60
62
  }
61
63
  applyPathsToRouterProxy(router, routeDefinitions, instanceWrapper, moduleKey, routePathMetadata, host) {
62
64
  (routeDefinitions || []).forEach(routeDefinition => {
@@ -81,7 +83,7 @@ class RouterExplorer {
81
83
  let routeHandler = this.applyHostFilter(host, proxy);
82
84
  paths.forEach(path => {
83
85
  if (isVersioned &&
84
- routePathMetadata.versioningOptions.type !== enums_1.VersioningType.URI) {
86
+ routePathMetadata.versioningOptions.type !== VersioningType.URI) {
85
87
  // All versioning (except for URI Versioning) is done via the "Version Filter"
86
88
  routeHandler = this.applyVersionFilter(router, routePathMetadata, routeHandler);
87
89
  }
@@ -96,7 +98,7 @@ class RouterExplorer {
96
98
  metadata: {
97
99
  key: path,
98
100
  path,
99
- requestMethod: enums_1.RequestMethod[requestMethod],
101
+ requestMethod: RequestMethod[requestMethod],
100
102
  methodVersion: routePathMetadata.methodVersion,
101
103
  controllerVersion: routePathMetadata.controllerVersion,
102
104
  },
@@ -125,10 +127,10 @@ class RouterExplorer {
125
127
  pathsToLog.forEach(path => {
126
128
  if (isVersioned) {
127
129
  const version = this.routePathFactory.getVersion(routePathMetadata);
128
- this.logger.log((0, messages_1.VERSIONED_ROUTE_MAPPED_MESSAGE)(path, requestMethod, version));
130
+ this.logger.log(VERSIONED_ROUTE_MAPPED_MESSAGE(path, requestMethod, version));
129
131
  }
130
132
  else {
131
- this.logger.log((0, messages_1.ROUTE_MAPPED_MESSAGE)(path, requestMethod));
133
+ this.logger.log(ROUTE_MAPPED_MESSAGE(path, requestMethod));
132
134
  }
133
135
  });
134
136
  });
@@ -142,7 +144,7 @@ class RouterExplorer {
142
144
  const hostRegExps = hosts.map((host) => {
143
145
  if (typeof host === 'string') {
144
146
  try {
145
- return (0, path_to_regexp_1.pathToRegexp)(host);
147
+ return pathToRegexp(host);
146
148
  }
147
149
  catch (e) {
148
150
  if (e instanceof TypeError) {
@@ -174,7 +176,7 @@ class RouterExplorer {
174
176
  }
175
177
  }
176
178
  if (!next) {
177
- throw new exceptions_1.InternalServerErrorException(unsupportedFilteringErrorMessage);
179
+ throw new InternalServerErrorException(unsupportedFilteringErrorMessage);
178
180
  }
179
181
  return next();
180
182
  };
@@ -183,7 +185,7 @@ class RouterExplorer {
183
185
  const version = this.routePathFactory.getVersion(routePathMetadata);
184
186
  return router.applyVersionFilter(handler, version, routePathMetadata.versioningOptions);
185
187
  }
186
- createCallbackProxy(instance, callback, methodName, moduleRef, requestMethod, contextId = constants_2.STATIC_CONTEXT, inquirerId) {
188
+ createCallbackProxy(instance, callback, methodName, moduleRef, requestMethod, contextId = STATIC_CONTEXT, inquirerId) {
187
189
  const executionContext = this.executionContextCreator.create(instance, callback, methodName, moduleRef, requestMethod, contextId, inquirerId);
188
190
  const exceptionFilter = this.exceptionsFilter.create(instance, callback, moduleRef, contextId, inquirerId);
189
191
  return this.routerProxy.createProxy(executionContext, exceptionFilter);
@@ -204,15 +206,15 @@ class RouterExplorer {
204
206
  exceptionFilter = this.exceptionsFilter.create(instance, instance[methodName], moduleKey);
205
207
  this.exceptionFiltersCache.set(instance[methodName], exceptionFilter);
206
208
  }
207
- const host = new execution_context_host_1.ExecutionContextHost([req, res, next]);
209
+ const host = new ExecutionContextHost([req, res, next]);
208
210
  exceptionFilter.next(err, host);
209
211
  }
210
212
  };
211
213
  }
212
214
  getContextId(request, isTreeDurable) {
213
- const contextId = context_id_factory_1.ContextIdFactory.getByRequest(request);
214
- if (!request[request_constants_1.REQUEST_CONTEXT_ID]) {
215
- Object.defineProperty(request, request_constants_1.REQUEST_CONTEXT_ID, {
215
+ const contextId = ContextIdFactory.getByRequest(request);
216
+ if (!request[REQUEST_CONTEXT_ID]) {
217
+ Object.defineProperty(request, REQUEST_CONTEXT_ID, {
216
218
  value: contextId,
217
219
  enumerable: false,
218
220
  writable: false,
@@ -231,4 +233,3 @@ class RouterExplorer {
231
233
  }
232
234
  }
233
235
  }
234
- exports.RouterExplorer = RouterExplorer;
@@ -1,7 +1,7 @@
1
- import { DynamicModule } from '@nestjs/common';
2
- import { Module as ModuleClass } from '../injector/module';
3
- import { ModulesContainer } from '../injector/modules-container';
4
- import { Routes } from './interfaces';
1
+ import { type DynamicModule } from '@nestjs/common';
2
+ import { Module as ModuleClass } from '../injector/module.js';
3
+ import { ModulesContainer } from '../injector/modules-container.js';
4
+ import { Routes } from './interfaces/index.js';
5
5
  export declare const ROUTES: unique symbol;
6
6
  export declare const targetModulesByContainer: WeakMap<ModulesContainer, WeakSet<ModuleClass>>;
7
7
  /**
@@ -1,19 +1,17 @@
1
- "use strict";
2
1
  var RouterModule_1;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.RouterModule = exports.targetModulesByContainer = exports.ROUTES = void 0;
5
- const tslib_1 = require("tslib");
6
- const common_1 = require("@nestjs/common");
7
- const constants_1 = require("@nestjs/common/constants");
8
- const shared_utils_1 = require("@nestjs/common/utils/shared.utils");
9
- const modules_container_1 = require("../injector/modules-container");
10
- const utils_1 = require("./utils");
11
- exports.ROUTES = Symbol('ROUTES');
12
- exports.targetModulesByContainer = new WeakMap();
2
+ import { __decorate, __metadata, __param } from "tslib";
3
+ import { Inject, Module } from '@nestjs/common';
4
+ import { ModulesContainer } from '../injector/modules-container.js';
5
+ import { flattenRoutePaths } from './utils/index.js';
6
+ import { MODULE_PATH, normalizePath } from '@nestjs/common/internal';
7
+ export const ROUTES = Symbol('ROUTES');
8
+ export const targetModulesByContainer = new WeakMap();
13
9
  /**
14
10
  * @publicApi
15
11
  */
16
12
  let RouterModule = RouterModule_1 = class RouterModule {
13
+ modulesContainer;
14
+ routes;
17
15
  constructor(modulesContainer, routes) {
18
16
  this.modulesContainer = modulesContainer;
19
17
  this.routes = routes;
@@ -25,7 +23,7 @@ let RouterModule = RouterModule_1 = class RouterModule {
25
23
  module: RouterModule_1,
26
24
  providers: [
27
25
  {
28
- provide: exports.ROUTES,
26
+ provide: ROUTES,
29
27
  useValue: routes,
30
28
  },
31
29
  ],
@@ -46,24 +44,24 @@ let RouterModule = RouterModule_1 = class RouterModule {
46
44
  });
47
45
  }
48
46
  initialize() {
49
- const flattenedRoutes = (0, utils_1.flattenRoutePaths)(this.routes);
47
+ const flattenedRoutes = flattenRoutePaths(this.routes);
50
48
  flattenedRoutes.forEach(route => {
51
- const modulePath = (0, shared_utils_1.normalizePath)(route.path);
49
+ const modulePath = normalizePath(route.path);
52
50
  this.registerModulePathMetadata(route.module, modulePath);
53
51
  this.updateTargetModulesCache(route.module);
54
52
  });
55
53
  }
56
54
  registerModulePathMetadata(moduleCtor, modulePath) {
57
- Reflect.defineMetadata(constants_1.MODULE_PATH + this.modulesContainer.applicationId, modulePath, moduleCtor);
55
+ Reflect.defineMetadata(MODULE_PATH + this.modulesContainer.applicationId, modulePath, moduleCtor);
58
56
  }
59
57
  updateTargetModulesCache(moduleCtor) {
60
58
  let moduleClassSet;
61
- if (exports.targetModulesByContainer.has(this.modulesContainer)) {
62
- moduleClassSet = exports.targetModulesByContainer.get(this.modulesContainer);
59
+ if (targetModulesByContainer.has(this.modulesContainer)) {
60
+ moduleClassSet = targetModulesByContainer.get(this.modulesContainer);
63
61
  }
64
62
  else {
65
63
  moduleClassSet = new WeakSet();
66
- exports.targetModulesByContainer.set(this.modulesContainer, moduleClassSet);
64
+ targetModulesByContainer.set(this.modulesContainer, moduleClassSet);
67
65
  }
68
66
  const moduleRef = Array.from(this.modulesContainer.values()).find(item => item?.metatype === moduleCtor);
69
67
  if (!moduleRef) {
@@ -72,9 +70,9 @@ let RouterModule = RouterModule_1 = class RouterModule {
72
70
  moduleClassSet.add(moduleRef);
73
71
  }
74
72
  };
75
- exports.RouterModule = RouterModule;
76
- exports.RouterModule = RouterModule = RouterModule_1 = tslib_1.__decorate([
77
- (0, common_1.Module)({}),
78
- tslib_1.__param(1, (0, common_1.Inject)(exports.ROUTES)),
79
- tslib_1.__metadata("design:paramtypes", [modules_container_1.ModulesContainer, Array])
73
+ RouterModule = RouterModule_1 = __decorate([
74
+ Module({}),
75
+ __param(1, Inject(ROUTES)),
76
+ __metadata("design:paramtypes", [ModulesContainer, Array])
80
77
  ], RouterModule);
78
+ export { RouterModule };
@@ -1,4 +1,4 @@
1
- import { ExceptionsHandler } from '../exceptions/exceptions-handler';
1
+ import { ExceptionsHandler } from '../exceptions/exceptions-handler.js';
2
2
  export type RouterProxyCallback = <TRequest, TResponse>(req: TRequest, res: TResponse, next: () => void) => void | Promise<void>;
3
3
  export declare class RouterProxy {
4
4
  createProxy(targetCallback: RouterProxyCallback, exceptionsHandler: ExceptionsHandler): <TRequest, TResponse>(req: TRequest, res: TResponse, next: () => void) => Promise<TResponse | undefined>;
@@ -1,15 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RouterProxy = void 0;
4
- const execution_context_host_1 = require("../helpers/execution-context-host");
5
- class RouterProxy {
1
+ import { ExecutionContextHost } from '../helpers/execution-context-host.js';
2
+ export class RouterProxy {
6
3
  createProxy(targetCallback, exceptionsHandler) {
7
4
  return async (req, res, next) => {
8
5
  try {
9
6
  await targetCallback(req, res, next);
10
7
  }
11
8
  catch (e) {
12
- const host = new execution_context_host_1.ExecutionContextHost([req, res, next]);
9
+ const host = new ExecutionContextHost([req, res, next]);
13
10
  exceptionsHandler.next(e, host);
14
11
  return res;
15
12
  }
@@ -21,11 +18,10 @@ class RouterProxy {
21
18
  await targetCallback(err, req, res, next);
22
19
  }
23
20
  catch (e) {
24
- const host = new execution_context_host_1.ExecutionContextHost([req, res, next]);
21
+ const host = new ExecutionContextHost([req, res, next]);
25
22
  exceptionsHandler.next(e, host);
26
23
  return res;
27
24
  }
28
25
  };
29
26
  }
30
27
  }
31
- exports.RouterProxy = RouterProxy;
@@ -1,7 +1,7 @@
1
- import { HttpServer, RequestMethod } from '@nestjs/common';
1
+ import { type HttpServer, RequestMethod } from '@nestjs/common';
2
2
  import { IncomingMessage } from 'http';
3
3
  import { Observable } from 'rxjs';
4
- import { AdditionalHeaders, WritableHeaderStream } from './sse-stream';
4
+ import { AdditionalHeaders, WritableHeaderStream } from './sse-stream.js';
5
5
  export interface CustomHeader {
6
6
  name: string;
7
7
  value: string | (() => string);