@tsclean/core
Version:
Plugin for API Rest Full development, based on Clean Architecture, IoC and Dependency Injection.
20 lines • 2.4 kB
JavaScript
;
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==