UNPKG

@addapptables/ng-socket-io

Version:
65 lines 4.96 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as io from 'socket.io-client'; import { Injectable } from '@angular/core'; export class SocketIoAdapter { /** * @param {?} url * @param {?=} options * @return {?} */ connect(url, options) { return new Promise((/** * @param {?} resolve * @param {?} reject * @return {?} */ (resolve, reject) => { try { /** @type {?} */ const ioFunc = ((/** @type {?} */ (io))).default ? ((/** @type {?} */ (io))).default : io; /** @type {?} */ const connection = ioFunc(url, options); resolve(connection.connect()); } catch (error) { reject(error.message); } })); } /** * @param {?} connection * @param {?} event * @param {?} callFunction * @return {?} */ bindEvent(connection, event, callFunction) { connection.on(event, callFunction); } /** * @param {?} connection * @return {?} */ disconnect(connection) { return new Promise((/** * @param {?} resolve * @param {?} reject * @return {?} */ (resolve, reject) => { try { connection.disconnect(); resolve(); } catch (error) { reject(error.message); } })); } } SocketIoAdapter.decorators = [ { type: Injectable } ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LWlvLmFkYXB0ZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWRkYXBwdGFibGVzL25nLXNvY2tldC1pby8iLCJzb3VyY2VzIjpbImxpYi9hZGFwdGVycy9zb2NrZXQtaW8uYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV2QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE1BQU0sT0FBTyxlQUFlOzs7Ozs7SUFFeEIsT0FBTyxDQUFDLEdBQVcsRUFBRSxPQUFvQztRQUNyRCxPQUFPLElBQUksT0FBTzs7Ozs7UUFBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNuQyxJQUFJOztzQkFDTSxNQUFNLEdBQUcsQ0FBQyxtQkFBQSxFQUFFLEVBQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBQSxFQUFFLEVBQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTs7c0JBQ3ZELFVBQVUsR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQztnQkFDdkMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO2FBQ2pDO1lBQUMsT0FBTyxLQUFLLEVBQUU7Z0JBQ1osTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUN6QjtRQUNMLENBQUMsRUFBQyxDQUFDO0lBQ1AsQ0FBQzs7Ozs7OztJQUVELFNBQVMsQ0FBQyxVQUFpQyxFQUFFLEtBQWEsRUFBRSxZQUFzQztRQUM5RixVQUFVLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN2QyxDQUFDOzs7OztJQUVELFVBQVUsQ0FBQyxVQUFpQztRQUN4QyxPQUFPLElBQUksT0FBTzs7Ozs7UUFBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNuQyxJQUFJO2dCQUNBLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDeEIsT0FBTyxFQUFFLENBQUM7YUFDYjtZQUFDLE9BQU8sS0FBSyxFQUFFO2dCQUNaLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDekI7UUFDTCxDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7OztZQTVCSixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaW8gZnJvbSAnc29ja2V0LmlvLWNsaWVudCc7XHJcbmltcG9ydCB7IElTb2NrZXQgfSBmcm9tICdAYWRkYXBwdGFibGVzL25nLXdlYi1zb2NrZXQnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTb2NrZXRJb0FkYXB0ZXIgaW1wbGVtZW50cyBJU29ja2V0PFNvY2tldElPQ2xpZW50LlNvY2tldCwgU29ja2V0SU9DbGllbnQuQ29ubmVjdE9wdHM+IHtcclxuXHJcbiAgICBjb25uZWN0KHVybDogc3RyaW5nLCBvcHRpb25zPzogU29ja2V0SU9DbGllbnQuQ29ubmVjdE9wdHMpOiBQcm9taXNlPFNvY2tldElPQ2xpZW50LlNvY2tldD4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBpb0Z1bmMgPSAoaW8gYXMgYW55KS5kZWZhdWx0ID8gKGlvIGFzIGFueSkuZGVmYXVsdCA6IGlvO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29ubmVjdGlvbiA9IGlvRnVuYyh1cmwsIG9wdGlvbnMpO1xyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZShjb25uZWN0aW9uLmNvbm5lY3QoKSk7XHJcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IubWVzc2FnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBiaW5kRXZlbnQoY29ubmVjdGlvbjogU29ja2V0SU9DbGllbnQuU29ja2V0LCBldmVudDogc3RyaW5nLCBjYWxsRnVuY3Rpb246ICguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZCkge1xyXG4gICAgICAgIGNvbm5lY3Rpb24ub24oZXZlbnQsIGNhbGxGdW5jdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzY29ubmVjdChjb25uZWN0aW9uOiBTb2NrZXRJT0NsaWVudC5Tb2NrZXQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgY29ubmVjdGlvbi5kaXNjb25uZWN0KCk7XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKCk7XHJcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IubWVzc2FnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=