@depup/nestjs__core 11.1.17-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/LICENSE +22 -0
- package/PACKAGE.md +1 -0
- package/README.md +25 -0
- package/Readme.md +146 -0
- package/adapters/http-adapter.d.ts +80 -0
- package/adapters/http-adapter.js +90 -0
- package/adapters/index.d.ts +1 -0
- package/adapters/index.js +4 -0
- package/application-config.d.ts +47 -0
- package/application-config.js +107 -0
- package/changes.json +5 -0
- package/constants.d.ts +14 -0
- package/constants.js +21 -0
- package/discovery/discoverable-meta-host-collection.d.ts +46 -0
- package/discovery/discoverable-meta-host-collection.js +98 -0
- package/discovery/discovery-module.d.ts +5 -0
- package/discovery/discovery-module.js +19 -0
- package/discovery/discovery-service.d.ts +76 -0
- package/discovery/discovery-service.js +98 -0
- package/discovery/index.d.ts +2 -0
- package/discovery/index.js +5 -0
- package/errors/exception-handler.d.ts +4 -0
- package/errors/exception-handler.js +11 -0
- package/errors/exceptions/circular-dependency.exception.d.ts +4 -0
- package/errors/exceptions/circular-dependency.exception.js +11 -0
- package/errors/exceptions/index.d.ts +8 -0
- package/errors/exceptions/index.js +11 -0
- package/errors/exceptions/invalid-class-module.exception.d.ts +4 -0
- package/errors/exceptions/invalid-class-module.exception.js +11 -0
- package/errors/exceptions/invalid-class-scope.exception.d.ts +5 -0
- package/errors/exceptions/invalid-class-scope.exception.js +16 -0
- package/errors/exceptions/invalid-class.exception.d.ts +4 -0
- package/errors/exceptions/invalid-class.exception.js +11 -0
- package/errors/exceptions/invalid-exception-filter.exception.d.ts +4 -0
- package/errors/exceptions/invalid-exception-filter.exception.js +11 -0
- package/errors/exceptions/invalid-middleware-configuration.exception.d.ts +4 -0
- package/errors/exceptions/invalid-middleware-configuration.exception.js +11 -0
- package/errors/exceptions/invalid-middleware.exception.d.ts +4 -0
- package/errors/exceptions/invalid-middleware.exception.js +11 -0
- package/errors/exceptions/invalid-module.exception.d.ts +4 -0
- package/errors/exceptions/invalid-module.exception.js +11 -0
- package/errors/exceptions/runtime.exception.d.ts +4 -0
- package/errors/exceptions/runtime.exception.js +12 -0
- package/errors/exceptions/undefined-dependency.exception.d.ts +6 -0
- package/errors/exceptions/undefined-dependency.exception.js +11 -0
- package/errors/exceptions/undefined-forwardref.exception.d.ts +5 -0
- package/errors/exceptions/undefined-forwardref.exception.js +11 -0
- package/errors/exceptions/undefined-module.exception.d.ts +4 -0
- package/errors/exceptions/undefined-module.exception.js +11 -0
- package/errors/exceptions/unknown-dependencies.exception.d.ts +16 -0
- package/errors/exceptions/unknown-dependencies.exception.js +15 -0
- package/errors/exceptions/unknown-element.exception.d.ts +4 -0
- package/errors/exceptions/unknown-element.exception.js +11 -0
- package/errors/exceptions/unknown-export.exception.d.ts +4 -0
- package/errors/exceptions/unknown-export.exception.js +11 -0
- package/errors/exceptions/unknown-module.exception.d.ts +4 -0
- package/errors/exceptions/unknown-module.exception.js +10 -0
- package/errors/exceptions/unknown-request-mapping.exception.d.ts +5 -0
- package/errors/exceptions/unknown-request-mapping.exception.js +11 -0
- package/errors/exceptions-zone.d.ts +5 -0
- package/errors/exceptions-zone.js +34 -0
- package/errors/messages.d.ts +17 -0
- package/errors/messages.js +174 -0
- package/exceptions/base-exception-filter-context.d.ts +14 -0
- package/exceptions/base-exception-filter-context.js +56 -0
- package/exceptions/base-exception-filter.d.ts +20 -0
- package/exceptions/base-exception-filter.js +72 -0
- package/exceptions/exceptions-handler.d.ts +10 -0
- package/exceptions/exceptions-handler.js +34 -0
- package/exceptions/external-exception-filter-context.d.ts +12 -0
- package/exceptions/external-exception-filter-context.js +42 -0
- package/exceptions/external-exception-filter.d.ts +5 -0
- package/exceptions/external-exception-filter.js +15 -0
- package/exceptions/external-exceptions-handler.d.ts +9 -0
- package/exceptions/external-exceptions-handler.js +34 -0
- package/exceptions/index.d.ts +1 -0
- package/exceptions/index.js +4 -0
- package/guards/constants.d.ts +1 -0
- package/guards/constants.js +4 -0
- package/guards/guards-consumer.d.ts +9 -0
- package/guards/guards-consumer.js +39 -0
- package/guards/guards-context-creator.d.ts +17 -0
- package/guards/guards-context-creator.js +70 -0
- package/guards/index.d.ts +3 -0
- package/guards/index.js +6 -0
- package/helpers/barrier.d.ts +30 -0
- package/helpers/barrier.js +46 -0
- package/helpers/context-creator.d.ts +10 -0
- package/helpers/context-creator.js +33 -0
- package/helpers/context-id-factory.d.ts +41 -0
- package/helpers/context-id-factory.js +67 -0
- package/helpers/context-utils.d.ts +23 -0
- package/helpers/context-utils.js +55 -0
- package/helpers/execution-context-host.d.ts +19 -0
- package/helpers/execution-context-host.js +50 -0
- package/helpers/external-context-creator.d.ts +51 -0
- package/helpers/external-context-creator.js +166 -0
- package/helpers/external-proxy.d.ts +5 -0
- package/helpers/external-proxy.js +19 -0
- package/helpers/get-class-scope.d.ts +3 -0
- package/helpers/get-class-scope.js +8 -0
- package/helpers/handler-metadata-storage.d.ts +27 -0
- package/helpers/handler-metadata-storage.js +26 -0
- package/helpers/http-adapter-host.d.ts +51 -0
- package/helpers/http-adapter-host.js +73 -0
- package/helpers/index.d.ts +3 -0
- package/helpers/index.js +6 -0
- package/helpers/interfaces/external-handler-metadata.interface.d.ts +11 -0
- package/helpers/interfaces/external-handler-metadata.interface.js +2 -0
- package/helpers/interfaces/index.d.ts +2 -0
- package/helpers/interfaces/index.js +5 -0
- package/helpers/interfaces/params-metadata.interface.d.ts +6 -0
- package/helpers/interfaces/params-metadata.interface.js +2 -0
- package/helpers/is-durable.d.ts +2 -0
- package/helpers/is-durable.js +8 -0
- package/helpers/load-adapter.d.ts +1 -0
- package/helpers/load-adapter.js +15 -0
- package/helpers/messages.d.ts +7 -0
- package/helpers/messages.js +29 -0
- package/helpers/optional-require.d.ts +1 -0
- package/helpers/optional-require.js +11 -0
- package/helpers/rethrow.d.ts +1 -0
- package/helpers/rethrow.js +7 -0
- package/helpers/router-method-factory.d.ts +23 -0
- package/helpers/router-method-factory.js +33 -0
- package/hooks/before-app-shutdown.hook.d.ts +9 -0
- package/hooks/before-app-shutdown.hook.js +51 -0
- package/hooks/index.d.ts +5 -0
- package/hooks/index.js +8 -0
- package/hooks/on-app-bootstrap.hook.d.ts +8 -0
- package/hooks/on-app-bootstrap.hook.js +53 -0
- package/hooks/on-app-shutdown.hook.d.ts +9 -0
- package/hooks/on-app-shutdown.hook.js +54 -0
- package/hooks/on-module-destroy.hook.d.ts +8 -0
- package/hooks/on-module-destroy.hook.js +53 -0
- package/hooks/on-module-init.hook.d.ts +8 -0
- package/hooks/on-module-init.hook.js +53 -0
- 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 +17 -0
- package/index.js +32 -0
- package/injector/abstract-instance-resolver.d.ts +16 -0
- package/injector/abstract-instance-resolver.js +49 -0
- package/injector/compiler.d.ts +18 -0
- package/injector/compiler.js +35 -0
- package/injector/constants.d.ts +3 -0
- package/injector/constants.js +8 -0
- package/injector/container.d.ts +67 -0
- package/injector/container.js +233 -0
- package/injector/helpers/provider-classifier.d.ts +4 -0
- package/injector/helpers/provider-classifier.js +16 -0
- package/injector/helpers/silent-logger.d.ts +10 -0
- package/injector/helpers/silent-logger.js +18 -0
- package/injector/helpers/transient-instances.d.ts +12 -0
- package/injector/helpers/transient-instances.js +28 -0
- package/injector/index.d.ts +6 -0
- package/injector/index.js +8 -0
- package/injector/injector.d.ts +104 -0
- package/injector/injector.js +554 -0
- package/injector/inquirer/index.d.ts +1 -0
- package/injector/inquirer/index.js +4 -0
- package/injector/inquirer/inquirer-constants.d.ts +1 -0
- package/injector/inquirer/inquirer-constants.js +4 -0
- package/injector/inquirer/inquirer-providers.d.ts +2 -0
- package/injector/inquirer/inquirer-providers.js +11 -0
- package/injector/instance-links-host.d.ts +22 -0
- package/injector/instance-links-host.js +56 -0
- package/injector/instance-loader.d.ts +23 -0
- package/injector/instance-loader.js +88 -0
- package/injector/instance-wrapper.d.ts +99 -0
- package/injector/instance-wrapper.js +350 -0
- package/injector/internal-core-module/index.d.ts +1 -0
- package/injector/internal-core-module/index.js +4 -0
- package/injector/internal-core-module/internal-core-module-factory.d.ts +9 -0
- package/injector/internal-core-module/internal-core-module-factory.js +52 -0
- package/injector/internal-core-module/internal-core-module.d.ts +5 -0
- package/injector/internal-core-module/internal-core-module.js +40 -0
- package/injector/internal-providers-storage.d.ts +9 -0
- package/injector/internal-providers-storage.js +19 -0
- package/injector/lazy-module-loader/lazy-module-loader-options.interface.d.ts +6 -0
- package/injector/lazy-module-loader/lazy-module-loader-options.interface.js +2 -0
- package/injector/lazy-module-loader/lazy-module-loader.d.ts +20 -0
- package/injector/lazy-module-loader/lazy-module-loader.js +49 -0
- package/injector/module-ref.d.ts +106 -0
- package/injector/module-ref.js +66 -0
- package/injector/module.d.ts +82 -0
- package/injector/module.js +432 -0
- package/injector/modules-container.d.ts +27 -0
- package/injector/modules-container.js +42 -0
- package/injector/opaque-key-factory/by-reference-module-opaque-key-factory.d.ts +15 -0
- package/injector/opaque-key-factory/by-reference-module-opaque-key-factory.js +41 -0
- package/injector/opaque-key-factory/deep-hashed-module-opaque-key-factory.d.ts +15 -0
- package/injector/opaque-key-factory/deep-hashed-module-opaque-key-factory.js +83 -0
- package/injector/opaque-key-factory/interfaces/module-opaque-key-factory.interface.d.ts +18 -0
- package/injector/opaque-key-factory/interfaces/module-opaque-key-factory.interface.js +2 -0
- package/injector/settlement-signal.d.ts +37 -0
- package/injector/settlement-signal.js +55 -0
- package/injector/topology-tree/topology-tree.d.ts +8 -0
- package/injector/topology-tree/topology-tree.js +51 -0
- package/injector/topology-tree/tree-node.d.ts +14 -0
- package/injector/topology-tree/tree-node.js +54 -0
- package/inspector/deterministic-uuid-registry.d.ts +6 -0
- package/inspector/deterministic-uuid-registry.js +24 -0
- package/inspector/graph-inspector.d.ts +26 -0
- package/inspector/graph-inspector.js +166 -0
- package/inspector/index.d.ts +4 -0
- package/inspector/index.js +7 -0
- package/inspector/initialize-on-preview.allowlist.d.ts +6 -0
- package/inspector/initialize-on-preview.allowlist.js +13 -0
- package/inspector/interfaces/edge.interface.d.ts +28 -0
- package/inspector/interfaces/edge.interface.js +2 -0
- package/inspector/interfaces/enhancer-metadata-cache-entry.interface.d.ts +12 -0
- package/inspector/interfaces/enhancer-metadata-cache-entry.interface.js +2 -0
- package/inspector/interfaces/entrypoint.interface.d.ts +23 -0
- package/inspector/interfaces/entrypoint.interface.js +2 -0
- package/inspector/interfaces/extras.interface.d.ts +18 -0
- package/inspector/interfaces/extras.interface.js +2 -0
- package/inspector/interfaces/node.interface.d.ts +48 -0
- package/inspector/interfaces/node.interface.js +2 -0
- package/inspector/interfaces/serialized-graph-json.interface.d.ts +14 -0
- package/inspector/interfaces/serialized-graph-json.interface.js +2 -0
- package/inspector/interfaces/serialized-graph-metadata.interface.d.ts +10 -0
- package/inspector/interfaces/serialized-graph-metadata.interface.js +2 -0
- package/inspector/noop-graph-inspector.d.ts +2 -0
- package/inspector/noop-graph-inspector.js +8 -0
- package/inspector/partial-graph.host.d.ts +7 -0
- package/inspector/partial-graph.host.js +15 -0
- package/inspector/serialized-graph.d.ts +52 -0
- package/inspector/serialized-graph.js +124 -0
- package/inspector/uuid-factory.d.ts +9 -0
- package/inspector/uuid-factory.js +22 -0
- package/interceptors/index.d.ts +2 -0
- package/interceptors/index.js +5 -0
- package/interceptors/interceptors-consumer.d.ts +9 -0
- package/interceptors/interceptors-consumer.js +37 -0
- package/interceptors/interceptors-context-creator.d.ts +16 -0
- package/interceptors/interceptors-context-creator.js +69 -0
- package/interfaces/index.d.ts +2 -0
- package/interfaces/index.js +2 -0
- package/interfaces/module-definition.interface.d.ts +3 -0
- package/interfaces/module-definition.interface.js +2 -0
- package/interfaces/module-override.interface.d.ts +5 -0
- package/interfaces/module-override.interface.js +2 -0
- package/internal.d.ts +38 -0
- package/internal.js +46 -0
- package/metadata-scanner.d.ts +17 -0
- package/metadata-scanner.js +83 -0
- package/middleware/builder.d.ts +15 -0
- package/middleware/builder.js +91 -0
- package/middleware/container.d.ts +14 -0
- package/middleware/container.js +49 -0
- package/middleware/index.d.ts +1 -0
- package/middleware/index.js +4 -0
- package/middleware/middleware-module.d.ts +33 -0
- package/middleware/middleware-module.js +208 -0
- package/middleware/resolver.d.ts +10 -0
- package/middleware/resolver.js +18 -0
- package/middleware/route-info-path-extractor.d.ts +15 -0
- package/middleware/route-info-path-extractor.js +81 -0
- package/middleware/routes-mapper.d.ts +19 -0
- package/middleware/routes-mapper.js +117 -0
- package/middleware/utils.d.ts +8 -0
- package/middleware/utils.js +106 -0
- package/nest-application-context.d.ts +173 -0
- package/nest-application-context.js +327 -0
- package/nest-application.d.ts +64 -0
- package/nest-application.js +328 -0
- package/nest-factory.d.ts +83 -0
- package/nest-factory.js +232 -0
- package/package.json +73 -0
- package/pipes/index.d.ts +3 -0
- package/pipes/index.js +6 -0
- package/pipes/params-token-factory.d.ts +5 -0
- package/pipes/params-token-factory.js +19 -0
- package/pipes/pipes-consumer.d.ts +10 -0
- package/pipes/pipes-consumer.js +21 -0
- package/pipes/pipes-context-creator.d.ts +17 -0
- package/pipes/pipes-context-creator.js +72 -0
- package/repl/assign-to-object.util.d.ts +5 -0
- package/repl/assign-to-object.util.js +14 -0
- package/repl/constants.d.ts +1 -0
- package/repl/constants.js +4 -0
- package/repl/index.d.ts +1 -0
- package/repl/index.js +4 -0
- package/repl/native-functions/debug-repl-fn.d.ts +9 -0
- package/repl/native-functions/debug-repl-fn.js +46 -0
- package/repl/native-functions/get-repl-fn.d.ts +7 -0
- package/repl/native-functions/get-repl-fn.js +19 -0
- package/repl/native-functions/help-repl-fn.d.ts +7 -0
- package/repl/native-functions/help-repl-fn.js +29 -0
- package/repl/native-functions/index.d.ts +6 -0
- package/repl/native-functions/index.js +9 -0
- package/repl/native-functions/methods-repl-fn.d.ts +8 -0
- package/repl/native-functions/methods-repl-fn.js +28 -0
- package/repl/native-functions/resolve-repl-fn.d.ts +7 -0
- package/repl/native-functions/resolve-repl-fn.js +18 -0
- package/repl/native-functions/select-relp-fn.d.ts +7 -0
- package/repl/native-functions/select-relp-fn.js +18 -0
- package/repl/repl-context.d.ts +26 -0
- package/repl/repl-context.js +126 -0
- package/repl/repl-function.d.ts +18 -0
- package/repl/repl-function.js +19 -0
- package/repl/repl-logger.d.ts +5 -0
- package/repl/repl-logger.js +22 -0
- package/repl/repl-native-commands.d.ts +2 -0
- package/repl/repl-native-commands.js +46 -0
- package/repl/repl.d.ts +3 -0
- package/repl/repl.interfaces.d.ts +16 -0
- package/repl/repl.interfaces.js +2 -0
- package/repl/repl.js +32 -0
- package/router/index.d.ts +3 -0
- package/router/index.js +8 -0
- package/router/interfaces/exceptions-filter.interface.d.ts +6 -0
- package/router/interfaces/exceptions-filter.interface.js +2 -0
- package/router/interfaces/exclude-route-metadata.interface.d.ts +15 -0
- package/router/interfaces/exclude-route-metadata.interface.js +2 -0
- package/router/interfaces/index.d.ts +1 -0
- package/router/interfaces/index.js +4 -0
- package/router/interfaces/resolver.interface.d.ts +5 -0
- package/router/interfaces/resolver.interface.js +2 -0
- package/router/interfaces/route-params-factory.interface.d.ts +8 -0
- package/router/interfaces/route-params-factory.interface.js +2 -0
- package/router/interfaces/route-path-metadata.interface.d.ts +32 -0
- package/router/interfaces/route-path-metadata.interface.js +2 -0
- package/router/interfaces/routes.interface.d.ts +7 -0
- package/router/interfaces/routes.interface.js +2 -0
- package/router/legacy-route-converter.d.ts +16 -0
- package/router/legacy-route-converter.js +61 -0
- package/router/paths-explorer.d.ts +18 -0
- package/router/paths-explorer.js +45 -0
- package/router/request/index.d.ts +1 -0
- package/router/request/index.js +5 -0
- package/router/request/request-constants.d.ts +2 -0
- package/router/request/request-constants.js +5 -0
- package/router/request/request-providers.d.ts +2 -0
- package/router/request/request-providers.js +11 -0
- package/router/route-params-factory.d.ts +9 -0
- package/router/route-params-factory.js +41 -0
- package/router/route-path-factory.d.ts +14 -0
- package/router/route-path-factory.js +101 -0
- package/router/router-exception-filters.d.ts +14 -0
- package/router/router-exception-filters.js +40 -0
- package/router/router-execution-context.d.ts +54 -0
- package/router/router-execution-context.js +186 -0
- package/router/router-explorer.d.ts +47 -0
- package/router/router-explorer.js +234 -0
- package/router/router-module.d.ts +19 -0
- package/router/router-module.js +80 -0
- package/router/router-proxy.d.ts +6 -0
- package/router/router-proxy.js +31 -0
- package/router/router-response-controller.d.ts +28 -0
- package/router/router-response-controller.js +98 -0
- package/router/routes-resolver.d.ts +27 -0
- package/router/routes-resolver.js +129 -0
- package/router/sse-stream.d.ts +43 -0
- package/router/sse-stream.js +83 -0
- package/router/utils/exclude-route.util.d.ts +4 -0
- package/router/utils/exclude-route.util.js +19 -0
- package/router/utils/flatten-route-paths.util.d.ts +6 -0
- package/router/utils/flatten-route-paths.util.js +25 -0
- package/router/utils/index.d.ts +2 -0
- package/router/utils/index.js +5 -0
- package/scanner.d.ts +89 -0
- package/scanner.js +416 -0
- package/services/index.d.ts +1 -0
- package/services/index.js +4 -0
- package/services/reflector.service.d.ts +111 -0
- package/services/reflector.service.js +100 -0
- package/tsconfig.build.json +21 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { InjectorDependencyContext } from '../../injector/injector';
|
|
2
|
+
export interface SerializedGraphMetadata {
|
|
3
|
+
cause: {
|
|
4
|
+
type: 'unknown-dependencies' | 'unknown';
|
|
5
|
+
context?: InjectorDependencyContext;
|
|
6
|
+
moduleId?: string;
|
|
7
|
+
nodeId?: string;
|
|
8
|
+
error?: any;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NoopGraphInspector = void 0;
|
|
4
|
+
const graph_inspector_1 = require("./graph-inspector");
|
|
5
|
+
const noop = () => { };
|
|
6
|
+
exports.NoopGraphInspector = new Proxy(graph_inspector_1.GraphInspector.prototype, {
|
|
7
|
+
get: () => noop,
|
|
8
|
+
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SerializedGraph } from './serialized-graph';
|
|
2
|
+
export declare class PartialGraphHost {
|
|
3
|
+
private static partialGraph;
|
|
4
|
+
static toJSON(): import("./interfaces/serialized-graph-json.interface").SerializedGraphJson;
|
|
5
|
+
static toString(): string;
|
|
6
|
+
static register(partialGraph: SerializedGraph): void;
|
|
7
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PartialGraphHost = void 0;
|
|
4
|
+
class PartialGraphHost {
|
|
5
|
+
static toJSON() {
|
|
6
|
+
return this.partialGraph?.toJSON();
|
|
7
|
+
}
|
|
8
|
+
static toString() {
|
|
9
|
+
return this.partialGraph?.toString();
|
|
10
|
+
}
|
|
11
|
+
static register(partialGraph) {
|
|
12
|
+
this.partialGraph = partialGraph;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.PartialGraphHost = PartialGraphHost;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { InjectionToken } from '@nestjs/common';
|
|
2
|
+
import { Edge } from './interfaces/edge.interface';
|
|
3
|
+
import { Entrypoint } from './interfaces/entrypoint.interface';
|
|
4
|
+
import { OrphanedEnhancerDefinition } from './interfaces/extras.interface';
|
|
5
|
+
import { Node } from './interfaces/node.interface';
|
|
6
|
+
import { SerializedGraphJson } from './interfaces/serialized-graph-json.interface';
|
|
7
|
+
import { SerializedGraphMetadata } from './interfaces/serialized-graph-metadata.interface';
|
|
8
|
+
export type SerializedGraphStatus = 'partial' | 'complete';
|
|
9
|
+
type WithOptionalId<T extends Record<'id', string>> = Omit<T, 'id'> & Partial<Pick<T, 'id'>>;
|
|
10
|
+
export declare class SerializedGraph {
|
|
11
|
+
private readonly nodes;
|
|
12
|
+
private readonly edges;
|
|
13
|
+
private readonly entrypoints;
|
|
14
|
+
private readonly extras;
|
|
15
|
+
private _status;
|
|
16
|
+
private _metadata?;
|
|
17
|
+
private static readonly INTERNAL_PROVIDERS;
|
|
18
|
+
set status(status: SerializedGraphStatus);
|
|
19
|
+
set metadata(metadata: SerializedGraphMetadata);
|
|
20
|
+
insertNode(nodeDefinition: Node): Node | undefined;
|
|
21
|
+
insertEdge(edgeDefinition: WithOptionalId<Edge>): {
|
|
22
|
+
id: string;
|
|
23
|
+
source: string;
|
|
24
|
+
target: string;
|
|
25
|
+
metadata: ({
|
|
26
|
+
type: "module-to-module";
|
|
27
|
+
} & {
|
|
28
|
+
sourceModuleName: string;
|
|
29
|
+
targetModuleName: string;
|
|
30
|
+
}) | ({
|
|
31
|
+
type: "class-to-class";
|
|
32
|
+
sourceClassName: string;
|
|
33
|
+
targetClassName: string;
|
|
34
|
+
sourceClassToken: InjectionToken;
|
|
35
|
+
targetClassToken: InjectionToken;
|
|
36
|
+
injectionType: "constructor" | "property" | "decorator";
|
|
37
|
+
keyOrIndex?: string | number | symbol;
|
|
38
|
+
internal?: boolean;
|
|
39
|
+
} & {
|
|
40
|
+
sourceModuleName: string;
|
|
41
|
+
targetModuleName: string;
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
insertEntrypoint<T>(definition: Entrypoint<T>, parentId: string): void;
|
|
45
|
+
insertOrphanedEnhancer(entry: OrphanedEnhancerDefinition): void;
|
|
46
|
+
insertAttachedEnhancer(nodeId: string): void;
|
|
47
|
+
getNodeById(id: string): Node | undefined;
|
|
48
|
+
toJSON(): SerializedGraphJson;
|
|
49
|
+
toString(): string;
|
|
50
|
+
private generateUuidByEdgeDefinition;
|
|
51
|
+
}
|
|
52
|
+
export {};
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SerializedGraph = void 0;
|
|
4
|
+
const application_config_1 = require("../application-config");
|
|
5
|
+
const external_context_creator_1 = require("../helpers/external-context-creator");
|
|
6
|
+
const http_adapter_host_1 = require("../helpers/http-adapter-host");
|
|
7
|
+
const inquirer_constants_1 = require("../injector/inquirer/inquirer-constants");
|
|
8
|
+
const lazy_module_loader_1 = require("../injector/lazy-module-loader/lazy-module-loader");
|
|
9
|
+
const module_ref_1 = require("../injector/module-ref");
|
|
10
|
+
const modules_container_1 = require("../injector/modules-container");
|
|
11
|
+
const request_constants_1 = require("../router/request/request-constants");
|
|
12
|
+
const reflector_service_1 = require("../services/reflector.service");
|
|
13
|
+
const deterministic_uuid_registry_1 = require("./deterministic-uuid-registry");
|
|
14
|
+
class SerializedGraph {
|
|
15
|
+
constructor() {
|
|
16
|
+
this.nodes = new Map();
|
|
17
|
+
this.edges = new Map();
|
|
18
|
+
this.entrypoints = new Map();
|
|
19
|
+
this.extras = {
|
|
20
|
+
orphanedEnhancers: [],
|
|
21
|
+
attachedEnhancers: [],
|
|
22
|
+
};
|
|
23
|
+
this._status = 'complete';
|
|
24
|
+
}
|
|
25
|
+
set status(status) {
|
|
26
|
+
this._status = status;
|
|
27
|
+
}
|
|
28
|
+
set metadata(metadata) {
|
|
29
|
+
this._metadata = metadata;
|
|
30
|
+
}
|
|
31
|
+
insertNode(nodeDefinition) {
|
|
32
|
+
if (nodeDefinition.metadata.type === 'provider' &&
|
|
33
|
+
SerializedGraph.INTERNAL_PROVIDERS.includes(nodeDefinition.metadata.token)) {
|
|
34
|
+
nodeDefinition.metadata = {
|
|
35
|
+
...nodeDefinition.metadata,
|
|
36
|
+
internal: true,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
if (this.nodes.has(nodeDefinition.id)) {
|
|
40
|
+
return this.nodes.get(nodeDefinition.id);
|
|
41
|
+
}
|
|
42
|
+
this.nodes.set(nodeDefinition.id, nodeDefinition);
|
|
43
|
+
return nodeDefinition;
|
|
44
|
+
}
|
|
45
|
+
insertEdge(edgeDefinition) {
|
|
46
|
+
if (edgeDefinition.metadata.type === 'class-to-class' &&
|
|
47
|
+
(SerializedGraph.INTERNAL_PROVIDERS.includes(edgeDefinition.metadata.sourceClassToken) ||
|
|
48
|
+
SerializedGraph.INTERNAL_PROVIDERS.includes(edgeDefinition.metadata.targetClassToken))) {
|
|
49
|
+
edgeDefinition.metadata = {
|
|
50
|
+
...edgeDefinition.metadata,
|
|
51
|
+
internal: true,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
const id = edgeDefinition.id ?? this.generateUuidByEdgeDefinition(edgeDefinition);
|
|
55
|
+
const edge = {
|
|
56
|
+
...edgeDefinition,
|
|
57
|
+
id,
|
|
58
|
+
};
|
|
59
|
+
this.edges.set(id, edge);
|
|
60
|
+
return edge;
|
|
61
|
+
}
|
|
62
|
+
insertEntrypoint(definition, parentId) {
|
|
63
|
+
if (this.entrypoints.has(parentId)) {
|
|
64
|
+
const existingCollection = this.entrypoints.get(parentId);
|
|
65
|
+
existingCollection.push(definition);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
this.entrypoints.set(parentId, [definition]);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
insertOrphanedEnhancer(entry) {
|
|
72
|
+
this.extras.orphanedEnhancers.push(entry);
|
|
73
|
+
}
|
|
74
|
+
insertAttachedEnhancer(nodeId) {
|
|
75
|
+
this.extras.attachedEnhancers.push({
|
|
76
|
+
nodeId,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
getNodeById(id) {
|
|
80
|
+
return this.nodes.get(id);
|
|
81
|
+
}
|
|
82
|
+
toJSON() {
|
|
83
|
+
const json = {
|
|
84
|
+
nodes: Object.fromEntries(this.nodes),
|
|
85
|
+
edges: Object.fromEntries(this.edges),
|
|
86
|
+
entrypoints: Object.fromEntries(this.entrypoints),
|
|
87
|
+
extras: this.extras,
|
|
88
|
+
};
|
|
89
|
+
if (this._status) {
|
|
90
|
+
json['status'] = this._status;
|
|
91
|
+
}
|
|
92
|
+
if (this._metadata) {
|
|
93
|
+
json['metadata'] = this._metadata;
|
|
94
|
+
}
|
|
95
|
+
return json;
|
|
96
|
+
}
|
|
97
|
+
toString() {
|
|
98
|
+
const replacer = (key, value) => {
|
|
99
|
+
if (typeof value === 'symbol') {
|
|
100
|
+
return value.toString();
|
|
101
|
+
}
|
|
102
|
+
return typeof value === 'function' ? (value.name ?? 'Function') : value;
|
|
103
|
+
};
|
|
104
|
+
return JSON.stringify(this.toJSON(), replacer, 2);
|
|
105
|
+
}
|
|
106
|
+
generateUuidByEdgeDefinition(edgeDefinition) {
|
|
107
|
+
return deterministic_uuid_registry_1.DeterministicUuidRegistry.get(JSON.stringify(edgeDefinition));
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
exports.SerializedGraph = SerializedGraph;
|
|
111
|
+
SerializedGraph.INTERNAL_PROVIDERS = [
|
|
112
|
+
application_config_1.ApplicationConfig,
|
|
113
|
+
module_ref_1.ModuleRef,
|
|
114
|
+
http_adapter_host_1.HttpAdapterHost,
|
|
115
|
+
lazy_module_loader_1.LazyModuleLoader,
|
|
116
|
+
external_context_creator_1.ExternalContextCreator,
|
|
117
|
+
modules_container_1.ModulesContainer,
|
|
118
|
+
reflector_service_1.Reflector,
|
|
119
|
+
SerializedGraph,
|
|
120
|
+
http_adapter_host_1.HttpAdapterHost.name,
|
|
121
|
+
reflector_service_1.Reflector.name,
|
|
122
|
+
request_constants_1.REQUEST,
|
|
123
|
+
inquirer_constants_1.INQUIRER,
|
|
124
|
+
];
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UuidFactory = exports.UuidFactoryMode = void 0;
|
|
4
|
+
const random_string_generator_util_1 = require("@nestjs/common/utils/random-string-generator.util");
|
|
5
|
+
const deterministic_uuid_registry_1 = require("./deterministic-uuid-registry");
|
|
6
|
+
var UuidFactoryMode;
|
|
7
|
+
(function (UuidFactoryMode) {
|
|
8
|
+
UuidFactoryMode["Random"] = "random";
|
|
9
|
+
UuidFactoryMode["Deterministic"] = "deterministic";
|
|
10
|
+
})(UuidFactoryMode || (exports.UuidFactoryMode = UuidFactoryMode = {}));
|
|
11
|
+
class UuidFactory {
|
|
12
|
+
static set mode(value) {
|
|
13
|
+
this._mode = value;
|
|
14
|
+
}
|
|
15
|
+
static get(key = '') {
|
|
16
|
+
return this._mode === UuidFactoryMode.Deterministic
|
|
17
|
+
? deterministic_uuid_registry_1.DeterministicUuidRegistry.get(key)
|
|
18
|
+
: (0, random_string_generator_util_1.randomStringGenerator)();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.UuidFactory = UuidFactory;
|
|
22
|
+
UuidFactory._mode = UuidFactoryMode.Random;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { NestInterceptor } from '@nestjs/common';
|
|
2
|
+
import { ContextType, Controller } from '@nestjs/common/interfaces';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import { ExecutionContextHost } from '../helpers/execution-context-host';
|
|
5
|
+
export declare class InterceptorsConsumer {
|
|
6
|
+
intercept<TContext extends string = ContextType>(interceptors: NestInterceptor[], args: unknown[], instance: Controller, callback: (...args: unknown[]) => unknown, next: () => Promise<unknown>, type?: TContext): Promise<unknown>;
|
|
7
|
+
createContext(args: unknown[], instance: Controller, callback: (...args: unknown[]) => unknown): ExecutionContextHost;
|
|
8
|
+
transformDeferred(next: () => Promise<any>): Observable<any>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InterceptorsConsumer = void 0;
|
|
4
|
+
const shared_utils_1 = require("@nestjs/common/utils/shared.utils");
|
|
5
|
+
const async_hooks_1 = require("async_hooks");
|
|
6
|
+
const rxjs_1 = require("rxjs");
|
|
7
|
+
const operators_1 = require("rxjs/operators");
|
|
8
|
+
const execution_context_host_1 = require("../helpers/execution-context-host");
|
|
9
|
+
class InterceptorsConsumer {
|
|
10
|
+
async intercept(interceptors, args, instance, callback, next, type) {
|
|
11
|
+
if ((0, shared_utils_1.isEmpty)(interceptors)) {
|
|
12
|
+
return next();
|
|
13
|
+
}
|
|
14
|
+
const context = this.createContext(args, instance, callback);
|
|
15
|
+
context.setType(type);
|
|
16
|
+
const nextFn = async (i = 0) => {
|
|
17
|
+
if (i >= interceptors.length) {
|
|
18
|
+
return (0, rxjs_1.defer)(async_hooks_1.AsyncResource.bind(() => this.transformDeferred(next)));
|
|
19
|
+
}
|
|
20
|
+
const handler = {
|
|
21
|
+
handle: () => (0, rxjs_1.defer)(async_hooks_1.AsyncResource.bind(() => nextFn(i + 1))).pipe((0, operators_1.mergeAll)()),
|
|
22
|
+
};
|
|
23
|
+
return interceptors[i].intercept(context, handler);
|
|
24
|
+
};
|
|
25
|
+
return (0, rxjs_1.defer)(() => nextFn()).pipe((0, operators_1.mergeAll)());
|
|
26
|
+
}
|
|
27
|
+
createContext(args, instance, callback) {
|
|
28
|
+
return new execution_context_host_1.ExecutionContextHost(args, instance.constructor, callback);
|
|
29
|
+
}
|
|
30
|
+
transformDeferred(next) {
|
|
31
|
+
return (0, rxjs_1.from)(next()).pipe((0, operators_1.switchMap)(res => {
|
|
32
|
+
const isDeferred = res instanceof Promise || res instanceof rxjs_1.Observable;
|
|
33
|
+
return isDeferred ? res : Promise.resolve(res);
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.InterceptorsConsumer = InterceptorsConsumer;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Controller, NestInterceptor, Type } from '@nestjs/common/interfaces';
|
|
2
|
+
import { ApplicationConfig } from '../application-config';
|
|
3
|
+
import { ContextCreator } from '../helpers/context-creator';
|
|
4
|
+
import { NestContainer } from '../injector/container';
|
|
5
|
+
import { InstanceWrapper } from '../injector/instance-wrapper';
|
|
6
|
+
export declare class InterceptorsContextCreator extends ContextCreator {
|
|
7
|
+
private readonly container;
|
|
8
|
+
private readonly config?;
|
|
9
|
+
private moduleContext;
|
|
10
|
+
constructor(container: NestContainer, config?: ApplicationConfig | undefined);
|
|
11
|
+
create(instance: Controller, callback: (...args: unknown[]) => unknown, module: string, contextId?: import("../injector/instance-wrapper").ContextId, inquirerId?: string): NestInterceptor[];
|
|
12
|
+
createConcreteContext<T extends any[], R extends any[]>(metadata: T, contextId?: import("../injector/instance-wrapper").ContextId, inquirerId?: string): R;
|
|
13
|
+
getInterceptorInstance(metatype: Function | NestInterceptor, contextId?: import("../injector/instance-wrapper").ContextId, inquirerId?: string): NestInterceptor | null;
|
|
14
|
+
getInstanceByMetatype(metatype: Type<unknown>): InstanceWrapper | undefined;
|
|
15
|
+
getGlobalMetadata<T extends unknown[]>(contextId?: import("../injector/instance-wrapper").ContextId, inquirerId?: string): T;
|
|
16
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InterceptorsContextCreator = void 0;
|
|
4
|
+
const constants_1 = require("@nestjs/common/constants");
|
|
5
|
+
const shared_utils_1 = require("@nestjs/common/utils/shared.utils");
|
|
6
|
+
const iterare_1 = require("iterare");
|
|
7
|
+
const context_creator_1 = require("../helpers/context-creator");
|
|
8
|
+
const constants_2 = require("../injector/constants");
|
|
9
|
+
class InterceptorsContextCreator extends context_creator_1.ContextCreator {
|
|
10
|
+
constructor(container, config) {
|
|
11
|
+
super();
|
|
12
|
+
this.container = container;
|
|
13
|
+
this.config = config;
|
|
14
|
+
}
|
|
15
|
+
create(instance, callback, module, contextId = constants_2.STATIC_CONTEXT, inquirerId) {
|
|
16
|
+
this.moduleContext = module;
|
|
17
|
+
return this.createContext(instance, callback, constants_1.INTERCEPTORS_METADATA, contextId, inquirerId);
|
|
18
|
+
}
|
|
19
|
+
createConcreteContext(metadata, contextId = constants_2.STATIC_CONTEXT, inquirerId) {
|
|
20
|
+
if ((0, shared_utils_1.isEmpty)(metadata)) {
|
|
21
|
+
return [];
|
|
22
|
+
}
|
|
23
|
+
return (0, iterare_1.iterate)(metadata)
|
|
24
|
+
.filter(interceptor => interceptor && (interceptor.name || interceptor.intercept))
|
|
25
|
+
.map(interceptor => this.getInterceptorInstance(interceptor, contextId, inquirerId))
|
|
26
|
+
.filter((interceptor) => interceptor ? (0, shared_utils_1.isFunction)(interceptor.intercept) : false)
|
|
27
|
+
.toArray();
|
|
28
|
+
}
|
|
29
|
+
getInterceptorInstance(metatype, contextId = constants_2.STATIC_CONTEXT, inquirerId) {
|
|
30
|
+
const isObject = !!metatype.intercept;
|
|
31
|
+
if (isObject) {
|
|
32
|
+
return metatype;
|
|
33
|
+
}
|
|
34
|
+
const instanceWrapper = this.getInstanceByMetatype(metatype);
|
|
35
|
+
if (!instanceWrapper) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
const instanceHost = instanceWrapper.getInstanceByContextId(this.getContextId(contextId, instanceWrapper), inquirerId);
|
|
39
|
+
return instanceHost && instanceHost.instance;
|
|
40
|
+
}
|
|
41
|
+
getInstanceByMetatype(metatype) {
|
|
42
|
+
if (!this.moduleContext) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const collection = this.container.getModules();
|
|
46
|
+
const moduleRef = collection.get(this.moduleContext);
|
|
47
|
+
if (!moduleRef) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
return moduleRef.injectables.get(metatype);
|
|
51
|
+
}
|
|
52
|
+
getGlobalMetadata(contextId = constants_2.STATIC_CONTEXT, inquirerId) {
|
|
53
|
+
if (!this.config) {
|
|
54
|
+
return [];
|
|
55
|
+
}
|
|
56
|
+
const globalInterceptors = this.config.getGlobalInterceptors();
|
|
57
|
+
if (contextId === constants_2.STATIC_CONTEXT && !inquirerId) {
|
|
58
|
+
return globalInterceptors;
|
|
59
|
+
}
|
|
60
|
+
const scopedInterceptorWrappers = this.config.getGlobalRequestInterceptors();
|
|
61
|
+
const scopedInterceptors = (0, iterare_1.iterate)(scopedInterceptorWrappers)
|
|
62
|
+
.map(wrapper => wrapper.getInstanceByContextId(this.getContextId(contextId, wrapper), inquirerId))
|
|
63
|
+
.filter(host => !!host)
|
|
64
|
+
.map(host => host.instance)
|
|
65
|
+
.toArray();
|
|
66
|
+
return globalInterceptors.concat(scopedInterceptors);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
exports.InterceptorsContextCreator = InterceptorsContextCreator;
|
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';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Injectable } from '@nestjs/common/interfaces/injectable.interface';
|
|
2
|
+
export declare class MetadataScanner {
|
|
3
|
+
private readonly cachedScannedPrototypes;
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated
|
|
6
|
+
* @see {@link getAllMethodNames}
|
|
7
|
+
* @see getAllMethodNames
|
|
8
|
+
*/
|
|
9
|
+
scanFromPrototype<T extends Injectable, R = any>(instance: T, prototype: object | null, callback: (name: string) => R): R[];
|
|
10
|
+
/**
|
|
11
|
+
* @deprecated
|
|
12
|
+
* @see {@link getAllMethodNames}
|
|
13
|
+
* @see getAllMethodNames
|
|
14
|
+
*/
|
|
15
|
+
getAllFilteredMethodNames(prototype: object): IterableIterator<string>;
|
|
16
|
+
getAllMethodNames(prototype: object | null): string[];
|
|
17
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MetadataScanner = void 0;
|
|
4
|
+
const shared_utils_1 = require("@nestjs/common/utils/shared.utils");
|
|
5
|
+
class MetadataScanner {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.cachedScannedPrototypes = new Map();
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated
|
|
11
|
+
* @see {@link getAllMethodNames}
|
|
12
|
+
* @see getAllMethodNames
|
|
13
|
+
*/
|
|
14
|
+
scanFromPrototype(instance, prototype, callback) {
|
|
15
|
+
if (!prototype) {
|
|
16
|
+
return [];
|
|
17
|
+
}
|
|
18
|
+
const visitedNames = new Map();
|
|
19
|
+
const result = [];
|
|
20
|
+
do {
|
|
21
|
+
for (const property of Object.getOwnPropertyNames(prototype)) {
|
|
22
|
+
if (visitedNames.has(property)) {
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
visitedNames.set(property, true);
|
|
26
|
+
// reason: https://github.com/nestjs/nest/pull/10821#issuecomment-1411916533
|
|
27
|
+
const descriptor = Object.getOwnPropertyDescriptor(prototype, property);
|
|
28
|
+
if (descriptor.set ||
|
|
29
|
+
descriptor.get ||
|
|
30
|
+
(0, shared_utils_1.isConstructor)(property) ||
|
|
31
|
+
!(0, shared_utils_1.isFunction)(prototype[property])) {
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
const value = callback(property);
|
|
35
|
+
if ((0, shared_utils_1.isNil)(value)) {
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
result.push(value);
|
|
39
|
+
}
|
|
40
|
+
} while ((prototype = Reflect.getPrototypeOf(prototype)) &&
|
|
41
|
+
prototype !== Object.prototype);
|
|
42
|
+
return result;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* @deprecated
|
|
46
|
+
* @see {@link getAllMethodNames}
|
|
47
|
+
* @see getAllMethodNames
|
|
48
|
+
*/
|
|
49
|
+
*getAllFilteredMethodNames(prototype) {
|
|
50
|
+
yield* this.getAllMethodNames(prototype);
|
|
51
|
+
}
|
|
52
|
+
getAllMethodNames(prototype) {
|
|
53
|
+
if (!prototype) {
|
|
54
|
+
return [];
|
|
55
|
+
}
|
|
56
|
+
if (this.cachedScannedPrototypes.has(prototype)) {
|
|
57
|
+
return this.cachedScannedPrototypes.get(prototype);
|
|
58
|
+
}
|
|
59
|
+
const visitedNames = new Map();
|
|
60
|
+
const result = [];
|
|
61
|
+
this.cachedScannedPrototypes.set(prototype, result);
|
|
62
|
+
do {
|
|
63
|
+
for (const property of Object.getOwnPropertyNames(prototype)) {
|
|
64
|
+
if (visitedNames.has(property)) {
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
visitedNames.set(property, true);
|
|
68
|
+
// reason: https://github.com/nestjs/nest/pull/10821#issuecomment-1411916533
|
|
69
|
+
const descriptor = Object.getOwnPropertyDescriptor(prototype, property);
|
|
70
|
+
if (descriptor.set ||
|
|
71
|
+
descriptor.get ||
|
|
72
|
+
(0, shared_utils_1.isConstructor)(property) ||
|
|
73
|
+
!(0, shared_utils_1.isFunction)(prototype[property])) {
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
result.push(property);
|
|
77
|
+
}
|
|
78
|
+
} while ((prototype = Reflect.getPrototypeOf(prototype)) &&
|
|
79
|
+
prototype !== Object.prototype);
|
|
80
|
+
return result;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
exports.MetadataScanner = MetadataScanner;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { HttpServer, MiddlewareConsumer, Type } from '@nestjs/common/interfaces';
|
|
2
|
+
import { MiddlewareConfigProxy, MiddlewareConfiguration } from '@nestjs/common/interfaces/middleware';
|
|
3
|
+
import { RouteInfoPathExtractor } from './route-info-path-extractor';
|
|
4
|
+
import { RoutesMapper } from './routes-mapper';
|
|
5
|
+
export declare class MiddlewareBuilder implements MiddlewareConsumer {
|
|
6
|
+
private readonly routesMapper;
|
|
7
|
+
private readonly httpAdapter;
|
|
8
|
+
private readonly routeInfoPathExtractor;
|
|
9
|
+
private readonly middlewareCollection;
|
|
10
|
+
constructor(routesMapper: RoutesMapper, httpAdapter: HttpServer, routeInfoPathExtractor: RouteInfoPathExtractor);
|
|
11
|
+
apply(...middleware: Array<Type<any> | Function | Array<Type<any> | Function>>): MiddlewareConfigProxy;
|
|
12
|
+
build(): MiddlewareConfiguration[];
|
|
13
|
+
getHttpAdapter(): HttpServer;
|
|
14
|
+
private static readonly ConfigProxy;
|
|
15
|
+
}
|