UNPKG

@tsclean/core

Version:

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

30 lines 4.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AbstractWsAdapter = void 0; const app_1 = require("../../app"); const helpers_1 = require("../../helpers"); const shared_utils_1 = require("../../utils/shared.utils"); class AbstractWsAdapter { constructor(appOrHttpServer) { if (appOrHttpServer && appOrHttpServer instanceof app_1.Application) { this.httpServer = appOrHttpServer.getUnderlyingHttpServer(); } else { this.httpServer = appOrHttpServer; } } bindClientConnect(server, callback) { server.on(helpers_1.CONNECTION_EVENT, callback); } bindClientDisconnect(client, callback) { client.on(helpers_1.DISCONNECT_EVENT, callback); } async close(server) { const isCallable = server && (0, shared_utils_1.isFunction)(server.close); isCallable && (await new Promise(resolve => server.close(resolve))); } // eslint-disable-next-line @typescript-eslint/no-empty-function async dispose() { } } exports.AbstractWsAdapter = AbstractWsAdapter; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3MtYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy93ZWJzb2NrZXRzL2FkYXB0ZXJzL3dzLWFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsbUNBQXVDO0FBTXZDLDJDQUFrRTtBQUNsRSwyREFBcUQ7QUFPckQsTUFBc0IsaUJBQWlCO0lBUXJDLFlBQWEsZUFBbUQ7UUFDOUQsSUFBSSxlQUFlLElBQUksZUFBZSxZQUFZLGlCQUFXLEVBQUUsQ0FBQztZQUM5RCxJQUFJLENBQUMsVUFBVSxHQUFHLGVBQWUsQ0FBQyx1QkFBdUIsRUFBRSxDQUFBO1FBQzdELENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFVBQVUsR0FBRyxlQUFlLENBQUE7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFFTSxpQkFBaUIsQ0FBRSxNQUFlLEVBQUUsUUFBa0I7UUFDM0QsTUFBTSxDQUFDLEVBQUUsQ0FBQywwQkFBZ0IsRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUN2QyxDQUFDO0lBRU0sb0JBQW9CLENBQUUsTUFBZSxFQUFFLFFBQWtCO1FBQzlELE1BQU0sQ0FBQyxFQUFFLENBQUMsMEJBQWdCLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDdkMsQ0FBQztJQUVNLEtBQUssQ0FBQyxLQUFLLENBQUUsTUFBZTtRQUNqQyxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksSUFBQSx5QkFBVSxFQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNyRCxVQUFVLElBQUksQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDckUsQ0FBQztJQUVELGdFQUFnRTtJQUN6RCxLQUFLLENBQUMsT0FBTyxLQUFLLENBQUM7Q0FRM0I7QUF0Q0QsOENBc0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBBcHBsaWNhdGlvbiB9IGZyb20gJy4uLy4uL2FwcCdcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uQ29udGV4dEludGVyZmFjZSxcbiAgV2ViU29ja2V0QWRhcHRlcixcbiAgV3NNZXNzYWdlSGFuZGxlclxufSBmcm9tICcuLi8uLi9jb250cmFjdHMnXG5pbXBvcnQgeyBDT05ORUNUSU9OX0VWRU5ULCBESVNDT05ORUNUX0VWRU5UIH0gZnJvbSAnLi4vLi4vaGVscGVycydcbmltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tICcuLi8uLi91dGlscy9zaGFyZWQudXRpbHMnXG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZVdzSW5zdGFuY2Uge1xuICBvbjogKGV2ZW50OiBzdHJpbmcsIGNhbGxiYWNrOiBGdW5jdGlvbikgPT4gdm9pZFxuICBjbG9zZTogRnVuY3Rpb25cbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0V3NBZGFwdGVyPFxuICBUU2VydmVyIGV4dGVuZHMgQmFzZVdzSW5zdGFuY2UgPSBhbnksXG4gIFRDbGllbnQgZXh0ZW5kcyBCYXNlV3NJbnN0YW5jZSA9IGFueSxcbiAgVE9wdGlvbnMgPSBhbnlcbj4gaW1wbGVtZW50cyBXZWJTb2NrZXRBZGFwdGVyPFRTZXJ2ZXIsIFRDbGllbnQsIFRPcHRpb25zPlxue1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaHR0cFNlcnZlcjogYW55XG5cbiAgY29uc3RydWN0b3IgKGFwcE9ySHR0cFNlcnZlcj86IEFwcGxpY2F0aW9uQ29udGV4dEludGVyZmFjZSB8IGFueSkge1xuICAgIGlmIChhcHBPckh0dHBTZXJ2ZXIgJiYgYXBwT3JIdHRwU2VydmVyIGluc3RhbmNlb2YgQXBwbGljYXRpb24pIHtcbiAgICAgIHRoaXMuaHR0cFNlcnZlciA9IGFwcE9ySHR0cFNlcnZlci5nZXRVbmRlcmx5aW5nSHR0cFNlcnZlcigpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaHR0cFNlcnZlciA9IGFwcE9ySHR0cFNlcnZlclxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBiaW5kQ2xpZW50Q29ubmVjdCAoc2VydmVyOiBUU2VydmVyLCBjYWxsYmFjazogRnVuY3Rpb24pIHtcbiAgICBzZXJ2ZXIub24oQ09OTkVDVElPTl9FVkVOVCwgY2FsbGJhY2spXG4gIH1cblxuICBwdWJsaWMgYmluZENsaWVudERpc2Nvbm5lY3QgKGNsaWVudDogVENsaWVudCwgY2FsbGJhY2s6IEZ1bmN0aW9uKSB7XG4gICAgY2xpZW50Lm9uKERJU0NPTk5FQ1RfRVZFTlQsIGNhbGxiYWNrKVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGNsb3NlIChzZXJ2ZXI6IFRTZXJ2ZXIpIHtcbiAgICBjb25zdCBpc0NhbGxhYmxlID0gc2VydmVyICYmIGlzRnVuY3Rpb24oc2VydmVyLmNsb3NlKVxuICAgIGlzQ2FsbGFibGUgJiYgKGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2VydmVyLmNsb3NlKHJlc29sdmUpKSlcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgcHVibGljIGFzeW5jIGRpc3Bvc2UgKCkge31cblxuICBwdWJsaWMgYWJzdHJhY3QgY3JlYXRlKHBvcnQ6IG51bWJlciwgb3B0aW9ucz86IFRPcHRpb25zKTogVFNlcnZlclxuICBwdWJsaWMgYWJzdHJhY3QgYmluZE1lc3NhZ2VIYW5kbGVycyhcbiAgICBjbGllbnQ6IFRDbGllbnQsXG4gICAgaGFuZGxlcnM6IFdzTWVzc2FnZUhhbmRsZXJbXSxcbiAgICB0cmFuc2Zvcm06IChkYXRhOiBhbnkpID0+IE9ic2VydmFibGU8YW55PlxuICApXG59XG4iXX0=