UNPKG

@tsclean/core

Version:

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

30 lines 4.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RouterProxy = void 0; const helpers_1 = require("../helpers"); class RouterProxy { createProxy(targetCallback, exceptionsHandler) { return async (req, res, next) => { try { await targetCallback(req, res, next); } catch (e) { const host = new helpers_1.ExecutionContextHost([req, res, next]); exceptionsHandler.next(e, host); } }; } createExceptionLayerProxy(targetCallback, exceptionsHandler) { return async (err, req, res, next) => { try { await targetCallback(err, req, res, next); } catch (e) { const host = new helpers_1.ExecutionContextHost([req, res, next]); exceptionsHandler.next(e, host); } }; } } exports.RouterProxy = RouterProxy; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLXByb3h5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JvdXRlci9yb3V0ZXItcHJveHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsd0NBQWtEO0FBU2xELE1BQWEsV0FBVztJQUNmLFdBQVcsQ0FDaEIsY0FBbUMsRUFDbkMsaUJBQW9DO1FBRXBDLE9BQU8sS0FBSyxFQUNWLEdBQWEsRUFDYixHQUFjLEVBQ2QsSUFBZ0IsRUFDaEIsRUFBRTtZQUNGLElBQUksQ0FBQztnQkFDSCxNQUFNLGNBQWMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNYLE1BQU0sSUFBSSxHQUFHLElBQUksOEJBQW9CLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ3hELGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDbEMsQ0FBQztRQUNILENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTSx5QkFBeUIsQ0FDOUIsY0FLUyxFQUNULGlCQUFvQztRQUVwQyxPQUFPLEtBQUssRUFDVixHQUFXLEVBQ1gsR0FBYSxFQUNiLEdBQWMsRUFDZCxJQUFnQixFQUNoQixFQUFFO1lBQ0YsSUFBSSxDQUFDO2dCQUNILE1BQU0sY0FBYyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzVDLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNYLE1BQU0sSUFBSSxHQUFHLElBQUksOEJBQW9CLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ3hELGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDbEMsQ0FBQztRQUNILENBQUMsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQTFDRCxrQ0EwQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFeGVjdXRpb25Db250ZXh0SG9zdCB9IGZyb20gJy4uL2hlbHBlcnMnO1xuaW1wb3J0IHtFeGNlcHRpb25zSGFuZGxlcn0gZnJvbSBcIi4uL2NvcmVcIjtcblxuZXhwb3J0IHR5cGUgUm91dGVyUHJveHlDYWxsYmFjayA9IDxUUmVxdWVzdCwgVFJlc3BvbnNlPihcbiAgcmVxPzogVFJlcXVlc3QsXG4gIHJlcz86IFRSZXNwb25zZSxcbiAgbmV4dD86ICgpID0+IHZvaWQsXG4pID0+IHZvaWQ7XG5cbmV4cG9ydCBjbGFzcyBSb3V0ZXJQcm94eSB7XG4gIHB1YmxpYyBjcmVhdGVQcm94eShcbiAgICB0YXJnZXRDYWxsYmFjazogUm91dGVyUHJveHlDYWxsYmFjayxcbiAgICBleGNlcHRpb25zSGFuZGxlcjogRXhjZXB0aW9uc0hhbmRsZXIsXG4gICkge1xuICAgIHJldHVybiBhc3luYyA8VFJlcXVlc3QsIFRSZXNwb25zZT4oXG4gICAgICByZXE6IFRSZXF1ZXN0LFxuICAgICAgcmVzOiBUUmVzcG9uc2UsXG4gICAgICBuZXh0OiAoKSA9PiB2b2lkLFxuICAgICkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgdGFyZ2V0Q2FsbGJhY2socmVxLCByZXMsIG5leHQpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBob3N0ID0gbmV3IEV4ZWN1dGlvbkNvbnRleHRIb3N0KFtyZXEsIHJlcywgbmV4dF0pO1xuICAgICAgICBleGNlcHRpb25zSGFuZGxlci5uZXh0KGUsIGhvc3QpO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlRXhjZXB0aW9uTGF5ZXJQcm94eShcbiAgICB0YXJnZXRDYWxsYmFjazogPFRFcnJvciwgVFJlcXVlc3QsIFRSZXNwb25zZT4oXG4gICAgICBlcnI6IFRFcnJvcixcbiAgICAgIHJlcTogVFJlcXVlc3QsXG4gICAgICByZXM6IFRSZXNwb25zZSxcbiAgICAgIG5leHQ6ICgpID0+IHZvaWQsXG4gICAgKSA9PiB2b2lkLFxuICAgIGV4Y2VwdGlvbnNIYW5kbGVyOiBFeGNlcHRpb25zSGFuZGxlcixcbiAgKSB7XG4gICAgcmV0dXJuIGFzeW5jIDxURXJyb3IsIFRSZXF1ZXN0LCBUUmVzcG9uc2U+KFxuICAgICAgZXJyOiBURXJyb3IsXG4gICAgICByZXE6IFRSZXF1ZXN0LFxuICAgICAgcmVzOiBUUmVzcG9uc2UsXG4gICAgICBuZXh0OiAoKSA9PiB2b2lkLFxuICAgICkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgdGFyZ2V0Q2FsbGJhY2soZXJyLCByZXEsIHJlcywgbmV4dCk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNvbnN0IGhvc3QgPSBuZXcgRXhlY3V0aW9uQ29udGV4dEhvc3QoW3JlcSwgcmVzLCBuZXh0XSk7XG4gICAgICAgIGV4Y2VwdGlvbnNIYW5kbGVyLm5leHQoZSwgaG9zdCk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxufVxuIl19