@depup/nestjs__core 11.2.3-depup.0 → 12.0.2-depup.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/adapters/http-adapter.d.ts +372 -3
- package/adapters/http-adapter.js +135 -5
- package/adapters/index.d.ts +1 -1
- package/adapters/index.js +1 -4
- package/application-config.d.ts +13 -4
- package/application-config.js +34 -15
- package/changes.json +1 -1
- package/constants.d.ts +1 -1
- package/constants.js +10 -13
- package/discovery/discoverable-meta-host-collection.d.ts +3 -3
- package/discovery/discoverable-meta-host-collection.js +25 -20
- package/discovery/discovery-module.js +9 -12
- package/discovery/discovery-service.d.ts +4 -4
- package/discovery/discovery-service.js +17 -19
- package/discovery/index.d.ts +2 -2
- package/discovery/index.js +2 -5
- package/errors/exception-handler.js +3 -7
- package/errors/exceptions/circular-dependency.exception.d.ts +1 -1
- package/errors/exceptions/circular-dependency.exception.js +2 -6
- package/errors/exceptions/index.d.ts +9 -8
- package/errors/exceptions/index.js +9 -11
- package/errors/exceptions/invalid-class-module.exception.d.ts +1 -1
- package/errors/exceptions/invalid-class-module.exception.js +4 -8
- package/errors/exceptions/invalid-class-scope.exception.d.ts +2 -2
- package/errors/exceptions/invalid-class-scope.exception.js +6 -10
- package/errors/exceptions/invalid-class.exception.d.ts +1 -1
- package/errors/exceptions/invalid-class.exception.js +4 -8
- package/errors/exceptions/invalid-exception-filter.exception.d.ts +1 -1
- package/errors/exceptions/invalid-exception-filter.exception.js +4 -8
- package/errors/exceptions/invalid-middleware-configuration.exception.d.ts +1 -1
- package/errors/exceptions/invalid-middleware-configuration.exception.js +4 -8
- package/errors/exceptions/invalid-middleware.exception.d.ts +1 -1
- package/errors/exceptions/invalid-middleware.exception.js +4 -8
- package/errors/exceptions/invalid-module.exception.d.ts +1 -1
- package/errors/exceptions/invalid-module.exception.js +4 -8
- package/errors/exceptions/route-conflict.exception.d.ts +4 -0
- package/errors/exceptions/route-conflict.exception.js +7 -0
- package/errors/exceptions/runtime.exception.js +1 -5
- package/errors/exceptions/undefined-dependency.exception.d.ts +3 -3
- package/errors/exceptions/undefined-dependency.exception.js +4 -8
- package/errors/exceptions/undefined-forwardref.exception.d.ts +2 -2
- package/errors/exceptions/undefined-forwardref.exception.js +4 -8
- package/errors/exceptions/undefined-module.exception.d.ts +1 -1
- package/errors/exceptions/undefined-module.exception.js +4 -8
- package/errors/exceptions/unknown-dependencies.exception.d.ts +3 -3
- package/errors/exceptions/unknown-dependencies.exception.js +8 -8
- package/errors/exceptions/unknown-element.exception.d.ts +1 -1
- package/errors/exceptions/unknown-element.exception.js +2 -6
- package/errors/exceptions/unknown-export.exception.d.ts +1 -1
- package/errors/exceptions/unknown-export.exception.js +4 -8
- package/errors/exceptions/unknown-module.exception.d.ts +1 -1
- package/errors/exceptions/unknown-module.exception.js +2 -6
- package/errors/exceptions/unknown-request-mapping.exception.d.ts +1 -1
- package/errors/exceptions/unknown-request-mapping.exception.js +4 -8
- package/errors/exceptions-zone.js +6 -10
- package/errors/messages.d.ts +5 -2
- package/errors/messages.js +26 -32
- package/exceptions/base-exception-filter-context.d.ts +6 -7
- package/exceptions/base-exception-filter-context.js +13 -16
- package/exceptions/base-exception-filter.d.ts +4 -4
- package/exceptions/base-exception-filter.js +46 -23
- package/exceptions/exceptions-handler.d.ts +4 -4
- package/exceptions/exceptions-handler.js +8 -16
- package/exceptions/external-exception-filter-context.d.ts +8 -8
- package/exceptions/external-exception-filter-context.js +14 -18
- package/exceptions/external-exception-filter.d.ts +1 -1
- package/exceptions/external-exception-filter.js +4 -8
- package/exceptions/external-exceptions-handler.d.ts +3 -3
- package/exceptions/external-exceptions-handler.js +8 -16
- package/exceptions/index.d.ts +1 -1
- package/exceptions/index.js +1 -4
- package/guards/constants.js +1 -4
- package/guards/guards-consumer.d.ts +4 -3
- package/guards/guards-consumer.js +8 -12
- package/guards/guards-context-creator.d.ts +11 -10
- package/guards/guards-context-creator.js +18 -20
- package/guards/index.d.ts +3 -3
- package/guards/index.js +3 -6
- package/helpers/barrier.js +5 -5
- package/helpers/context-creator.d.ts +2 -2
- package/helpers/context-creator.js +3 -7
- package/helpers/context-id-factory.d.ts +1 -1
- package/helpers/context-id-factory.js +10 -14
- package/helpers/context-utils.d.ts +6 -3
- package/helpers/context-utils.js +7 -12
- package/helpers/execution-context-host.d.ts +3 -3
- package/helpers/execution-context-host.js +5 -6
- package/helpers/external-context-creator.d.ts +15 -18
- package/helpers/external-context-creator.js +54 -43
- package/helpers/external-proxy.d.ts +2 -2
- package/helpers/external-proxy.js +3 -7
- package/helpers/get-class-scope.d.ts +2 -2
- package/helpers/get-class-scope.js +3 -6
- package/helpers/handler-metadata-storage.d.ts +4 -4
- package/helpers/handler-metadata-storage.js +7 -15
- package/helpers/http-adapter-host.d.ts +1 -1
- package/helpers/http-adapter-host.js +6 -11
- package/helpers/index.d.ts +3 -3
- package/helpers/index.js +3 -6
- package/helpers/interfaces/external-handler-metadata.interface.d.ts +2 -2
- package/helpers/interfaces/external-handler-metadata.interface.js +1 -2
- package/helpers/interfaces/index.d.ts +2 -2
- package/helpers/interfaces/index.js +2 -5
- package/helpers/interfaces/params-metadata.interface.d.ts +1 -1
- package/helpers/interfaces/params-metadata.interface.js +1 -2
- package/helpers/is-durable.d.ts +1 -1
- package/helpers/is-durable.js +3 -6
- package/helpers/load-adapter.d.ts +1 -1
- package/helpers/load-adapter.js +5 -8
- package/helpers/messages.d.ts +1 -1
- package/helpers/messages.js +10 -20
- package/helpers/optional-require.d.ts +1 -1
- package/helpers/optional-require.js +2 -5
- package/helpers/rethrow.js +1 -5
- package/helpers/router-method-factory.d.ts +2 -2
- package/helpers/router-method-factory.js +21 -25
- package/helpers/safe-instance-decorator.js +3 -6
- package/hooks/before-app-shutdown.hook.d.ts +3 -3
- package/hooks/before-app-shutdown.hook.js +25 -23
- package/hooks/index.d.ts +5 -5
- package/hooks/index.js +5 -8
- package/hooks/on-app-bootstrap.hook.d.ts +3 -3
- package/hooks/on-app-bootstrap.hook.js +15 -22
- package/hooks/on-app-shutdown.hook.d.ts +3 -3
- package/hooks/on-app-shutdown.hook.js +25 -23
- package/hooks/on-module-destroy.hook.d.ts +3 -3
- package/hooks/on-module-destroy.hook.js +25 -23
- package/hooks/on-module-init.hook.d.ts +3 -3
- package/hooks/on-module-init.hook.js +15 -22
- package/hooks/utils/get-instances-grouped-by-hierarchy-level.d.ts +3 -0
- package/hooks/utils/get-instances-grouped-by-hierarchy-level.js +27 -0
- package/hooks/utils/get-sorted-hierarchy-levels.d.ts +1 -0
- package/hooks/utils/get-sorted-hierarchy-levels.js +7 -0
- package/index.d.ts +16 -16
- package/index.js +17 -26
- package/injector/abstract-instance-resolver.d.ts +6 -6
- package/injector/abstract-instance-resolver.js +7 -11
- package/injector/compiler.d.ts +2 -2
- package/injector/compiler.js +2 -5
- package/injector/constants.d.ts +1 -1
- package/injector/constants.js +2 -5
- package/injector/container.d.ts +13 -14
- package/injector/container.js +40 -40
- package/injector/helpers/is-debug-mode.util.d.ts +1 -0
- package/injector/helpers/is-debug-mode.util.js +3 -0
- package/injector/helpers/provider-classifier.d.ts +1 -1
- package/injector/helpers/provider-classifier.js +5 -10
- package/injector/helpers/silent-logger.js +9 -16
- package/injector/index.d.ts +6 -6
- package/injector/index.js +5 -8
- package/injector/injector.d.ts +7 -7
- package/injector/injector.js +104 -93
- package/injector/inquirer/index.d.ts +1 -1
- package/injector/inquirer/index.js +1 -4
- package/injector/inquirer/inquirer-constants.js +1 -4
- package/injector/inquirer/inquirer-providers.d.ts +1 -1
- package/injector/inquirer/inquirer-providers.js +5 -8
- package/injector/instance-links-host.d.ts +3 -3
- package/injector/instance-links-host.js +8 -11
- package/injector/instance-loader.d.ts +5 -5
- package/injector/instance-loader.js +17 -11
- package/injector/instance-wrapper.d.ts +8 -6
- package/injector/instance-wrapper.js +98 -81
- package/injector/internal-core-module/index.d.ts +1 -1
- package/injector/internal-core-module/index.js +1 -4
- package/injector/internal-core-module/internal-core-module-factory.d.ts +6 -6
- package/injector/internal-core-module/internal-core-module-factory.js +23 -27
- package/injector/internal-core-module/internal-core-module.d.ts +2 -2
- package/injector/internal-core-module/internal-core-module.js +17 -20
- package/injector/internal-providers-storage.d.ts +2 -2
- package/injector/internal-providers-storage.js +4 -9
- package/injector/lazy-module-loader/lazy-module-loader-options.interface.js +1 -2
- package/injector/lazy-module-loader/lazy-module-loader.d.ts +8 -8
- package/injector/lazy-module-loader/lazy-module-loader.js +36 -27
- package/injector/module-ref.d.ts +7 -7
- package/injector/module-ref.js +30 -35
- package/injector/module.d.ts +5 -5
- package/injector/module.js +97 -83
- package/injector/modules-container.d.ts +1 -1
- package/injector/modules-container.js +5 -12
- package/injector/opaque-key-factory/by-reference-module-opaque-key-factory.d.ts +2 -4
- package/injector/opaque-key-factory/by-reference-module-opaque-key-factory.js +6 -9
- package/injector/opaque-key-factory/deep-hashed-module-opaque-key-factory.d.ts +2 -3
- package/injector/opaque-key-factory/deep-hashed-module-opaque-key-factory.js +17 -22
- package/injector/opaque-key-factory/interfaces/module-opaque-key-factory.interface.d.ts +1 -3
- package/injector/opaque-key-factory/interfaces/module-opaque-key-factory.interface.js +1 -2
- package/injector/settlement-signal.js +5 -7
- package/injector/topology-tree/topology-tree.d.ts +1 -1
- package/injector/topology-tree/topology-tree.js +6 -9
- package/injector/topology-tree/tree-node.js +4 -6
- package/inspector/deterministic-uuid-registry.js +2 -6
- package/inspector/graph-inspector.d.ts +7 -7
- package/inspector/graph-inspector.js +10 -12
- package/inspector/index.d.ts +4 -4
- package/inspector/index.js +4 -7
- package/inspector/initialize-on-preview.allowlist.d.ts +1 -1
- package/inspector/initialize-on-preview.allowlist.js +2 -6
- package/inspector/interfaces/edge.interface.d.ts +1 -1
- package/inspector/interfaces/edge.interface.js +1 -2
- package/inspector/interfaces/enhancer-metadata-cache-entry.interface.d.ts +3 -3
- package/inspector/interfaces/enhancer-metadata-cache-entry.interface.js +1 -2
- package/inspector/interfaces/entrypoint.interface.d.ts +2 -2
- package/inspector/interfaces/entrypoint.interface.js +1 -2
- package/inspector/interfaces/extras.interface.d.ts +1 -1
- package/inspector/interfaces/extras.interface.js +1 -2
- package/inspector/interfaces/node.interface.d.ts +2 -2
- package/inspector/interfaces/node.interface.js +1 -2
- package/inspector/interfaces/serialized-graph-json.interface.d.ts +6 -6
- package/inspector/interfaces/serialized-graph-json.interface.js +1 -2
- package/inspector/interfaces/serialized-graph-metadata.interface.d.ts +1 -1
- package/inspector/interfaces/serialized-graph-metadata.interface.js +1 -2
- package/inspector/noop-graph-inspector.d.ts +1 -1
- package/inspector/noop-graph-inspector.js +2 -5
- package/inspector/partial-graph.host.d.ts +2 -2
- package/inspector/partial-graph.host.js +2 -5
- package/inspector/serialized-graph.d.ts +7 -7
- package/inspector/serialized-graph.js +35 -40
- package/inspector/uuid-factory.js +8 -12
- package/interceptors/index.d.ts +2 -2
- package/interceptors/index.js +2 -5
- package/interceptors/interceptors-consumer.d.ts +4 -3
- package/interceptors/interceptors-consumer.js +14 -18
- package/interceptors/interceptors-context-creator.d.ts +10 -9
- package/interceptors/interceptors-context-creator.js +18 -20
- package/interfaces/index.d.ts +2 -0
- package/interfaces/index.js +2 -0
- package/interfaces/module-definition.interface.d.ts +2 -2
- package/interfaces/module-definition.interface.js +1 -2
- package/interfaces/module-override.interface.d.ts +1 -1
- package/interfaces/module-override.interface.js +1 -2
- package/internal.d.ts +42 -0
- package/internal.js +50 -0
- package/metadata-scanner.d.ts +1 -1
- package/metadata-scanner.js +8 -14
- package/middleware/builder.d.ts +4 -4
- package/middleware/builder.js +82 -80
- package/middleware/container.d.ts +4 -4
- package/middleware/container.js +10 -13
- package/middleware/index.d.ts +1 -1
- package/middleware/index.js +1 -4
- package/middleware/middleware-module.d.ts +8 -9
- package/middleware/middleware-module.js +49 -46
- package/middleware/resolver.d.ts +3 -3
- package/middleware/resolver.js +3 -5
- package/middleware/route-info-path-extractor.d.ts +2 -2
- package/middleware/route-info-path-extractor.js +26 -25
- package/middleware/routes-mapper.d.ts +4 -3
- package/middleware/routes-mapper.js +22 -24
- package/middleware/utils.d.ts +3 -2
- package/middleware/utils.js +34 -45
- package/nest-application-context.d.ts +26 -11
- package/nest-application-context.js +79 -67
- package/nest-application.d.ts +19 -11
- package/nest-application.js +168 -65
- package/nest-factory.d.ts +4 -5
- package/nest-factory.js +61 -68
- package/package.json +17 -9
- package/pipes/index.d.ts +3 -3
- package/pipes/index.js +3 -6
- package/pipes/params-token-factory.d.ts +2 -2
- package/pipes/params-token-factory.js +5 -9
- package/pipes/pipes-consumer.d.ts +3 -7
- package/pipes/pipes-consumer.js +17 -18
- package/pipes/pipes-context-creator.d.ts +10 -9
- package/pipes/pipes-context-creator.js +18 -20
- package/repl/assign-to-object.util.js +1 -4
- package/repl/constants.js +1 -4
- package/repl/index.d.ts +1 -1
- package/repl/index.js +1 -4
- package/repl/native-functions/debug-repl-fn.d.ts +2 -2
- package/repl/native-functions/debug-repl-fn.js +14 -21
- package/repl/native-functions/get-repl-fn.d.ts +2 -2
- package/repl/native-functions/get-repl-fn.js +8 -15
- package/repl/native-functions/help-repl-fn.d.ts +2 -2
- package/repl/native-functions/help-repl-fn.js +13 -20
- package/repl/native-functions/index.d.ts +6 -6
- package/repl/native-functions/index.js +6 -9
- package/repl/native-functions/methods-repl-fn.d.ts +2 -2
- package/repl/native-functions/methods-repl-fn.js +12 -19
- package/repl/native-functions/resolve-repl-fn.d.ts +2 -2
- package/repl/native-functions/resolve-repl-fn.js +7 -14
- package/repl/native-functions/select-relp-fn.d.ts +2 -2
- package/repl/native-functions/select-relp-fn.js +7 -14
- package/repl/repl-context.d.ts +3 -3
- package/repl/repl-context.js +21 -23
- package/repl/repl-function.d.ts +3 -3
- package/repl/repl-function.js +5 -7
- package/repl/repl-logger.js +10 -14
- package/repl/repl-native-commands.js +1 -4
- package/repl/repl.d.ts +1 -1
- package/repl/repl.interfaces.d.ts +2 -2
- package/repl/repl.interfaces.js +1 -2
- package/repl/repl.js +17 -20
- package/router/index.d.ts +3 -3
- package/router/index.js +3 -8
- package/router/interfaces/exceptions-filter.interface.d.ts +3 -3
- package/router/interfaces/exceptions-filter.interface.js +1 -2
- package/router/interfaces/exclude-route-metadata.interface.d.ts +1 -1
- package/router/interfaces/exclude-route-metadata.interface.js +1 -2
- package/router/interfaces/index.d.ts +4 -1
- package/router/interfaces/index.js +4 -4
- package/router/interfaces/resolved-route.interface.d.ts +32 -0
- package/router/interfaces/resolved-route.interface.js +1 -0
- package/router/interfaces/resolver.interface.d.ts +5 -1
- package/router/interfaces/resolver.interface.js +1 -2
- package/router/interfaces/route-conflict.interface.d.ts +14 -0
- package/router/interfaces/route-conflict.interface.js +1 -0
- package/router/interfaces/route-params-factory.interface.d.ts +1 -1
- package/router/interfaces/route-params-factory.interface.js +1 -2
- package/router/interfaces/route-path-metadata.interface.d.ts +2 -2
- package/router/interfaces/route-path-metadata.interface.js +1 -2
- package/router/interfaces/route-resolution-options.interface.d.ts +24 -0
- package/router/interfaces/route-resolution-options.interface.js +1 -0
- package/router/interfaces/routes.interface.d.ts +1 -1
- package/router/interfaces/routes.interface.js +1 -2
- package/router/legacy-route-converter.js +3 -7
- package/router/paths-explorer.d.ts +4 -5
- package/router/paths-explorer.js +11 -15
- package/router/request/index.d.ts +1 -1
- package/router/request/index.js +1 -5
- package/router/request/request-constants.js +2 -5
- package/router/request/request-providers.d.ts +1 -1
- package/router/request/request-providers.js +5 -8
- package/router/route-conflict-detector.d.ts +71 -0
- package/router/route-conflict-detector.js +276 -0
- package/router/route-params-factory.d.ts +2 -2
- package/router/route-params-factory.js +15 -19
- package/router/route-path-factory.d.ts +4 -4
- package/router/route-path-factory.js +19 -22
- package/router/route-specificity-sorter.d.ts +23 -0
- package/router/route-specificity-sorter.js +59 -0
- package/router/router-exception-filters.d.ts +9 -9
- package/router/router-exception-filters.js +15 -18
- package/router/router-execution-context.d.ts +17 -20
- package/router/router-execution-context.js +62 -55
- package/router/router-explorer.d.ts +25 -18
- package/router/router-explorer.js +116 -73
- package/router/router-module.d.ts +4 -4
- package/router/router-module.js +21 -23
- package/router/router-proxy.d.ts +1 -1
- package/router/router-proxy.js +4 -8
- package/router/router-response-controller.d.ts +2 -2
- package/router/router-response-controller.js +23 -27
- package/router/routes-resolver.d.ts +13 -11
- package/router/routes-resolver.js +42 -55
- package/router/sse-stream.d.ts +2 -1
- package/router/sse-stream.js +29 -24
- package/router/utils/exclude-route.util.d.ts +1 -1
- package/router/utils/exclude-route.util.js +7 -12
- package/router/utils/flatten-route-paths.util.d.ts +2 -2
- package/router/utils/flatten-route-paths.util.js +4 -7
- package/router/utils/index.d.ts +2 -2
- package/router/utils/index.js +2 -5
- package/scanner.d.ts +11 -11
- package/scanner.js +66 -67
- package/services/index.d.ts +1 -1
- package/services/index.js +1 -4
- package/services/reflector.service.d.ts +1 -1
- package/services/reflector.service.js +9 -13
- package/tsconfig.build.json +1 -9
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { Logger } from '@nestjs/common';
|
|
2
|
+
import { DiscoverableMetaHostCollection } from '../discovery/discoverable-meta-host-collection.js';
|
|
3
|
+
import { MODULE_INIT_MESSAGE } from '../helpers/messages.js';
|
|
4
|
+
import { InternalCoreModule } from './internal-core-module/internal-core-module.js';
|
|
5
|
+
export class InstanceLoader {
|
|
6
|
+
container;
|
|
7
|
+
injector;
|
|
8
|
+
graphInspector;
|
|
9
|
+
logger;
|
|
10
|
+
constructor(container, injector, graphInspector, logger = new Logger(InstanceLoader.name, {
|
|
9
11
|
timestamp: true,
|
|
10
12
|
})) {
|
|
11
13
|
this.container = container;
|
|
@@ -42,7 +44,7 @@ class InstanceLoader {
|
|
|
42
44
|
await this.createInstancesOfControllers(moduleRef);
|
|
43
45
|
const { name } = moduleRef;
|
|
44
46
|
this.isModuleWhitelisted(name) &&
|
|
45
|
-
this.logger.log(
|
|
47
|
+
this.logger.log(MODULE_INIT_MESSAGE `${name}`);
|
|
46
48
|
}));
|
|
47
49
|
}
|
|
48
50
|
createPrototypesOfProviders(moduleRef) {
|
|
@@ -55,6 +57,11 @@ class InstanceLoader {
|
|
|
55
57
|
await Promise.all(wrappers.map(async (item) => {
|
|
56
58
|
await this.injector.loadProvider(item, moduleRef);
|
|
57
59
|
this.graphInspector.inspectInstanceWrapper(item, moduleRef);
|
|
60
|
+
if (!item.isAlias) {
|
|
61
|
+
// an alias wrapper is factory-shaped, so inspecting it would
|
|
62
|
+
// discover the aliased provider twice
|
|
63
|
+
DiscoverableMetaHostCollection.inspectProvider(this.container.getModules(), item);
|
|
64
|
+
}
|
|
58
65
|
}));
|
|
59
66
|
}
|
|
60
67
|
createPrototypesOfControllers(moduleRef) {
|
|
@@ -82,7 +89,6 @@ class InstanceLoader {
|
|
|
82
89
|
}));
|
|
83
90
|
}
|
|
84
91
|
isModuleWhitelisted(name) {
|
|
85
|
-
return name !==
|
|
92
|
+
return name !== InternalCoreModule.name;
|
|
86
93
|
}
|
|
87
94
|
}
|
|
88
|
-
exports.InstanceLoader = InstanceLoader;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
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.
|
|
@@ -96,6 +99,5 @@ export declare class InstanceWrapper<T = any> {
|
|
|
96
99
|
private initialize;
|
|
97
100
|
private printIntrospectedAsRequestScoped;
|
|
98
101
|
private printIntrospectedAsDurable;
|
|
99
|
-
private isDebugMode;
|
|
100
102
|
private generateUuid;
|
|
101
103
|
}
|
|
@@ -1,55 +1,78 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const uuid_factory_1 = require("../inspector/uuid-factory");
|
|
11
|
-
const constants_1 = require("./constants");
|
|
12
|
-
const provider_classifier_1 = require("./helpers/provider-classifier");
|
|
13
|
-
exports.INSTANCE_METADATA_SYMBOL = Symbol.for('instance_metadata:cache');
|
|
14
|
-
exports.INSTANCE_ID_SYMBOL = Symbol.for('instance_metadata:id');
|
|
1
|
+
import { Logger, Scope, } from '@nestjs/common';
|
|
2
|
+
import { clc, isNil, isString, isUndefined, randomStringGenerator, } from '@nestjs/common/internal';
|
|
3
|
+
import { iterate } from 'iterare';
|
|
4
|
+
import { UuidFactory } from '../inspector/uuid-factory.js';
|
|
5
|
+
import { STATIC_CONTEXT } from './constants.js';
|
|
6
|
+
import { isDebugMode } from './helpers/is-debug-mode.util.js';
|
|
7
|
+
import { isClassProvider, isFactoryProvider, isValueProvider, } from './helpers/provider-classifier.js';
|
|
8
|
+
export const INSTANCE_METADATA_SYMBOL = Symbol.for('instance_metadata:cache');
|
|
9
|
+
export const INSTANCE_ID_SYMBOL = Symbol.for('instance_metadata:id');
|
|
15
10
|
const dependencyTreeParents = new WeakMap();
|
|
16
|
-
class InstanceWrapper {
|
|
11
|
+
export class InstanceWrapper {
|
|
12
|
+
name;
|
|
13
|
+
token;
|
|
14
|
+
async;
|
|
15
|
+
host;
|
|
16
|
+
isAlias = false;
|
|
17
|
+
subtype;
|
|
18
|
+
scope = Scope.DEFAULT;
|
|
19
|
+
metatype;
|
|
20
|
+
inject;
|
|
21
|
+
forwardRef;
|
|
22
|
+
durable;
|
|
23
|
+
initTime;
|
|
24
|
+
settlementSignal;
|
|
25
|
+
static logger = new Logger(InstanceWrapper.name);
|
|
26
|
+
values = new WeakMap();
|
|
27
|
+
[INSTANCE_METADATA_SYMBOL] = {};
|
|
28
|
+
[INSTANCE_ID_SYMBOL];
|
|
29
|
+
transientMap;
|
|
30
|
+
isTreeStatic;
|
|
31
|
+
isTreeDurable;
|
|
32
|
+
_hierarchyLevel = 0;
|
|
33
|
+
get hierarchyLevel() {
|
|
34
|
+
return this._hierarchyLevel;
|
|
35
|
+
}
|
|
36
|
+
set hierarchyLevel(level) {
|
|
37
|
+
this._hierarchyLevel = level;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The root inquirer reference. Present only if child instance wrapper
|
|
41
|
+
* is transient and has a parent inquirer.
|
|
42
|
+
*/
|
|
43
|
+
rootInquirer;
|
|
17
44
|
constructor(metadata = {}) {
|
|
18
|
-
this.isAlias = false;
|
|
19
|
-
this.scope = common_1.Scope.DEFAULT;
|
|
20
|
-
this.values = new WeakMap();
|
|
21
|
-
this[_a] = {};
|
|
22
45
|
this.initialize(metadata);
|
|
23
|
-
this[
|
|
24
|
-
metadata[
|
|
46
|
+
this[INSTANCE_ID_SYMBOL] =
|
|
47
|
+
metadata[INSTANCE_ID_SYMBOL] ?? this.generateUuid();
|
|
25
48
|
}
|
|
26
49
|
get id() {
|
|
27
|
-
return this[
|
|
50
|
+
return this[INSTANCE_ID_SYMBOL];
|
|
28
51
|
}
|
|
29
52
|
set instance(value) {
|
|
30
|
-
this.values.set(
|
|
53
|
+
this.values.set(STATIC_CONTEXT, { instance: value });
|
|
31
54
|
}
|
|
32
55
|
get instance() {
|
|
33
|
-
const instancePerContext = this.getInstanceByContextId(
|
|
56
|
+
const instancePerContext = this.getInstanceByContextId(STATIC_CONTEXT);
|
|
34
57
|
return instancePerContext.instance;
|
|
35
58
|
}
|
|
36
59
|
get isNotMetatype() {
|
|
37
60
|
return !this.metatype || this.isFactory;
|
|
38
61
|
}
|
|
39
62
|
get isFactory() {
|
|
40
|
-
return !!this.metatype && !
|
|
63
|
+
return !!this.metatype && !isNil(this.inject);
|
|
41
64
|
}
|
|
42
65
|
get isTransient() {
|
|
43
|
-
return this.scope ===
|
|
66
|
+
return this.scope === Scope.TRANSIENT;
|
|
44
67
|
}
|
|
45
68
|
getInstanceByContextId(contextId, inquirerId) {
|
|
46
|
-
if (this.scope ===
|
|
69
|
+
if (this.scope === Scope.TRANSIENT && inquirerId) {
|
|
47
70
|
return this.getInstanceByInquirerId(contextId, inquirerId);
|
|
48
71
|
}
|
|
49
72
|
const instancePerContext = this.values.get(contextId);
|
|
50
73
|
return instancePerContext
|
|
51
74
|
? instancePerContext
|
|
52
|
-
: contextId !==
|
|
75
|
+
: contextId !== STATIC_CONTEXT
|
|
53
76
|
? this.cloneStaticInstance(contextId)
|
|
54
77
|
: {
|
|
55
78
|
instance: null,
|
|
@@ -69,7 +92,7 @@ class InstanceWrapper {
|
|
|
69
92
|
: this.cloneTransientInstance(contextId, inquirerId);
|
|
70
93
|
}
|
|
71
94
|
setInstanceByContextId(contextId, value, inquirerId) {
|
|
72
|
-
if (this.scope ===
|
|
95
|
+
if (this.scope === Scope.TRANSIENT && inquirerId) {
|
|
73
96
|
return this.setInstanceByInquirerId(contextId, inquirerId, value);
|
|
74
97
|
}
|
|
75
98
|
this.values.set(contextId, value);
|
|
@@ -83,7 +106,7 @@ class InstanceWrapper {
|
|
|
83
106
|
collection.set(contextId, value);
|
|
84
107
|
}
|
|
85
108
|
removeInstanceByContextId(contextId, inquirerId) {
|
|
86
|
-
if (this.scope ===
|
|
109
|
+
if (this.scope === Scope.TRANSIENT && inquirerId) {
|
|
87
110
|
return this.removeInstanceByInquirerId(contextId, inquirerId);
|
|
88
111
|
}
|
|
89
112
|
this.values.delete(contextId);
|
|
@@ -96,21 +119,21 @@ class InstanceWrapper {
|
|
|
96
119
|
collection.delete(contextId);
|
|
97
120
|
}
|
|
98
121
|
addCtorMetadata(index, wrapper) {
|
|
99
|
-
if (!this[
|
|
100
|
-
this[
|
|
122
|
+
if (!this[INSTANCE_METADATA_SYMBOL].dependencies) {
|
|
123
|
+
this[INSTANCE_METADATA_SYMBOL].dependencies = [];
|
|
101
124
|
}
|
|
102
|
-
this[
|
|
125
|
+
this[INSTANCE_METADATA_SYMBOL].dependencies[index] = wrapper;
|
|
103
126
|
this.registerDependencyTreeParent(wrapper);
|
|
104
127
|
this.resetDependencyTreeState();
|
|
105
128
|
}
|
|
106
129
|
getCtorMetadata() {
|
|
107
|
-
return this[
|
|
130
|
+
return this[INSTANCE_METADATA_SYMBOL].dependencies;
|
|
108
131
|
}
|
|
109
132
|
addPropertiesMetadata(key, wrapper) {
|
|
110
|
-
if (!this[
|
|
111
|
-
this[
|
|
133
|
+
if (!this[INSTANCE_METADATA_SYMBOL].properties) {
|
|
134
|
+
this[INSTANCE_METADATA_SYMBOL].properties = [];
|
|
112
135
|
}
|
|
113
|
-
this[
|
|
136
|
+
this[INSTANCE_METADATA_SYMBOL].properties.push({
|
|
114
137
|
key,
|
|
115
138
|
wrapper,
|
|
116
139
|
});
|
|
@@ -118,24 +141,24 @@ class InstanceWrapper {
|
|
|
118
141
|
this.resetDependencyTreeState();
|
|
119
142
|
}
|
|
120
143
|
getPropertiesMetadata() {
|
|
121
|
-
return this[
|
|
144
|
+
return this[INSTANCE_METADATA_SYMBOL].properties;
|
|
122
145
|
}
|
|
123
146
|
addEnhancerMetadata(wrapper) {
|
|
124
|
-
if (!this[
|
|
125
|
-
this[
|
|
147
|
+
if (!this[INSTANCE_METADATA_SYMBOL].enhancers) {
|
|
148
|
+
this[INSTANCE_METADATA_SYMBOL].enhancers = [];
|
|
126
149
|
}
|
|
127
|
-
this[
|
|
150
|
+
this[INSTANCE_METADATA_SYMBOL].enhancers.push(wrapper);
|
|
128
151
|
this.registerDependencyTreeParent(wrapper);
|
|
129
152
|
this.resetDependencyTreeState();
|
|
130
153
|
}
|
|
131
154
|
getEnhancersMetadata() {
|
|
132
|
-
return this[
|
|
155
|
+
return this[INSTANCE_METADATA_SYMBOL].enhancers;
|
|
133
156
|
}
|
|
134
157
|
isDependencyTreeDurable(lookupRegistry = []) {
|
|
135
|
-
if (!
|
|
158
|
+
if (!isUndefined(this.isTreeDurable)) {
|
|
136
159
|
return this.isTreeDurable;
|
|
137
160
|
}
|
|
138
|
-
if (this.scope ===
|
|
161
|
+
if (this.scope === Scope.REQUEST) {
|
|
139
162
|
this.isTreeDurable = this.durable === undefined ? false : this.durable;
|
|
140
163
|
if (this.isTreeDurable) {
|
|
141
164
|
this.printIntrospectedAsDurable();
|
|
@@ -155,11 +178,11 @@ class InstanceWrapper {
|
|
|
155
178
|
return this.isTreeDurable;
|
|
156
179
|
}
|
|
157
180
|
introspectDepsAttribute(callback, lookupRegistry = []) {
|
|
158
|
-
if (lookupRegistry.includes(this[
|
|
181
|
+
if (lookupRegistry.includes(this[INSTANCE_ID_SYMBOL])) {
|
|
159
182
|
return false;
|
|
160
183
|
}
|
|
161
|
-
lookupRegistry = lookupRegistry.concat(this[
|
|
162
|
-
const { dependencies, properties, enhancers } = this[
|
|
184
|
+
lookupRegistry = lookupRegistry.concat(this[INSTANCE_ID_SYMBOL]);
|
|
185
|
+
const { dependencies, properties, enhancers } = this[INSTANCE_METADATA_SYMBOL];
|
|
163
186
|
let introspectionResult = dependencies
|
|
164
187
|
? callback(dependencies, lookupRegistry)
|
|
165
188
|
: false;
|
|
@@ -175,10 +198,10 @@ class InstanceWrapper {
|
|
|
175
198
|
return enhancers ? callback(enhancers, lookupRegistry) : false;
|
|
176
199
|
}
|
|
177
200
|
isDependencyTreeStatic(lookupRegistry = []) {
|
|
178
|
-
if (!
|
|
201
|
+
if (!isUndefined(this.isTreeStatic)) {
|
|
179
202
|
return this.isTreeStatic;
|
|
180
203
|
}
|
|
181
|
-
if (this.scope ===
|
|
204
|
+
if (this.scope === Scope.REQUEST) {
|
|
182
205
|
this.isTreeStatic = false;
|
|
183
206
|
this.printIntrospectedAsRequestScoped();
|
|
184
207
|
return this.isTreeStatic;
|
|
@@ -190,7 +213,7 @@ class InstanceWrapper {
|
|
|
190
213
|
return this.isTreeStatic;
|
|
191
214
|
}
|
|
192
215
|
cloneStaticInstance(contextId) {
|
|
193
|
-
const staticInstance = this.getInstanceByContextId(
|
|
216
|
+
const staticInstance = this.getInstanceByContextId(STATIC_CONTEXT);
|
|
194
217
|
if (this.isDependencyTreeStatic()) {
|
|
195
218
|
return staticInstance;
|
|
196
219
|
}
|
|
@@ -207,7 +230,7 @@ class InstanceWrapper {
|
|
|
207
230
|
return instancePerContext;
|
|
208
231
|
}
|
|
209
232
|
cloneTransientInstance(contextId, inquirerId) {
|
|
210
|
-
const staticInstance = this.getInstanceByContextId(
|
|
233
|
+
const staticInstance = this.getInstanceByContextId(STATIC_CONTEXT);
|
|
211
234
|
const instancePerContext = {
|
|
212
235
|
...staticInstance,
|
|
213
236
|
instance: undefined,
|
|
@@ -230,24 +253,24 @@ class InstanceWrapper {
|
|
|
230
253
|
isInRequestScope(contextId, inquirer) {
|
|
231
254
|
const isDependencyTreeStatic = this.isDependencyTreeStatic();
|
|
232
255
|
return (!isDependencyTreeStatic &&
|
|
233
|
-
contextId !==
|
|
256
|
+
contextId !== STATIC_CONTEXT &&
|
|
234
257
|
(!this.isTransient || (this.isTransient && !!inquirer)));
|
|
235
258
|
}
|
|
236
259
|
isLazyTransient(contextId, inquirer) {
|
|
237
260
|
const isInquirerRequestScoped = !!(inquirer && !inquirer.isDependencyTreeStatic());
|
|
238
261
|
return (this.isDependencyTreeStatic() &&
|
|
239
|
-
contextId !==
|
|
262
|
+
contextId !== STATIC_CONTEXT &&
|
|
240
263
|
this.isTransient &&
|
|
241
264
|
isInquirerRequestScoped);
|
|
242
265
|
}
|
|
243
266
|
isExplicitlyRequested(contextId, inquirer) {
|
|
244
267
|
const isSelfRequested = inquirer === this;
|
|
245
268
|
return (this.isDependencyTreeStatic() &&
|
|
246
|
-
contextId !==
|
|
247
|
-
(isSelfRequested || !!(inquirer && inquirer.scope ===
|
|
269
|
+
contextId !== STATIC_CONTEXT &&
|
|
270
|
+
(isSelfRequested || !!(inquirer && inquirer.scope === Scope.TRANSIENT)));
|
|
248
271
|
}
|
|
249
272
|
isStatic(contextId, inquirer) {
|
|
250
|
-
if (!this.isDependencyTreeStatic() || contextId !==
|
|
273
|
+
if (!this.isDependencyTreeStatic() || contextId !== STATIC_CONTEXT) {
|
|
251
274
|
return false;
|
|
252
275
|
}
|
|
253
276
|
// Non-transient provider in static context
|
|
@@ -286,8 +309,8 @@ class InstanceWrapper {
|
|
|
286
309
|
return [];
|
|
287
310
|
}
|
|
288
311
|
const instances = [...this.transientMap.values()];
|
|
289
|
-
return
|
|
290
|
-
.map(item => item.get(
|
|
312
|
+
return iterate(instances)
|
|
313
|
+
.map(item => item.get(STATIC_CONTEXT))
|
|
291
314
|
.filter(item => {
|
|
292
315
|
// Only return items where constructor has been actually called
|
|
293
316
|
// This prevents calling lifecycle hooks on non-instantiated transient services
|
|
@@ -296,27 +319,27 @@ class InstanceWrapper {
|
|
|
296
319
|
.toArray();
|
|
297
320
|
}
|
|
298
321
|
mergeWith(provider) {
|
|
299
|
-
if (
|
|
322
|
+
if (isValueProvider(provider)) {
|
|
300
323
|
this.metatype = null;
|
|
301
324
|
this.inject = null;
|
|
302
|
-
this.scope =
|
|
303
|
-
this.setInstanceByContextId(
|
|
325
|
+
this.scope = Scope.DEFAULT;
|
|
326
|
+
this.setInstanceByContextId(STATIC_CONTEXT, {
|
|
304
327
|
instance: provider.useValue,
|
|
305
328
|
isResolved: true,
|
|
306
329
|
isPending: false,
|
|
307
330
|
});
|
|
308
331
|
}
|
|
309
|
-
else if (
|
|
332
|
+
else if (isClassProvider(provider)) {
|
|
310
333
|
this.inject = null;
|
|
311
334
|
this.metatype = provider.useClass;
|
|
312
335
|
}
|
|
313
|
-
else if (
|
|
336
|
+
else if (isFactoryProvider(provider)) {
|
|
314
337
|
this.metatype = provider.useFactory;
|
|
315
338
|
this.inject = provider.inject || [];
|
|
316
339
|
}
|
|
317
340
|
}
|
|
318
341
|
isNewable() {
|
|
319
|
-
return
|
|
342
|
+
return isNil(this.inject) && this.metatype && this.metatype.prototype;
|
|
320
343
|
}
|
|
321
344
|
registerDependencyTreeParent(wrapper) {
|
|
322
345
|
if (wrapper instanceof InstanceWrapper) {
|
|
@@ -326,10 +349,10 @@ class InstanceWrapper {
|
|
|
326
349
|
}
|
|
327
350
|
}
|
|
328
351
|
resetDependencyTreeState(lookupRegistry = new Set()) {
|
|
329
|
-
if (lookupRegistry.has(this[
|
|
352
|
+
if (lookupRegistry.has(this[INSTANCE_ID_SYMBOL])) {
|
|
330
353
|
return;
|
|
331
354
|
}
|
|
332
|
-
lookupRegistry.add(this[
|
|
355
|
+
lookupRegistry.add(this[INSTANCE_ID_SYMBOL]);
|
|
333
356
|
this.isTreeStatic = undefined;
|
|
334
357
|
this.isTreeDurable = undefined;
|
|
335
358
|
dependencyTreeParents
|
|
@@ -339,37 +362,31 @@ class InstanceWrapper {
|
|
|
339
362
|
initialize(metadata) {
|
|
340
363
|
const { instance, isResolved, ...wrapperPartial } = metadata;
|
|
341
364
|
Object.assign(this, wrapperPartial);
|
|
342
|
-
this.setInstanceByContextId(
|
|
365
|
+
this.setInstanceByContextId(STATIC_CONTEXT, {
|
|
343
366
|
instance: instance,
|
|
344
367
|
isResolved,
|
|
345
368
|
});
|
|
346
|
-
this.scope ===
|
|
369
|
+
this.scope === Scope.TRANSIENT && (this.transientMap = new Map());
|
|
347
370
|
}
|
|
348
371
|
printIntrospectedAsRequestScoped() {
|
|
349
|
-
if (!
|
|
372
|
+
if (!isDebugMode() || this.name === 'REQUEST') {
|
|
350
373
|
return;
|
|
351
374
|
}
|
|
352
|
-
if (
|
|
353
|
-
InstanceWrapper.logger.log(`${
|
|
375
|
+
if (isString(this.name)) {
|
|
376
|
+
InstanceWrapper.logger.log(`${clc.cyanBright(this.name)}${clc.green(' introspected as ')}${clc.magentaBright('request-scoped')}`);
|
|
354
377
|
}
|
|
355
378
|
}
|
|
356
379
|
printIntrospectedAsDurable() {
|
|
357
|
-
if (!
|
|
380
|
+
if (!isDebugMode()) {
|
|
358
381
|
return;
|
|
359
382
|
}
|
|
360
|
-
if (
|
|
361
|
-
InstanceWrapper.logger.log(`${
|
|
383
|
+
if (isString(this.name)) {
|
|
384
|
+
InstanceWrapper.logger.log(`${clc.cyanBright(this.name)}${clc.green(' introspected as ')}${clc.magentaBright('durable')}`);
|
|
362
385
|
}
|
|
363
386
|
}
|
|
364
|
-
isDebugMode() {
|
|
365
|
-
return !!process.env.NEST_DEBUG;
|
|
366
|
-
}
|
|
367
387
|
generateUuid() {
|
|
368
388
|
let key = this.name?.toString() ?? this.token?.toString();
|
|
369
389
|
key += this.host?.name ?? '';
|
|
370
|
-
return key ?
|
|
390
|
+
return key ? UuidFactory.get(key) : randomStringGenerator();
|
|
371
391
|
}
|
|
372
392
|
}
|
|
373
|
-
exports.InstanceWrapper = InstanceWrapper;
|
|
374
|
-
_a = exports.INSTANCE_METADATA_SYMBOL;
|
|
375
|
-
InstanceWrapper.logger = new common_1.Logger(InstanceWrapper.name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './internal-core-module';
|
|
1
|
+
export * from './internal-core-module.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { HttpAdapterHost } from '../../helpers/http-adapter-host';
|
|
2
|
-
import { GraphInspector } from '../../inspector/graph-inspector';
|
|
3
|
-
import { ModuleOverride } from '../../interfaces/module-override.interface';
|
|
4
|
-
import { DependenciesScanner } from '../../scanner';
|
|
5
|
-
import { ModuleCompiler } from '../compiler';
|
|
6
|
-
import { NestContainer } from '../container';
|
|
1
|
+
import { HttpAdapterHost } from '../../helpers/http-adapter-host.js';
|
|
2
|
+
import { GraphInspector } from '../../inspector/graph-inspector.js';
|
|
3
|
+
import { ModuleOverride } from '../../interfaces/module-override.interface.js';
|
|
4
|
+
import { DependenciesScanner } from '../../scanner.js';
|
|
5
|
+
import { ModuleCompiler } from '../compiler.js';
|
|
6
|
+
import { NestContainer } from '../container.js';
|
|
7
7
|
export declare class InternalCoreModuleFactory {
|
|
8
8
|
static create(container: NestContainer, scanner: DependenciesScanner, moduleCompiler: ModuleCompiler, httpAdapterHost: HttpAdapterHost, graphInspector: GraphInspector, moduleOverrides?: ModuleOverride[]): import("@nestjs/common").DynamicModule;
|
|
9
9
|
}
|
|
@@ -1,52 +1,48 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const modules_container_1 = require("../modules-container");
|
|
13
|
-
const internal_core_module_1 = require("./internal-core-module");
|
|
14
|
-
class InternalCoreModuleFactory {
|
|
1
|
+
import { Logger } from '@nestjs/common';
|
|
2
|
+
import { ExternalContextCreator } from '../../helpers/external-context-creator.js';
|
|
3
|
+
import { HttpAdapterHost } from '../../helpers/http-adapter-host.js';
|
|
4
|
+
import { InitializeOnPreviewAllowlist } from '../../inspector/initialize-on-preview.allowlist.js';
|
|
5
|
+
import { SerializedGraph } from '../../inspector/serialized-graph.js';
|
|
6
|
+
import { Injector } from '../injector.js';
|
|
7
|
+
import { InstanceLoader } from '../instance-loader.js';
|
|
8
|
+
import { LazyModuleLoader } from '../lazy-module-loader/lazy-module-loader.js';
|
|
9
|
+
import { ModulesContainer } from '../modules-container.js';
|
|
10
|
+
import { InternalCoreModule } from './internal-core-module.js';
|
|
11
|
+
export class InternalCoreModuleFactory {
|
|
15
12
|
static create(container, scanner, moduleCompiler, httpAdapterHost, graphInspector, moduleOverrides) {
|
|
16
13
|
const lazyModuleLoaderFactory = () => {
|
|
17
|
-
const logger = new
|
|
14
|
+
const logger = new Logger(LazyModuleLoader.name, {
|
|
18
15
|
timestamp: false,
|
|
19
16
|
});
|
|
20
|
-
const injector = new
|
|
17
|
+
const injector = new Injector({
|
|
21
18
|
preview: container.contextOptions?.preview ?? false,
|
|
22
19
|
instanceDecorator: container.contextOptions?.instrument?.instanceDecorator,
|
|
23
20
|
});
|
|
24
|
-
const instanceLoader = new
|
|
25
|
-
return new
|
|
21
|
+
const instanceLoader = new InstanceLoader(container, injector, graphInspector, logger);
|
|
22
|
+
return new LazyModuleLoader(scanner, instanceLoader, moduleCompiler, container.getModules(), moduleOverrides);
|
|
26
23
|
};
|
|
27
|
-
|
|
28
|
-
return
|
|
24
|
+
InitializeOnPreviewAllowlist.add(InternalCoreModule);
|
|
25
|
+
return InternalCoreModule.register([
|
|
29
26
|
{
|
|
30
|
-
provide:
|
|
31
|
-
useFactory: () =>
|
|
27
|
+
provide: ExternalContextCreator,
|
|
28
|
+
useFactory: () => ExternalContextCreator.fromContainer(container),
|
|
32
29
|
},
|
|
33
30
|
{
|
|
34
|
-
provide:
|
|
31
|
+
provide: ModulesContainer,
|
|
35
32
|
useFactory: () => container.getModules(),
|
|
36
33
|
},
|
|
37
34
|
{
|
|
38
|
-
provide:
|
|
35
|
+
provide: HttpAdapterHost,
|
|
39
36
|
useFactory: () => httpAdapterHost,
|
|
40
37
|
},
|
|
41
38
|
{
|
|
42
|
-
provide:
|
|
39
|
+
provide: LazyModuleLoader,
|
|
43
40
|
useFactory: lazyModuleLoaderFactory,
|
|
44
41
|
},
|
|
45
42
|
{
|
|
46
|
-
provide:
|
|
43
|
+
provide: SerializedGraph,
|
|
47
44
|
useFactory: () => container.serializedGraph,
|
|
48
45
|
},
|
|
49
46
|
]);
|
|
50
47
|
}
|
|
51
48
|
}
|
|
52
|
-
exports.InternalCoreModuleFactory = InternalCoreModuleFactory;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { DynamicModule } from '@nestjs/common';
|
|
2
|
-
import { ExistingProvider, FactoryProvider, ValueProvider } from '@nestjs/common
|
|
1
|
+
import { type DynamicModule } from '@nestjs/common';
|
|
2
|
+
import type { ExistingProvider, FactoryProvider, ValueProvider } from '@nestjs/common';
|
|
3
3
|
export declare class InternalCoreModule {
|
|
4
4
|
static register(providers: Array<ValueProvider | FactoryProvider | ExistingProvider>): DynamicModule;
|
|
5
5
|
}
|
|
@@ -1,15 +1,12 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var InternalCoreModule_1;
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const services_1 = require("../../services");
|
|
9
|
-
const inquirer_providers_1 = require("../inquirer/inquirer-providers");
|
|
2
|
+
import { __decorate } from "tslib";
|
|
3
|
+
import { Global, Module } from '@nestjs/common';
|
|
4
|
+
import { requestProvider } from '../../router/request/request-providers.js';
|
|
5
|
+
import { Reflector } from '../../services/index.js';
|
|
6
|
+
import { inquirerProvider } from '../inquirer/inquirer-providers.js';
|
|
10
7
|
const ReflectorAliasProvider = {
|
|
11
|
-
provide:
|
|
12
|
-
useExisting:
|
|
8
|
+
provide: Reflector.name,
|
|
9
|
+
useExisting: Reflector,
|
|
13
10
|
};
|
|
14
11
|
let InternalCoreModule = InternalCoreModule_1 = class InternalCoreModule {
|
|
15
12
|
static register(providers) {
|
|
@@ -20,21 +17,21 @@ let InternalCoreModule = InternalCoreModule_1 = class InternalCoreModule {
|
|
|
20
17
|
};
|
|
21
18
|
}
|
|
22
19
|
};
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
(
|
|
26
|
-
(0, common_1.Module)({
|
|
20
|
+
InternalCoreModule = InternalCoreModule_1 = __decorate([
|
|
21
|
+
Global(),
|
|
22
|
+
Module({
|
|
27
23
|
providers: [
|
|
28
|
-
|
|
24
|
+
Reflector,
|
|
29
25
|
ReflectorAliasProvider,
|
|
30
|
-
|
|
31
|
-
|
|
26
|
+
requestProvider,
|
|
27
|
+
inquirerProvider,
|
|
32
28
|
],
|
|
33
29
|
exports: [
|
|
34
|
-
|
|
30
|
+
Reflector,
|
|
35
31
|
ReflectorAliasProvider,
|
|
36
|
-
|
|
37
|
-
|
|
32
|
+
requestProvider,
|
|
33
|
+
inquirerProvider,
|
|
38
34
|
],
|
|
39
35
|
})
|
|
40
36
|
], InternalCoreModule);
|
|
37
|
+
export { InternalCoreModule };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AbstractHttpAdapter } from '../adapters';
|
|
2
|
-
import { HttpAdapterHost } from '../helpers/http-adapter-host';
|
|
1
|
+
import { AbstractHttpAdapter } from '../adapters/index.js';
|
|
2
|
+
import { HttpAdapterHost } from '../helpers/http-adapter-host.js';
|
|
3
3
|
export declare class InternalProvidersStorage {
|
|
4
4
|
private readonly _httpAdapterHost;
|
|
5
5
|
private _httpAdapter;
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
class InternalProvidersStorage {
|
|
6
|
-
constructor() {
|
|
7
|
-
this._httpAdapterHost = new http_adapter_host_1.HttpAdapterHost();
|
|
8
|
-
}
|
|
1
|
+
import { HttpAdapterHost } from '../helpers/http-adapter-host.js';
|
|
2
|
+
export class InternalProvidersStorage {
|
|
3
|
+
_httpAdapterHost = new HttpAdapterHost();
|
|
4
|
+
_httpAdapter;
|
|
9
5
|
get httpAdapterHost() {
|
|
10
6
|
return this._httpAdapterHost;
|
|
11
7
|
}
|
|
@@ -16,4 +12,3 @@ class InternalProvidersStorage {
|
|
|
16
12
|
this._httpAdapter = httpAdapter;
|
|
17
13
|
}
|
|
18
14
|
}
|
|
19
|
-
exports.InternalProvidersStorage = InternalProvidersStorage;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
export {};
|