UNPKG

1.91 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const constants_1 = require("@nestjs/common/constants");
4const shared_utils_1 = require("@nestjs/common/utils/shared.utils");
5const constants_2 = require("../injector/constants");
6const base_exception_filter_context_1 = require("./base-exception-filter-context");
7const external_exceptions_handler_1 = require("./external-exceptions-handler");
8class ExternalExceptionFilterContext extends base_exception_filter_context_1.BaseExceptionFilterContext {
9 constructor(container, config) {
10 super(container);
11 this.config = config;
12 }
13 create(instance, callback, module, contextId = constants_2.STATIC_CONTEXT, inquirerId) {
14 this.moduleContext = module;
15 const exceptionHandler = new external_exceptions_handler_1.ExternalExceptionsHandler();
16 const filters = this.createContext(instance, callback, constants_1.EXCEPTION_FILTERS_METADATA, contextId, inquirerId);
17 if (shared_utils_1.isEmpty(filters)) {
18 return exceptionHandler;
19 }
20 exceptionHandler.setCustomFilters(filters.reverse());
21 return exceptionHandler;
22 }
23 getGlobalMetadata(contextId = constants_2.STATIC_CONTEXT, inquirerId) {
24 if (!this.config) {
25 return [];
26 }
27 const globalFilters = this.config.getGlobalFilters();
28 if (contextId === constants_2.STATIC_CONTEXT && !inquirerId) {
29 return globalFilters;
30 }
31 const scopedFilterWrappers = this.config.getGlobalRequestFilters();
32 const scopedFilters = scopedFilterWrappers
33 .map(wrapper => wrapper.getInstanceByContextId(contextId, inquirerId))
34 .filter(host => host)
35 .map(host => host.instance);
36 return globalFilters.concat(scopedFilters);
37 }
38}
39exports.ExternalExceptionFilterContext = ExternalExceptionFilterContext;