UNPKG

@tsclean/core

Version:

Plugin for API Rest Full development, based on Clean Architecture, IoC and Dependency Injection.

20 lines 2.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ExternalErrorProxy = void 0; const execution_context_host_1 = require("./execution-context-host"); class ExternalErrorProxy { createProxy(targetCallback, exceptionsHandler, type) { return async (...args) => { try { return await targetCallback(...args); } catch (e) { const host = new execution_context_host_1.ExecutionContextHost(args); host.setType(type); return exceptionsHandler.next(e, host); } }; } } exports.ExternalErrorProxy = ExternalErrorProxy; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtcHJveHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGVscGVycy9leHRlcm5hbC1wcm94eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxRUFBZ0U7QUFHaEUsTUFBYSxrQkFBa0I7SUFDdEIsV0FBVyxDQUNoQixjQUF1QyxFQUFFLGlCQUE0QyxFQUFFLElBQVE7UUFDL0YsT0FBTyxLQUFLLEVBQUUsR0FBRyxJQUFXLEVBQUUsRUFBRTtZQUM5QixJQUFJLENBQUM7Z0JBQ0gsT0FBTyxNQUFNLGNBQWMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNYLE1BQU0sSUFBSSxHQUFHLElBQUksNkNBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzVDLElBQUksQ0FBQyxPQUFPLENBQUksSUFBSSxDQUFDLENBQUM7Z0JBQ3RCLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN6QyxDQUFDO1FBQ0gsQ0FBQyxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBYkQsZ0RBYUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFeHRlcm5hbEV4Y2VwdGlvbnNIYW5kbGVyIH0gZnJvbSAnLi4vY29yZS9leGNlcHRpb25zL2V4dGVybmFsLWV4Y2VwdGlvbnMtaGFuZGxlcic7XG5pbXBvcnQgeyBFeGVjdXRpb25Db250ZXh0SG9zdCB9IGZyb20gJy4vZXhlY3V0aW9uLWNvbnRleHQtaG9zdCc7XG5pbXBvcnQge0NvbnRleHRUeXBlfSBmcm9tIFwiLi4vdHlwZXNcIjtcblxuZXhwb3J0IGNsYXNzIEV4dGVybmFsRXJyb3JQcm94eSB7XG4gIHB1YmxpYyBjcmVhdGVQcm94eTxUIGV4dGVuZHMgc3RyaW5nID0gQ29udGV4dFR5cGU+KFxuICAgIHRhcmdldENhbGxiYWNrOiAoLi4uYXJnczogYW55W10pID0+IGFueSwgZXhjZXB0aW9uc0hhbmRsZXI6IEV4dGVybmFsRXhjZXB0aW9uc0hhbmRsZXIsIHR5cGU/OiBUKSB7XG4gICAgcmV0dXJuIGFzeW5jICguLi5hcmdzOiBhbnlbXSkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhcmdldENhbGxiYWNrKC4uLmFyZ3MpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBob3N0ID0gbmV3IEV4ZWN1dGlvbkNvbnRleHRIb3N0KGFyZ3MpO1xuICAgICAgICBob3N0LnNldFR5cGU8VD4odHlwZSk7XG4gICAgICAgIHJldHVybiBleGNlcHRpb25zSGFuZGxlci5uZXh0KGUsIGhvc3QpO1xuICAgICAgfVxuICAgIH07XG4gIH1cbn1cbiJdfQ==