@nestjs/core 11.1.15 → 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 +19 -32
  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,51 +1,47 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Injector = void 0;
4
- const common_1 = require("@nestjs/common");
5
- const constants_1 = require("@nestjs/common/constants");
6
- const cli_colors_util_1 = require("@nestjs/common/utils/cli-colors.util");
7
- const shared_utils_1 = require("@nestjs/common/utils/shared.utils");
8
- const iterare_1 = require("iterare");
9
- const perf_hooks_1 = require("perf_hooks");
10
- const exceptions_1 = require("../errors/exceptions");
11
- const runtime_exception_1 = require("../errors/exceptions/runtime.exception");
12
- const undefined_dependency_exception_1 = require("../errors/exceptions/undefined-dependency.exception");
13
- const unknown_dependencies_exception_1 = require("../errors/exceptions/unknown-dependencies.exception");
14
- const barrier_1 = require("../helpers/barrier");
15
- const constants_2 = require("./constants");
16
- const inquirer_1 = require("./inquirer");
17
- const instance_wrapper_1 = require("./instance-wrapper");
18
- const settlement_signal_1 = require("./settlement-signal");
19
- class Injector {
1
+ import { Logger, } from '@nestjs/common';
2
+ import { OPTIONAL_DEPS_METADATA, OPTIONAL_PROPERTY_DEPS_METADATA, PARAMTYPES_METADATA, PROPERTY_DEPS_METADATA, SELF_DECLARED_DEPS_METADATA, clc, isFunction, isNil, isObject, isString, isSymbol, isUndefined, } from '@nestjs/common/internal';
3
+ import { iterate } from 'iterare';
4
+ import { performance } from 'perf_hooks';
5
+ import { CircularDependencyException } from '../errors/exceptions/index.js';
6
+ import { RuntimeException } from '../errors/exceptions/runtime.exception.js';
7
+ import { UndefinedDependencyException } from '../errors/exceptions/undefined-dependency.exception.js';
8
+ import { UnknownDependenciesException } from '../errors/exceptions/unknown-dependencies.exception.js';
9
+ import { Barrier } from '../helpers/barrier.js';
10
+ import { STATIC_CONTEXT } from './constants.js';
11
+ import { INQUIRER } from './inquirer/index.js';
12
+ import { InstanceWrapper, } from './instance-wrapper.js';
13
+ import { SettlementSignal } from './settlement-signal.js';
14
+ export class Injector {
15
+ options;
16
+ logger = new Logger('InjectorLogger');
17
+ instanceDecorator = (target) => target;
20
18
  constructor(options) {
21
19
  this.options = options;
22
- this.logger = new common_1.Logger('InjectorLogger');
23
- this.instanceDecorator = (target) => target;
24
20
  if (options?.instanceDecorator) {
25
21
  this.instanceDecorator = options.instanceDecorator;
26
22
  }
27
23
  }
28
- loadPrototype({ token }, collection, contextId = constants_2.STATIC_CONTEXT) {
24
+ loadPrototype({ token }, collection, contextId = STATIC_CONTEXT) {
29
25
  if (!collection) {
30
26
  return;
31
27
  }
32
28
  const target = collection.get(token);
33
29
  const instance = target.createPrototype(contextId);
34
30
  if (instance) {
35
- const wrapper = new instance_wrapper_1.InstanceWrapper({
31
+ const wrapper = new InstanceWrapper({
36
32
  ...target,
37
33
  instance,
38
34
  });
39
35
  collection.set(token, wrapper);
40
36
  }
41
37
  }
42
- async loadInstance(wrapper, collection, moduleRef, contextId = constants_2.STATIC_CONTEXT, inquirer) {
38
+ async loadInstance(wrapper, collection, moduleRef, contextId = STATIC_CONTEXT, inquirer) {
43
39
  const inquirerId = this.getInquirerId(inquirer);
44
40
  const instanceHost = wrapper.getInstanceByContextId(this.getContextId(contextId, wrapper), inquirerId);
45
41
  if (instanceHost.isPending) {
46
42
  const settlementSignal = wrapper.settlementSignal;
47
43
  if (inquirer && settlementSignal?.isCycle(inquirer.id)) {
48
- throw new exceptions_1.CircularDependencyException(`"${wrapper.name}"`);
44
+ throw new CircularDependencyException(`"${wrapper.name}"`);
49
45
  }
50
46
  return instanceHost.donePromise.then((err) => {
51
47
  if (err) {
@@ -57,18 +53,19 @@ class Injector {
57
53
  const token = wrapper.token || wrapper.name;
58
54
  const { inject } = wrapper;
59
55
  const targetWrapper = collection.get(token);
60
- if ((0, shared_utils_1.isUndefined)(targetWrapper)) {
61
- throw new runtime_exception_1.RuntimeException();
56
+ if (isUndefined(targetWrapper)) {
57
+ throw new RuntimeException();
62
58
  }
63
59
  if (instanceHost.isResolved) {
64
60
  return settlementSignal.complete();
65
61
  }
66
62
  try {
67
63
  const t0 = this.getNowTimestamp();
68
- const callback = async (instances) => {
64
+ const callback = async (instances, depth = 0) => {
69
65
  const properties = await this.resolveProperties(wrapper, moduleRef, inject, contextId, wrapper, inquirer);
70
66
  const instance = await this.instantiateClass(instances, wrapper, targetWrapper, contextId, inquirer);
71
67
  this.applyProperties(instance, properties);
68
+ wrapper.hierarchyLevel = depth + 1;
72
69
  wrapper.initTime = this.getNowTimestamp() - t0;
73
70
  settlementSignal.complete();
74
71
  };
@@ -80,48 +77,49 @@ class Injector {
80
77
  throw err;
81
78
  }
82
79
  }
83
- async loadMiddleware(wrapper, collection, moduleRef, contextId = constants_2.STATIC_CONTEXT, inquirer) {
80
+ async loadMiddleware(wrapper, collection, moduleRef, contextId = STATIC_CONTEXT, inquirer) {
84
81
  const { metatype, token } = wrapper;
85
82
  const targetWrapper = collection.get(token);
86
- if (!(0, shared_utils_1.isUndefined)(targetWrapper.instance)) {
83
+ if (!isUndefined(targetWrapper.instance)) {
87
84
  return;
88
85
  }
89
86
  targetWrapper.instance = Object.create(metatype.prototype);
90
87
  await this.loadInstance(wrapper, collection, moduleRef, contextId, inquirer || wrapper);
91
88
  }
92
- async loadController(wrapper, moduleRef, contextId = constants_2.STATIC_CONTEXT) {
89
+ async loadController(wrapper, moduleRef, contextId = STATIC_CONTEXT) {
93
90
  const controllers = moduleRef.controllers;
94
91
  await this.loadInstance(wrapper, controllers, moduleRef, contextId, wrapper);
95
92
  await this.loadEnhancersPerContext(wrapper, contextId, wrapper);
96
93
  }
97
- async loadInjectable(wrapper, moduleRef, contextId = constants_2.STATIC_CONTEXT, inquirer) {
94
+ async loadInjectable(wrapper, moduleRef, contextId = STATIC_CONTEXT, inquirer) {
98
95
  const injectables = moduleRef.injectables;
99
96
  await this.loadInstance(wrapper, injectables, moduleRef, contextId, inquirer);
100
97
  }
101
- async loadProvider(wrapper, moduleRef, contextId = constants_2.STATIC_CONTEXT, inquirer) {
98
+ async loadProvider(wrapper, moduleRef, contextId = STATIC_CONTEXT, inquirer) {
102
99
  const providers = moduleRef.providers;
103
100
  await this.loadInstance(wrapper, providers, moduleRef, contextId, inquirer);
104
101
  await this.loadEnhancersPerContext(wrapper, contextId, wrapper);
105
102
  }
106
103
  applySettlementSignal(instancePerContext, host) {
107
- const settlementSignal = new settlement_signal_1.SettlementSignal();
104
+ const settlementSignal = new SettlementSignal();
108
105
  instancePerContext.donePromise = settlementSignal.asPromise();
109
106
  instancePerContext.isPending = true;
110
107
  host.settlementSignal = settlementSignal;
111
108
  return settlementSignal;
112
109
  }
113
- async resolveConstructorParams(wrapper, moduleRef, inject, callback, contextId = constants_2.STATIC_CONTEXT, inquirer, parentInquirer) {
110
+ async resolveConstructorParams(wrapper, moduleRef, inject, callback, contextId = STATIC_CONTEXT, inquirer, parentInquirer) {
114
111
  const metadata = wrapper.getCtorMetadata();
115
- if (metadata && contextId !== constants_2.STATIC_CONTEXT) {
112
+ if (metadata && contextId !== STATIC_CONTEXT) {
116
113
  const deps = await this.loadCtorMetadata(metadata, contextId, inquirer, parentInquirer);
117
114
  return callback(deps);
118
115
  }
119
- const isFactoryProvider = !(0, shared_utils_1.isNil)(inject);
116
+ const isFactoryProvider = !isNil(inject);
120
117
  const [dependencies, optionalDependenciesIds] = isFactoryProvider
121
118
  ? this.getFactoryProviderDependencies(wrapper)
122
119
  : this.getClassDependencies(wrapper);
123
- const paramBarrier = new barrier_1.Barrier(dependencies.length);
120
+ const paramBarrier = new Barrier(dependencies.length);
124
121
  let isResolved = true;
122
+ let depth = 0;
125
123
  const resolveParam = async (param, index) => {
126
124
  try {
127
125
  if (this.isInquirer(param, parentInquirer)) {
@@ -146,6 +144,9 @@ class Injector {
146
144
  await paramBarrier.signalAndWait();
147
145
  const effectiveInquirer = this.getEffectiveInquirer(paramWrapper, inquirer, parentInquirer, contextId);
148
146
  const paramWrapperWithInstance = await this.resolveComponentHost(moduleRef, paramWrapper, contextId, effectiveInquirer);
147
+ if (paramWrapperWithInstance.hierarchyLevel > depth) {
148
+ depth = paramWrapperWithInstance.hierarchyLevel;
149
+ }
149
150
  const instanceHost = paramWrapperWithInstance.getInstanceByContextId(this.getContextId(contextId, paramWrapperWithInstance), this.getInquirerId(effectiveInquirer));
150
151
  if (!instanceHost.isResolved && !paramWrapperWithInstance.forwardRef) {
151
152
  isResolved = false;
@@ -167,7 +168,7 @@ class Injector {
167
168
  }
168
169
  };
169
170
  const instances = await Promise.all(dependencies.map(resolveParam));
170
- isResolved && (await callback(instances));
171
+ isResolved && (await callback(instances, depth));
171
172
  }
172
173
  getClassDependencies(wrapper) {
173
174
  const ctorRef = wrapper.metatype;
@@ -183,8 +184,8 @@ class Injector {
183
184
  * We are duplicating it here because that one is not supposed to be exported.
184
185
  */
185
186
  function isOptionalFactoryDependency(value) {
186
- return (!(0, shared_utils_1.isUndefined)(value.token) &&
187
- !(0, shared_utils_1.isUndefined)(value.optional) &&
187
+ return (!isUndefined(value.token) &&
188
+ !isUndefined(value.optional) &&
188
189
  !value.prototype);
189
190
  }
190
191
  const mapFactoryProviderInjectArray = (item, index) => {
@@ -206,22 +207,22 @@ class Injector {
206
207
  }
207
208
  reflectConstructorParams(type) {
208
209
  const paramtypes = [
209
- ...(Reflect.getMetadata(constants_1.PARAMTYPES_METADATA, type) || []),
210
+ ...(Reflect.getMetadata(PARAMTYPES_METADATA, type) || []),
210
211
  ];
211
212
  const selfParams = this.reflectSelfParams(type);
212
213
  selfParams.forEach(({ index, param }) => (paramtypes[index] = param));
213
214
  return paramtypes;
214
215
  }
215
216
  reflectOptionalParams(type) {
216
- return Reflect.getMetadata(constants_1.OPTIONAL_DEPS_METADATA, type) || [];
217
+ return Reflect.getMetadata(OPTIONAL_DEPS_METADATA, type) || [];
217
218
  }
218
219
  reflectSelfParams(type) {
219
- return Reflect.getMetadata(constants_1.SELF_DECLARED_DEPS_METADATA, type) || [];
220
+ return Reflect.getMetadata(SELF_DECLARED_DEPS_METADATA, type) || [];
220
221
  }
221
- async resolveSingleParam(wrapper, param, dependencyContext, moduleRef, contextId = constants_2.STATIC_CONTEXT, inquirer, keyOrIndex) {
222
- if ((0, shared_utils_1.isUndefined)(param)) {
222
+ async resolveSingleParam(wrapper, param, dependencyContext, moduleRef, contextId = STATIC_CONTEXT, inquirer, keyOrIndex) {
223
+ if (isUndefined(param)) {
223
224
  this.logger.log('Nest encountered an undefined dependency. This may be due to a circular import or a missing dependency declaration.');
224
- throw new undefined_dependency_exception_1.UndefinedDependencyException(wrapper.name, dependencyContext, moduleRef);
225
+ throw new UndefinedDependencyException(wrapper.name, dependencyContext, moduleRef);
225
226
  }
226
227
  const token = this.resolveParamToken(wrapper, param);
227
228
  return this.resolveComponentWrapper(moduleRef, token, dependencyContext, wrapper, contextId, inquirer, keyOrIndex);
@@ -233,13 +234,13 @@ class Injector {
233
234
  }
234
235
  return param;
235
236
  }
236
- async resolveComponentWrapper(moduleRef, token, dependencyContext, wrapper, contextId = constants_2.STATIC_CONTEXT, inquirer, keyOrIndex) {
237
+ async resolveComponentWrapper(moduleRef, token, dependencyContext, wrapper, contextId = STATIC_CONTEXT, inquirer, keyOrIndex) {
237
238
  this.printResolvingDependenciesLog(token, inquirer);
238
239
  this.printLookingForProviderLog(token, moduleRef);
239
240
  const providers = moduleRef.providers;
240
241
  return this.lookupComponent(providers, moduleRef, { ...dependencyContext, name: token }, wrapper, contextId, inquirer, keyOrIndex);
241
242
  }
242
- async resolveComponentHost(moduleRef, instanceWrapper, contextId = constants_2.STATIC_CONTEXT, inquirer) {
243
+ async resolveComponentHost(moduleRef, instanceWrapper, contextId = STATIC_CONTEXT, inquirer) {
243
244
  const inquirerId = this.getInquirerId(inquirer);
244
245
  const instanceHost = instanceWrapper.getInstanceByContextId(this.getContextId(contextId, instanceWrapper), inquirerId);
245
246
  if (!instanceHost.isResolved && !instanceWrapper.forwardRef) {
@@ -248,7 +249,7 @@ class Injector {
248
249
  }
249
250
  else if (!instanceHost.isResolved &&
250
251
  instanceWrapper.forwardRef &&
251
- (contextId !== constants_2.STATIC_CONTEXT || !!inquirerId)) {
252
+ (contextId !== STATIC_CONTEXT || !!inquirerId)) {
252
253
  /**
253
254
  * When circular dependency has been detected between
254
255
  * either request/transient providers, we have to asynchronously
@@ -270,11 +271,11 @@ class Injector {
270
271
  }
271
272
  return instanceWrapper;
272
273
  }
273
- async lookupComponent(providers, moduleRef, dependencyContext, wrapper, contextId = constants_2.STATIC_CONTEXT, inquirer, keyOrIndex) {
274
+ async lookupComponent(providers, moduleRef, dependencyContext, wrapper, contextId = STATIC_CONTEXT, inquirer, keyOrIndex) {
274
275
  const token = wrapper.token || wrapper.name;
275
276
  const { name } = dependencyContext;
276
277
  if (wrapper && token === name) {
277
- throw new unknown_dependencies_exception_1.UnknownDependenciesException(wrapper.name, dependencyContext, moduleRef, { id: wrapper.id });
278
+ throw new UnknownDependenciesException(wrapper.name, dependencyContext, moduleRef, { id: wrapper.id });
278
279
  }
279
280
  if (name && providers.has(name)) {
280
281
  const instanceWrapper = providers.get(name);
@@ -284,14 +285,14 @@ class Injector {
284
285
  }
285
286
  return this.lookupComponentInParentModules(dependencyContext, moduleRef, wrapper, contextId, inquirer, keyOrIndex);
286
287
  }
287
- async lookupComponentInParentModules(dependencyContext, moduleRef, wrapper, contextId = constants_2.STATIC_CONTEXT, inquirer, keyOrIndex) {
288
+ async lookupComponentInParentModules(dependencyContext, moduleRef, wrapper, contextId = STATIC_CONTEXT, inquirer, keyOrIndex) {
288
289
  const instanceWrapper = await this.lookupComponentInImports(moduleRef, dependencyContext.name, wrapper, new Set(), contextId, inquirer, keyOrIndex);
289
- if ((0, shared_utils_1.isNil)(instanceWrapper)) {
290
- throw new unknown_dependencies_exception_1.UnknownDependenciesException(wrapper.name, dependencyContext, moduleRef, { id: wrapper.id });
290
+ if (isNil(instanceWrapper)) {
291
+ throw new UnknownDependenciesException(wrapper.name, dependencyContext, moduleRef, { id: wrapper.id });
291
292
  }
292
293
  return instanceWrapper;
293
294
  }
294
- async lookupComponentInImports(moduleRef, name, wrapper, moduleRegistry = new Set(), contextId = constants_2.STATIC_CONTEXT, inquirer, keyOrIndex, isTraversing) {
295
+ async lookupComponentInImports(moduleRef, name, wrapper, moduleRegistry = new Set(), contextId = STATIC_CONTEXT, inquirer, keyOrIndex, isTraversing) {
295
296
  let instanceWrapperRef = null;
296
297
  const imports = moduleRef.imports || new Set();
297
298
  const identity = (item) => item;
@@ -331,16 +332,16 @@ class Injector {
331
332
  }
332
333
  return instanceWrapperRef;
333
334
  }
334
- async resolveProperties(wrapper, moduleRef, inject, contextId = constants_2.STATIC_CONTEXT, inquirer, parentInquirer) {
335
- if (!(0, shared_utils_1.isNil)(inject)) {
335
+ async resolveProperties(wrapper, moduleRef, inject, contextId = STATIC_CONTEXT, inquirer, parentInquirer) {
336
+ if (!isNil(inject)) {
336
337
  return [];
337
338
  }
338
339
  const metadata = wrapper.getPropertiesMetadata();
339
- if (metadata && contextId !== constants_2.STATIC_CONTEXT) {
340
+ if (metadata && contextId !== STATIC_CONTEXT) {
340
341
  return this.loadPropertiesMetadata(metadata, contextId, inquirer);
341
342
  }
342
343
  const properties = this.reflectProperties(wrapper.metatype);
343
- const propertyBarrier = new barrier_1.Barrier(properties.length);
344
+ const propertyBarrier = new Barrier(properties.length);
344
345
  const instances = await Promise.all(properties.map(async (item) => {
345
346
  try {
346
347
  const dependencyContext = {
@@ -388,8 +389,8 @@ class Injector {
388
389
  }));
389
390
  }
390
391
  reflectProperties(type) {
391
- const properties = Reflect.getMetadata(constants_1.PROPERTY_DEPS_METADATA, type) || [];
392
- const optionalKeys = Reflect.getMetadata(constants_1.OPTIONAL_PROPERTY_DEPS_METADATA, type) || [];
392
+ const properties = Reflect.getMetadata(PROPERTY_DEPS_METADATA, type) || [];
393
+ const optionalKeys = Reflect.getMetadata(OPTIONAL_PROPERTY_DEPS_METADATA, type) || [];
393
394
  return properties.map((item) => ({
394
395
  ...item,
395
396
  name: item.type,
@@ -397,14 +398,14 @@ class Injector {
397
398
  }));
398
399
  }
399
400
  applyProperties(instance, properties) {
400
- if (!(0, shared_utils_1.isObject)(instance)) {
401
- return undefined;
401
+ if (!isObject(instance)) {
402
+ return;
402
403
  }
403
- (0, iterare_1.iterate)(properties)
404
- .filter(item => !(0, shared_utils_1.isNil)(item.instance))
404
+ iterate(properties)
405
+ .filter(item => !isNil(item.instance))
405
406
  .forEach(item => (instance[item.key] = item.instance));
406
407
  }
407
- async instantiateClass(instances, wrapper, targetMetatype, contextId = constants_2.STATIC_CONTEXT, inquirer) {
408
+ async instantiateClass(instances, wrapper, targetMetatype, contextId = STATIC_CONTEXT, inquirer) {
408
409
  const { metatype, inject } = wrapper;
409
410
  const inquirerId = this.getInquirerId(inquirer);
410
411
  const instanceHost = targetMetatype.getInstanceByContextId(this.getContextId(contextId, targetMetatype), inquirerId);
@@ -416,7 +417,7 @@ class Injector {
416
417
  instanceHost.isResolved = true;
417
418
  return instanceHost.instance;
418
419
  }
419
- if ((0, shared_utils_1.isNil)(inject) && isInContext) {
420
+ if (isNil(inject) && isInContext) {
420
421
  instanceHost.instance = wrapper.forwardRef
421
422
  ? Object.assign(instanceHost.instance, new metatype(...instances))
422
423
  : new metatype(...instances);
@@ -484,7 +485,7 @@ class Injector {
484
485
  return dependency?.isTransient &&
485
486
  inquirer?.isTransient &&
486
487
  parentInquirer &&
487
- contextId !== constants_2.STATIC_CONTEXT
488
+ contextId !== STATIC_CONTEXT
488
489
  ? parentInquirer
489
490
  : inquirer;
490
491
  }
@@ -494,13 +495,13 @@ class Injector {
494
495
  : this.resolveComponentHost(item.host, item, contextId, this.getEffectiveInquirer(item, inquirer, parentInquirer, contextId));
495
496
  }
496
497
  isInquirerRequest(item, parentInquirer) {
497
- return item.isTransient && item.name === inquirer_1.INQUIRER && parentInquirer;
498
+ return item.isTransient && item.name === INQUIRER && parentInquirer;
498
499
  }
499
500
  isInquirer(param, parentInquirer) {
500
- return param === inquirer_1.INQUIRER && parentInquirer;
501
+ return param === INQUIRER && parentInquirer;
501
502
  }
502
503
  addDependencyMetadata(keyOrIndex, hostWrapper, instanceWrapper) {
503
- if ((0, shared_utils_1.isSymbol)(keyOrIndex) || (0, shared_utils_1.isString)(keyOrIndex)) {
504
+ if (isSymbol(keyOrIndex) || isString(keyOrIndex)) {
504
505
  hostWrapper.addPropertiesMetadata(keyOrIndex, instanceWrapper);
505
506
  }
506
507
  else {
@@ -508,7 +509,7 @@ class Injector {
508
509
  }
509
510
  }
510
511
  getTokenName(token) {
511
- return (0, shared_utils_1.isFunction)(token) ? token.name : token.toString();
512
+ return isFunction(token) ? token.name : token.toString();
512
513
  }
513
514
  printResolvingDependenciesLog(token, inquirer) {
514
515
  if (!this.isDebugMode()) {
@@ -517,7 +518,7 @@ class Injector {
517
518
  const tokenName = this.getTokenName(token);
518
519
  const dependentName = (inquirer?.name && inquirer.name.toString?.()) ?? 'unknown';
519
520
  const isAlias = dependentName === tokenName;
520
- const messageToPrint = `Resolving dependency ${cli_colors_util_1.clc.cyanBright(tokenName)}${cli_colors_util_1.clc.green(' in the ')}${cli_colors_util_1.clc.yellow(dependentName)}${cli_colors_util_1.clc.green(` provider ${isAlias ? '(alias)' : ''}`)}`;
521
+ const messageToPrint = `Resolving dependency ${clc.cyanBright(tokenName)}${clc.green(' in the ')}${clc.yellow(dependentName)}${clc.green(` provider ${isAlias ? '(alias)' : ''}`)}`;
521
522
  this.logger.log(messageToPrint);
522
523
  }
523
524
  printLookingForProviderLog(token, moduleRef) {
@@ -526,7 +527,7 @@ class Injector {
526
527
  }
527
528
  const tokenName = this.getTokenName(token);
528
529
  const moduleRefName = moduleRef?.metatype?.name ?? 'unknown';
529
- this.logger.log(`Looking for ${cli_colors_util_1.clc.cyanBright(tokenName)}${cli_colors_util_1.clc.green(' in ')}${cli_colors_util_1.clc.magentaBright(moduleRefName)}`);
530
+ this.logger.log(`Looking for ${clc.cyanBright(tokenName)}${clc.green(' in ')}${clc.magentaBright(moduleRefName)}`);
530
531
  }
531
532
  printFoundInModuleLog(token, moduleRef) {
532
533
  if (!this.isDebugMode()) {
@@ -534,7 +535,7 @@ class Injector {
534
535
  }
535
536
  const tokenName = this.getTokenName(token);
536
537
  const moduleRefName = moduleRef?.metatype?.name ?? 'unknown';
537
- this.logger.log(`Found ${cli_colors_util_1.clc.cyanBright(tokenName)}${cli_colors_util_1.clc.green(' in ')}${cli_colors_util_1.clc.magentaBright(moduleRefName)}`);
538
+ this.logger.log(`Found ${clc.cyanBright(tokenName)}${clc.green(' in ')}${clc.magentaBright(moduleRefName)}`);
538
539
  }
539
540
  isDebugMode() {
540
541
  return !!process.env.NEST_DEBUG;
@@ -548,7 +549,6 @@ class Injector {
548
549
  : contextId;
549
550
  }
550
551
  getNowTimestamp() {
551
- return perf_hooks_1.performance.now();
552
+ return performance.now();
552
553
  }
553
554
  }
554
- exports.Injector = Injector;
@@ -1 +1 @@
1
- export * from './inquirer-constants';
1
+ export * from './inquirer-constants.js';
@@ -1,4 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./inquirer-constants"), exports);
1
+ export * from './inquirer-constants.js';
@@ -1,4 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.INQUIRER = void 0;
4
- exports.INQUIRER = 'INQUIRER';
1
+ export const INQUIRER = 'INQUIRER';
@@ -1,2 +1,2 @@
1
- import { Provider } from '@nestjs/common';
1
+ import { type Provider } from '@nestjs/common';
2
2
  export declare const inquirerProvider: Provider;
@@ -1,11 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.inquirerProvider = void 0;
4
- const common_1 = require("@nestjs/common");
5
- const inquirer_constants_1 = require("./inquirer-constants");
1
+ import { Scope } from '@nestjs/common';
2
+ import { INQUIRER } from './inquirer-constants.js';
6
3
  const noop = () => { };
7
- exports.inquirerProvider = {
8
- provide: inquirer_constants_1.INQUIRER,
9
- scope: common_1.Scope.TRANSIENT,
4
+ export const inquirerProvider = {
5
+ provide: INQUIRER,
6
+ scope: Scope.TRANSIENT,
10
7
  useFactory: noop,
11
8
  };
@@ -1,6 +1,6 @@
1
- import { InjectionToken } from '@nestjs/common';
2
- import { NestContainer } from './container';
3
- import { InstanceWrapper } from './instance-wrapper';
1
+ import type { InjectionToken } from '@nestjs/common';
2
+ import { NestContainer } from './container.js';
3
+ import { InstanceWrapper } from './instance-wrapper.js';
4
4
  export interface InstanceLink<T = any> {
5
5
  token: InjectionToken;
6
6
  wrapperRef: InstanceWrapper<T>;
@@ -1,18 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InstanceLinksHost = void 0;
4
- const shared_utils_1 = require("@nestjs/common/utils/shared.utils");
5
- const unknown_element_exception_1 = require("../errors/exceptions/unknown-element.exception");
6
- class InstanceLinksHost {
1
+ import { UnknownElementException } from '../errors/exceptions/unknown-element.exception.js';
2
+ import { isFunction } from '@nestjs/common/internal';
3
+ export class InstanceLinksHost {
4
+ container;
5
+ instanceLinks = new Map();
7
6
  constructor(container) {
8
7
  this.container = container;
9
- this.instanceLinks = new Map();
10
8
  this.initialize();
11
9
  }
12
10
  get(token, options = {}) {
13
11
  const instanceLinksForGivenToken = this.instanceLinks.get(token);
14
12
  if (!instanceLinksForGivenToken) {
15
- throw new unknown_element_exception_1.UnknownElementException(this.getInstanceNameByToken(token));
13
+ throw new UnknownElementException(this.getInstanceNameByToken(token));
16
14
  }
17
15
  if (options.each) {
18
16
  return instanceLinksForGivenToken;
@@ -21,7 +19,7 @@ class InstanceLinksHost {
21
19
  ? instanceLinksForGivenToken.find(item => item.moduleId === options.moduleId)
22
20
  : instanceLinksForGivenToken[instanceLinksForGivenToken.length - 1];
23
21
  if (!instanceLink) {
24
- throw new unknown_element_exception_1.UnknownElementException(this.getInstanceNameByToken(token));
22
+ throw new UnknownElementException(this.getInstanceNameByToken(token));
25
23
  }
26
24
  return instanceLink;
27
25
  }
@@ -50,7 +48,6 @@ class InstanceLinksHost {
50
48
  }
51
49
  }
52
50
  getInstanceNameByToken(token) {
53
- return (0, shared_utils_1.isFunction)(token) ? token?.name : token;
51
+ return isFunction(token) ? token?.name : token;
54
52
  }
55
53
  }
56
- exports.InstanceLinksHost = InstanceLinksHost;
@@ -1,8 +1,8 @@
1
- import { Logger, LoggerService } from '@nestjs/common';
2
- import { GraphInspector } from '../inspector/graph-inspector';
3
- import { NestContainer } from './container';
4
- import { Injector } from './injector';
5
- import { Module } from './module';
1
+ import { Logger, type LoggerService } from '@nestjs/common';
2
+ import { GraphInspector } from '../inspector/graph-inspector.js';
3
+ import { NestContainer } from './container.js';
4
+ import { Injector } from './injector.js';
5
+ import { Module } from './module.js';
6
6
  export declare class InstanceLoader<TInjector extends Injector = Injector> {
7
7
  protected readonly container: NestContainer;
8
8
  protected readonly injector: TInjector;
@@ -1,11 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InstanceLoader = void 0;
4
- const common_1 = require("@nestjs/common");
5
- const messages_1 = require("../helpers/messages");
6
- const internal_core_module_1 = require("./internal-core-module/internal-core-module");
7
- class InstanceLoader {
8
- constructor(container, injector, graphInspector, logger = new common_1.Logger(InstanceLoader.name, {
1
+ import { Logger } from '@nestjs/common';
2
+ import { MODULE_INIT_MESSAGE } from '../helpers/messages.js';
3
+ import { InternalCoreModule } from './internal-core-module/internal-core-module.js';
4
+ export class InstanceLoader {
5
+ container;
6
+ injector;
7
+ graphInspector;
8
+ logger;
9
+ constructor(container, injector, graphInspector, logger = new Logger(InstanceLoader.name, {
9
10
  timestamp: true,
10
11
  })) {
11
12
  this.container = container;
@@ -42,7 +43,7 @@ class InstanceLoader {
42
43
  await this.createInstancesOfControllers(moduleRef);
43
44
  const { name } = moduleRef;
44
45
  this.isModuleWhitelisted(name) &&
45
- this.logger.log((0, messages_1.MODULE_INIT_MESSAGE) `${name}`);
46
+ this.logger.log(MODULE_INIT_MESSAGE `${name}`);
46
47
  }));
47
48
  }
48
49
  createPrototypesOfProviders(moduleRef) {
@@ -82,7 +83,6 @@ class InstanceLoader {
82
83
  }));
83
84
  }
84
85
  isModuleWhitelisted(name) {
85
- return name !== internal_core_module_1.InternalCoreModule.name;
86
+ return name !== InternalCoreModule.name;
86
87
  }
87
88
  }
88
- exports.InstanceLoader = InstanceLoader;
@@ -1,8 +1,8 @@
1
- import { Provider, Scope, Type } from '@nestjs/common';
2
- import { EnhancerSubtype } from '@nestjs/common/constants';
3
- import { FactoryProvider, InjectionToken } from '@nestjs/common/interfaces';
4
- import { Module } from './module';
5
- import { SettlementSignal } from './settlement-signal';
1
+ import type { FactoryProvider, InjectionToken } from '@nestjs/common';
2
+ import { type Provider, Scope, type Type } from '@nestjs/common';
3
+ import { type EnhancerSubtype } from '@nestjs/common/internal';
4
+ import { Module } from './module.js';
5
+ import { SettlementSignal } from './settlement-signal.js';
6
6
  export declare const INSTANCE_METADATA_SYMBOL: unique symbol;
7
7
  export declare const INSTANCE_ID_SYMBOL: unique symbol;
8
8
  export interface HostComponentInfo {
@@ -52,6 +52,9 @@ export declare class InstanceWrapper<T = any> {
52
52
  private transientMap?;
53
53
  private isTreeStatic;
54
54
  private isTreeDurable;
55
+ private _hierarchyLevel;
56
+ get hierarchyLevel(): number;
57
+ set hierarchyLevel(level: number);
55
58
  /**
56
59
  * The root inquirer reference. Present only if child instance wrapper
57
60
  * is transient and has a parent inquirer.