@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.
- package/adapters/http-adapter.d.ts +5 -3
- package/adapters/http-adapter.js +8 -5
- package/adapters/index.d.ts +1 -1
- package/adapters/index.js +1 -4
- package/application-config.d.ts +7 -4
- package/application-config.js +20 -15
- 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 +15 -19
- 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 +8 -8
- package/errors/exceptions/index.js +8 -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/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 +2 -2
- package/errors/messages.js +19 -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 +33 -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 +4 -7
- 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 +20 -24
- package/hooks/before-app-shutdown.hook.d.ts +3 -3
- package/hooks/before-app-shutdown.hook.js +15 -22
- 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 +15 -22
- package/hooks/on-module-destroy.hook.d.ts +3 -3
- package/hooks/on-module-destroy.hook.js +15 -22
- 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/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 -6
- package/injector/injector.js +78 -78
- 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 +11 -11
- package/injector/instance-wrapper.d.ts +8 -5
- package/injector/instance-wrapper.js +93 -74
- 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 +10 -9
- package/injector/module-ref.d.ts +7 -7
- package/injector/module-ref.js +19 -20
- package/injector/module.d.ts +5 -5
- package/injector/module.js +93 -79
- 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 +13 -17
- 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 +38 -0
- package/internal.js +46 -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 +78 -76
- 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 +47 -44
- 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 +10 -9
- package/nest-application-context.js +50 -47
- package/nest-application.d.ts +18 -10
- package/nest-application.js +87 -55
- package/nest-factory.d.ts +4 -5
- package/nest-factory.js +61 -68
- package/package.json +32 -3
- 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 +1 -1
- package/router/interfaces/index.js +1 -4
- package/router/interfaces/resolver.interface.js +1 -2
- 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/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-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/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 +57 -49
- package/router/router-explorer.d.ts +14 -16
- package/router/router-explorer.js +55 -54
- 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 +20 -23
- package/router/routes-resolver.d.ts +8 -9
- package/router/routes-resolver.js +36 -51
- package/router/sse-stream.d.ts +1 -1
- package/router/sse-stream.js +5 -9
- 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 +64 -65
- 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,32 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
class InterceptorsContextCreator extends context_creator_1.ContextCreator {
|
|
1
|
+
import { iterate } from 'iterare';
|
|
2
|
+
import { ContextCreator } from '../helpers/context-creator.js';
|
|
3
|
+
import { STATIC_CONTEXT } from '../injector/constants.js';
|
|
4
|
+
import { INTERCEPTORS_METADATA, isEmpty, isFunction, } from '@nestjs/common/internal';
|
|
5
|
+
export class InterceptorsContextCreator extends ContextCreator {
|
|
6
|
+
container;
|
|
7
|
+
config;
|
|
8
|
+
moduleContext;
|
|
10
9
|
constructor(container, config) {
|
|
11
10
|
super();
|
|
12
11
|
this.container = container;
|
|
13
12
|
this.config = config;
|
|
14
13
|
}
|
|
15
|
-
create(instance, callback, module, contextId =
|
|
14
|
+
create(instance, callback, module, contextId = STATIC_CONTEXT, inquirerId) {
|
|
16
15
|
this.moduleContext = module;
|
|
17
|
-
return this.createContext(instance, callback,
|
|
16
|
+
return this.createContext(instance, callback, INTERCEPTORS_METADATA, contextId, inquirerId);
|
|
18
17
|
}
|
|
19
|
-
createConcreteContext(metadata, contextId =
|
|
20
|
-
if (
|
|
18
|
+
createConcreteContext(metadata, contextId = STATIC_CONTEXT, inquirerId) {
|
|
19
|
+
if (isEmpty(metadata)) {
|
|
21
20
|
return [];
|
|
22
21
|
}
|
|
23
|
-
return
|
|
22
|
+
return iterate(metadata)
|
|
24
23
|
.filter(interceptor => interceptor && (interceptor.name || interceptor.intercept))
|
|
25
24
|
.map(interceptor => this.getInterceptorInstance(interceptor, contextId, inquirerId))
|
|
26
|
-
.filter((interceptor) => interceptor ?
|
|
25
|
+
.filter((interceptor) => interceptor ? isFunction(interceptor.intercept) : false)
|
|
27
26
|
.toArray();
|
|
28
27
|
}
|
|
29
|
-
getInterceptorInstance(metatype, contextId =
|
|
28
|
+
getInterceptorInstance(metatype, contextId = STATIC_CONTEXT, inquirerId) {
|
|
30
29
|
const isObject = !!metatype.intercept;
|
|
31
30
|
if (isObject) {
|
|
32
31
|
return metatype;
|
|
@@ -49,16 +48,16 @@ class InterceptorsContextCreator extends context_creator_1.ContextCreator {
|
|
|
49
48
|
}
|
|
50
49
|
return moduleRef.injectables.get(metatype);
|
|
51
50
|
}
|
|
52
|
-
getGlobalMetadata(contextId =
|
|
51
|
+
getGlobalMetadata(contextId = STATIC_CONTEXT, inquirerId) {
|
|
53
52
|
if (!this.config) {
|
|
54
53
|
return [];
|
|
55
54
|
}
|
|
56
55
|
const globalInterceptors = this.config.getGlobalInterceptors();
|
|
57
|
-
if (contextId ===
|
|
56
|
+
if (contextId === STATIC_CONTEXT && !inquirerId) {
|
|
58
57
|
return globalInterceptors;
|
|
59
58
|
}
|
|
60
59
|
const scopedInterceptorWrappers = this.config.getGlobalRequestInterceptors();
|
|
61
|
-
const scopedInterceptors =
|
|
60
|
+
const scopedInterceptors = iterate(scopedInterceptorWrappers)
|
|
62
61
|
.map(wrapper => wrapper.getInstanceByContextId(this.getContextId(contextId, wrapper), inquirerId))
|
|
63
62
|
.filter(host => !!host)
|
|
64
63
|
.map(host => host.instance)
|
|
@@ -66,4 +65,3 @@ class InterceptorsContextCreator extends context_creator_1.ContextCreator {
|
|
|
66
65
|
return globalInterceptors.concat(scopedInterceptors);
|
|
67
66
|
}
|
|
68
67
|
}
|
|
69
|
-
exports.InterceptorsContextCreator = InterceptorsContextCreator;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { DynamicModule, ForwardReference } from '@nestjs/common';
|
|
2
|
-
import { Type } from '@nestjs/common
|
|
1
|
+
import type { DynamicModule, ForwardReference } from '@nestjs/common';
|
|
2
|
+
import type { Type } from '@nestjs/common';
|
|
3
3
|
export type ModuleDefinition = ForwardReference | Type<unknown> | DynamicModule | Promise<DynamicModule>;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
export {};
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
export {};
|
package/internal.d.ts
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal module - not part of the public API.
|
|
3
|
+
* These exports are used by sibling @nestjs packages.
|
|
4
|
+
* Do not depend on these in your application code.
|
|
5
|
+
* @internal
|
|
6
|
+
* @module
|
|
7
|
+
*/
|
|
8
|
+
export { RuntimeException } from './errors/exceptions/runtime.exception.js';
|
|
9
|
+
export { InvalidExceptionFilterException } from './errors/exceptions/invalid-exception-filter.exception.js';
|
|
10
|
+
export { MESSAGES } from './constants.js';
|
|
11
|
+
export { DependenciesScanner } from './scanner.js';
|
|
12
|
+
export { Injector, InjectorDependencyContext } from './injector/injector.js';
|
|
13
|
+
export { InstanceLoader } from './injector/instance-loader.js';
|
|
14
|
+
export { InstanceWrapper } from './injector/instance-wrapper.js';
|
|
15
|
+
export { Module } from './injector/module.js';
|
|
16
|
+
export { STATIC_CONTEXT } from './injector/constants.js';
|
|
17
|
+
export { ExecutionContextHost } from './helpers/execution-context-host.js';
|
|
18
|
+
export { ContextUtils, ParamProperties } from './helpers/context-utils.js';
|
|
19
|
+
export { HandlerMetadataStorage } from './helpers/handler-metadata-storage.js';
|
|
20
|
+
export { RouterMethodFactory } from './helpers/router-method-factory.js';
|
|
21
|
+
export { loadAdapter } from './helpers/load-adapter.js';
|
|
22
|
+
export { optionalRequire } from './helpers/optional-require.js';
|
|
23
|
+
export { ParamsMetadata } from './helpers/interfaces/index.js';
|
|
24
|
+
export { GuardsConsumer } from './guards/guards-consumer.js';
|
|
25
|
+
export { GuardsContextCreator } from './guards/guards-context-creator.js';
|
|
26
|
+
export { FORBIDDEN_MESSAGE } from './guards/constants.js';
|
|
27
|
+
export { PipesConsumer } from './pipes/pipes-consumer.js';
|
|
28
|
+
export { PipesContextCreator } from './pipes/pipes-context-creator.js';
|
|
29
|
+
export { ParamsTokenFactory } from './pipes/params-token-factory.js';
|
|
30
|
+
export { InterceptorsConsumer } from './interceptors/interceptors-consumer.js';
|
|
31
|
+
export { InterceptorsContextCreator } from './interceptors/interceptors-context-creator.js';
|
|
32
|
+
export { BaseExceptionFilterContext } from './exceptions/base-exception-filter-context.js';
|
|
33
|
+
export { LegacyRouteConverter } from './router/legacy-route-converter.js';
|
|
34
|
+
export { REQUEST_CONTEXT_ID } from './router/request/request-constants.js';
|
|
35
|
+
export { NoopGraphInspector } from './inspector/noop-graph-inspector.js';
|
|
36
|
+
export { UuidFactory, UuidFactoryMode } from './inspector/uuid-factory.js';
|
|
37
|
+
export { ModuleDefinition } from './interfaces/module-definition.interface.js';
|
|
38
|
+
export { ModuleOverride } from './interfaces/module-override.interface.js';
|
package/internal.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal module - not part of the public API.
|
|
3
|
+
* These exports are used by sibling @nestjs packages.
|
|
4
|
+
* Do not depend on these in your application code.
|
|
5
|
+
* @internal
|
|
6
|
+
* @module
|
|
7
|
+
*/
|
|
8
|
+
// Errors
|
|
9
|
+
export { RuntimeException } from './errors/exceptions/runtime.exception.js';
|
|
10
|
+
export { InvalidExceptionFilterException } from './errors/exceptions/invalid-exception-filter.exception.js';
|
|
11
|
+
// Constants
|
|
12
|
+
export { MESSAGES } from './constants.js';
|
|
13
|
+
// Scanner
|
|
14
|
+
export { DependenciesScanner } from './scanner.js';
|
|
15
|
+
// Injector
|
|
16
|
+
export { Injector } from './injector/injector.js';
|
|
17
|
+
export { InstanceLoader } from './injector/instance-loader.js';
|
|
18
|
+
export { InstanceWrapper } from './injector/instance-wrapper.js';
|
|
19
|
+
export { Module } from './injector/module.js';
|
|
20
|
+
export { STATIC_CONTEXT } from './injector/constants.js';
|
|
21
|
+
// Helpers
|
|
22
|
+
export { ExecutionContextHost } from './helpers/execution-context-host.js';
|
|
23
|
+
export { ContextUtils } from './helpers/context-utils.js';
|
|
24
|
+
export { HandlerMetadataStorage } from './helpers/handler-metadata-storage.js';
|
|
25
|
+
export { RouterMethodFactory } from './helpers/router-method-factory.js';
|
|
26
|
+
export { loadAdapter } from './helpers/load-adapter.js';
|
|
27
|
+
export { optionalRequire } from './helpers/optional-require.js';
|
|
28
|
+
// Guards
|
|
29
|
+
export { GuardsConsumer } from './guards/guards-consumer.js';
|
|
30
|
+
export { GuardsContextCreator } from './guards/guards-context-creator.js';
|
|
31
|
+
export { FORBIDDEN_MESSAGE } from './guards/constants.js';
|
|
32
|
+
// Pipes
|
|
33
|
+
export { PipesConsumer } from './pipes/pipes-consumer.js';
|
|
34
|
+
export { PipesContextCreator } from './pipes/pipes-context-creator.js';
|
|
35
|
+
export { ParamsTokenFactory } from './pipes/params-token-factory.js';
|
|
36
|
+
// Interceptors
|
|
37
|
+
export { InterceptorsConsumer } from './interceptors/interceptors-consumer.js';
|
|
38
|
+
export { InterceptorsContextCreator } from './interceptors/interceptors-context-creator.js';
|
|
39
|
+
// Exceptions
|
|
40
|
+
export { BaseExceptionFilterContext } from './exceptions/base-exception-filter-context.js';
|
|
41
|
+
// Router
|
|
42
|
+
export { LegacyRouteConverter } from './router/legacy-route-converter.js';
|
|
43
|
+
export { REQUEST_CONTEXT_ID } from './router/request/request-constants.js';
|
|
44
|
+
// Inspector
|
|
45
|
+
export { NoopGraphInspector } from './inspector/noop-graph-inspector.js';
|
|
46
|
+
export { UuidFactory, UuidFactoryMode } from './inspector/uuid-factory.js';
|
package/metadata-scanner.d.ts
CHANGED
package/metadata-scanner.js
CHANGED
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const shared_utils_1 = require("@nestjs/common/utils/shared.utils");
|
|
5
|
-
class MetadataScanner {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.cachedScannedPrototypes = new Map();
|
|
8
|
-
}
|
|
1
|
+
import { isConstructor, isFunction, isNil, } from '@nestjs/common/internal';
|
|
2
|
+
export class MetadataScanner {
|
|
3
|
+
cachedScannedPrototypes = new Map();
|
|
9
4
|
/**
|
|
10
5
|
* @deprecated
|
|
11
6
|
* @see {@link getAllMethodNames}
|
|
@@ -27,12 +22,12 @@ class MetadataScanner {
|
|
|
27
22
|
const descriptor = Object.getOwnPropertyDescriptor(prototype, property);
|
|
28
23
|
if (descriptor.set ||
|
|
29
24
|
descriptor.get ||
|
|
30
|
-
|
|
31
|
-
!
|
|
25
|
+
isConstructor(property) ||
|
|
26
|
+
!isFunction(prototype[property])) {
|
|
32
27
|
continue;
|
|
33
28
|
}
|
|
34
29
|
const value = callback(property);
|
|
35
|
-
if (
|
|
30
|
+
if (isNil(value)) {
|
|
36
31
|
continue;
|
|
37
32
|
}
|
|
38
33
|
result.push(value);
|
|
@@ -69,8 +64,8 @@ class MetadataScanner {
|
|
|
69
64
|
const descriptor = Object.getOwnPropertyDescriptor(prototype, property);
|
|
70
65
|
if (descriptor.set ||
|
|
71
66
|
descriptor.get ||
|
|
72
|
-
|
|
73
|
-
!
|
|
67
|
+
isConstructor(property) ||
|
|
68
|
+
!isFunction(prototype[property])) {
|
|
74
69
|
continue;
|
|
75
70
|
}
|
|
76
71
|
result.push(property);
|
|
@@ -80,4 +75,3 @@ class MetadataScanner {
|
|
|
80
75
|
return result;
|
|
81
76
|
}
|
|
82
77
|
}
|
|
83
|
-
exports.MetadataScanner = MetadataScanner;
|
package/middleware/builder.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { RouteInfoPathExtractor } from './route-info-path-extractor.js';
|
|
2
|
+
import { RoutesMapper } from './routes-mapper.js';
|
|
3
|
+
import type { HttpServer, MiddlewareConsumer, Type } from '@nestjs/common';
|
|
4
|
+
import { type MiddlewareConfigProxy, type MiddlewareConfiguration } from '@nestjs/common/internal';
|
|
5
5
|
export declare class MiddlewareBuilder implements MiddlewareConsumer {
|
|
6
6
|
private readonly routesMapper;
|
|
7
7
|
private readonly httpAdapter;
|
package/middleware/builder.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { iterate } from 'iterare';
|
|
2
|
+
import { filterMiddleware } from './utils.js';
|
|
3
|
+
import { stripEndSlash, } from '@nestjs/common/internal';
|
|
4
|
+
export class MiddlewareBuilder {
|
|
5
|
+
routesMapper;
|
|
6
|
+
httpAdapter;
|
|
7
|
+
routeInfoPathExtractor;
|
|
8
|
+
middlewareCollection = new Set();
|
|
8
9
|
constructor(routesMapper, httpAdapter, routeInfoPathExtractor) {
|
|
9
10
|
this.routesMapper = routesMapper;
|
|
10
11
|
this.httpAdapter = httpAdapter;
|
|
11
12
|
this.routeInfoPathExtractor = routeInfoPathExtractor;
|
|
12
|
-
this.middlewareCollection = new Set();
|
|
13
13
|
}
|
|
14
14
|
apply(...middleware) {
|
|
15
15
|
return new MiddlewareBuilder.ConfigProxy(this, middleware.flat(), this.routeInfoPathExtractor);
|
|
@@ -20,72 +20,74 @@ class MiddlewareBuilder {
|
|
|
20
20
|
getHttpAdapter() {
|
|
21
21
|
return this.httpAdapter;
|
|
22
22
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
middlewareCollection.add(configuration);
|
|
59
|
-
return this.builder;
|
|
60
|
-
}
|
|
61
|
-
getRoutesFlatList(routes) {
|
|
62
|
-
const { routesMapper } = this.builder;
|
|
63
|
-
return (0, iterare_1.iterate)(routes)
|
|
64
|
-
.map(route => routesMapper.mapRouteToRouteInfo(route))
|
|
65
|
-
.flatten()
|
|
66
|
-
.toArray();
|
|
67
|
-
}
|
|
68
|
-
removeOverlappedRoutes(routes) {
|
|
69
|
-
const regexMatchParams = /(:[^/]*)/g;
|
|
70
|
-
const wildcard = '([^/]*)';
|
|
71
|
-
const routesWithRegex = routes
|
|
72
|
-
.filter(route => route.path.includes(':'))
|
|
73
|
-
.map(route => ({
|
|
74
|
-
method: route.method,
|
|
75
|
-
path: route.path,
|
|
76
|
-
regex: new RegExp('^(' + route.path.replace(regexMatchParams, wildcard) + ')$', 'g'),
|
|
77
|
-
}));
|
|
78
|
-
return routes.filter(route => {
|
|
79
|
-
const isOverlapped = (item) => {
|
|
80
|
-
if (route.method !== item.method) {
|
|
81
|
-
return false;
|
|
82
|
-
}
|
|
83
|
-
const normalizedRoutePath = (0, shared_utils_1.stripEndSlash)(route.path);
|
|
84
|
-
return (normalizedRoutePath !== item.path &&
|
|
85
|
-
item.regex.test(normalizedRoutePath));
|
|
23
|
+
static ConfigProxy = class {
|
|
24
|
+
builder;
|
|
25
|
+
middleware;
|
|
26
|
+
routeInfoPathExtractor;
|
|
27
|
+
excludedRoutes = [];
|
|
28
|
+
constructor(builder, middleware, routeInfoPathExtractor) {
|
|
29
|
+
this.builder = builder;
|
|
30
|
+
this.middleware = middleware;
|
|
31
|
+
this.routeInfoPathExtractor = routeInfoPathExtractor;
|
|
32
|
+
}
|
|
33
|
+
getExcludedRoutes() {
|
|
34
|
+
return this.excludedRoutes;
|
|
35
|
+
}
|
|
36
|
+
exclude(...routes) {
|
|
37
|
+
this.excludedRoutes = [
|
|
38
|
+
...this.excludedRoutes,
|
|
39
|
+
...this.getRoutesFlatList(routes).reduce((excludedRoutes, route) => {
|
|
40
|
+
for (const routePath of this.routeInfoPathExtractor.extractPathFrom(route)) {
|
|
41
|
+
excludedRoutes.push({
|
|
42
|
+
...route,
|
|
43
|
+
path: routePath,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
return excludedRoutes;
|
|
47
|
+
}, []),
|
|
48
|
+
];
|
|
49
|
+
return this;
|
|
50
|
+
}
|
|
51
|
+
forRoutes(...routes) {
|
|
52
|
+
const { middlewareCollection } = this.builder;
|
|
53
|
+
const flattedRoutes = this.getRoutesFlatList(routes);
|
|
54
|
+
const forRoutes = this.removeOverlappedRoutes(flattedRoutes);
|
|
55
|
+
const configuration = {
|
|
56
|
+
middleware: filterMiddleware(this.middleware, this.excludedRoutes, this.builder.getHttpAdapter()),
|
|
57
|
+
forRoutes,
|
|
86
58
|
};
|
|
87
|
-
|
|
88
|
-
return
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
};
|
|
59
|
+
middlewareCollection.add(configuration);
|
|
60
|
+
return this.builder;
|
|
61
|
+
}
|
|
62
|
+
getRoutesFlatList(routes) {
|
|
63
|
+
const { routesMapper } = this.builder;
|
|
64
|
+
return iterate(routes)
|
|
65
|
+
.map(route => routesMapper.mapRouteToRouteInfo(route))
|
|
66
|
+
.flatten()
|
|
67
|
+
.toArray();
|
|
68
|
+
}
|
|
69
|
+
removeOverlappedRoutes(routes) {
|
|
70
|
+
const regexMatchParams = /(:[^/]*)/g;
|
|
71
|
+
const wildcard = '([^/]*)';
|
|
72
|
+
const routesWithRegex = routes
|
|
73
|
+
.filter(route => route.path.includes(':'))
|
|
74
|
+
.map(route => ({
|
|
75
|
+
method: route.method,
|
|
76
|
+
path: route.path,
|
|
77
|
+
regex: new RegExp('^(' + route.path.replace(regexMatchParams, wildcard) + ')$', 'g'),
|
|
78
|
+
}));
|
|
79
|
+
return routes.filter(route => {
|
|
80
|
+
const isOverlapped = (item) => {
|
|
81
|
+
if (route.method !== item.method) {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
const normalizedRoutePath = stripEndSlash(route.path);
|
|
85
|
+
return (normalizedRoutePath !== item.path &&
|
|
86
|
+
item.regex.test(normalizedRoutePath));
|
|
87
|
+
};
|
|
88
|
+
const routeMatch = routesWithRegex.find(isOverlapped);
|
|
89
|
+
return routeMatch === undefined;
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { InjectionToken } from '@nestjs/common';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import type { InjectionToken } from '@nestjs/common';
|
|
2
|
+
import { NestContainer } from '../injector/container.js';
|
|
3
|
+
import { InstanceWrapper } from '../injector/instance-wrapper.js';
|
|
4
|
+
import type { MiddlewareConfiguration } from '@nestjs/common/internal';
|
|
5
5
|
export declare class MiddlewareContainer {
|
|
6
6
|
private readonly container;
|
|
7
7
|
private readonly middleware;
|
package/middleware/container.js
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { getClassScope } from '../helpers/get-class-scope.js';
|
|
2
|
+
import { isDurable } from '../helpers/is-durable.js';
|
|
3
|
+
import { InstanceWrapper } from '../injector/instance-wrapper.js';
|
|
4
|
+
export class MiddlewareContainer {
|
|
5
|
+
container;
|
|
6
|
+
middleware = new Map();
|
|
7
|
+
configurationSets = new Map();
|
|
8
8
|
constructor(container) {
|
|
9
9
|
this.container = container;
|
|
10
|
-
this.middleware = new Map();
|
|
11
|
-
this.configurationSets = new Map();
|
|
12
10
|
}
|
|
13
11
|
getMiddlewareCollection(moduleKey) {
|
|
14
12
|
if (!this.middleware.has(moduleKey)) {
|
|
@@ -26,9 +24,9 @@ class MiddlewareContainer {
|
|
|
26
24
|
const configurations = configList || [];
|
|
27
25
|
const insertMiddleware = (metatype) => {
|
|
28
26
|
const token = metatype;
|
|
29
|
-
middleware.set(token, new
|
|
30
|
-
scope:
|
|
31
|
-
durable:
|
|
27
|
+
middleware.set(token, new InstanceWrapper({
|
|
28
|
+
scope: getClassScope(metatype),
|
|
29
|
+
durable: isDurable(metatype),
|
|
32
30
|
name: token?.name ?? token,
|
|
33
31
|
metatype,
|
|
34
32
|
token,
|
|
@@ -46,4 +44,3 @@ class MiddlewareContainer {
|
|
|
46
44
|
return this.configurationSets.get(moduleName);
|
|
47
45
|
}
|
|
48
46
|
}
|
|
49
|
-
exports.MiddlewareContainer = MiddlewareContainer;
|
package/middleware/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './builder';
|
|
1
|
+
export * from './builder.js';
|
package/middleware/index.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import { HttpServer } from '@nestjs/common';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { MiddlewareContainer } from './container';
|
|
1
|
+
import { type HttpServer } from '@nestjs/common';
|
|
2
|
+
import { ApplicationConfig } from '../application-config.js';
|
|
3
|
+
import { NestContainer } from '../injector/container.js';
|
|
4
|
+
import { Injector } from '../injector/injector.js';
|
|
5
|
+
import { Module } from '../injector/module.js';
|
|
6
|
+
import { GraphInspector } from '../inspector/graph-inspector.js';
|
|
7
|
+
import { MiddlewareContainer } from './container.js';
|
|
8
|
+
import { type MiddlewareConfiguration, type RouteInfo, type NestApplicationContextOptions } from '@nestjs/common/internal';
|
|
10
9
|
export declare class MiddlewareModule<TAppOptions extends NestApplicationContextOptions = NestApplicationContextOptions> {
|
|
11
10
|
private readonly routerProxy;
|
|
12
11
|
private readonly exceptionFiltersCache;
|