UNPKG

2.02 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.RouterExceptionFilters = void 0;
4const constants_1 = require("@nestjs/common/constants");
5const shared_utils_1 = require("@nestjs/common/utils/shared.utils");
6const base_exception_filter_context_1 = require("../exceptions/base-exception-filter-context");
7const exceptions_handler_1 = require("../exceptions/exceptions-handler");
8const constants_2 = require("../injector/constants");
9const iterare_1 = require("iterare");
10class RouterExceptionFilters extends base_exception_filter_context_1.BaseExceptionFilterContext {
11 constructor(container, config, applicationRef) {
12 super(container);
13 this.config = config;
14 this.applicationRef = applicationRef;
15 }
16 create(instance, callback, moduleKey, contextId = constants_2.STATIC_CONTEXT, inquirerId) {
17 this.moduleContext = moduleKey;
18 const exceptionHandler = new exceptions_handler_1.ExceptionsHandler(this.applicationRef);
19 const filters = this.createContext(instance, callback, constants_1.EXCEPTION_FILTERS_METADATA, contextId, inquirerId);
20 if (shared_utils_1.isEmpty(filters)) {
21 return exceptionHandler;
22 }
23 exceptionHandler.setCustomFilters(filters.reverse());
24 return exceptionHandler;
25 }
26 getGlobalMetadata(contextId = constants_2.STATIC_CONTEXT, inquirerId) {
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 = iterare_1.iterate(scopedFilterWrappers)
33 .map(wrapper => wrapper.getInstanceByContextId(contextId, inquirerId))
34 .filter(host => !!host)
35 .map(host => host.instance)
36 .toArray();
37 return globalFilters.concat(scopedFilters);
38 }
39}
40exports.RouterExceptionFilters = RouterExceptionFilters;