@addapptables/ng-signal-r
Version:
Web socket module for Angular
46 lines • 3.53 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { HubConnectionBuilder } from '@aspnet/signalr';
import { Injectable } from '@angular/core';
export class SignalRAdapter {
/**
* @param {?} url
* @param {?=} options
* @return {?}
*/
connect(url, options) {
return tslib_1.__awaiter(this, void 0, void 0, /** @this {!SignalRAdapter} */ function* () {
/** @type {?} */
const connection = new HubConnectionBuilder()
.withUrl(url, options)
.build();
yield connection.start();
return connection;
});
}
/**
* @param {?} connection
* @param {?} event
* @param {?} callFunction
* @return {?}
*/
bindEvent(connection, event, callFunction) {
connection.on(event, callFunction);
}
/**
* @param {?} connection
* @return {?}
*/
disconnect(connection) {
return tslib_1.__awaiter(this, void 0, void 0, /** @this {!SignalRAdapter} */ function* () {
yield connection.stop();
});
}
}
SignalRAdapter.decorators = [
{ type: Injectable }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsLXIuYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhZGRhcHB0YWJsZXMvbmctc2lnbmFsLXIvIiwic291cmNlcyI6WyJsaWIvYWRhcHRlcnMvc2lnbmFsLXIuYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBeUMsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE1BQU0sT0FBTyxjQUFjOzs7Ozs7SUFFakIsT0FBTyxDQUFDLEdBQVcsRUFBRSxPQUFnQzs7O2tCQUNqRCxVQUFVLEdBQUcsSUFBSSxvQkFBb0IsRUFBRTtpQkFDeEMsT0FBTyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUM7aUJBQ3JCLEtBQUssRUFBRTtZQUNaLE1BQU0sVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3pCLE9BQU8sVUFBVSxDQUFDO1FBQ3RCLENBQUM7S0FBQTs7Ozs7OztJQUVELFNBQVMsQ0FBQyxVQUF5QixFQUFFLEtBQWEsRUFBRSxZQUFzQztRQUN0RixVQUFVLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN2QyxDQUFDOzs7OztJQUVLLFVBQVUsQ0FBQyxVQUF5Qjs7WUFDdEMsTUFBTSxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUIsQ0FBQztLQUFBOzs7WUFqQkosVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElTb2NrZXQgfSBmcm9tICdAYWRkYXBwdGFibGVzL25nLXdlYi1zb2NrZXQnO1xyXG5pbXBvcnQgeyBIdWJDb25uZWN0aW9uLCBJSHR0cENvbm5lY3Rpb25PcHRpb25zLCBIdWJDb25uZWN0aW9uQnVpbGRlciB9IGZyb20gJ0Bhc3BuZXQvc2lnbmFscic7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFNpZ25hbFJBZGFwdGVyIGltcGxlbWVudHMgSVNvY2tldDxIdWJDb25uZWN0aW9uLCBJSHR0cENvbm5lY3Rpb25PcHRpb25zPiB7XHJcblxyXG4gICAgYXN5bmMgY29ubmVjdCh1cmw6IHN0cmluZywgb3B0aW9ucz86IElIdHRwQ29ubmVjdGlvbk9wdGlvbnMpOiBQcm9taXNlPEh1YkNvbm5lY3Rpb24+IHtcclxuICAgICAgICBjb25zdCBjb25uZWN0aW9uID0gbmV3IEh1YkNvbm5lY3Rpb25CdWlsZGVyKClcclxuICAgICAgICAgICAgLndpdGhVcmwodXJsLCBvcHRpb25zKVxyXG4gICAgICAgICAgICAuYnVpbGQoKTtcclxuICAgICAgICBhd2FpdCBjb25uZWN0aW9uLnN0YXJ0KCk7XHJcbiAgICAgICAgcmV0dXJuIGNvbm5lY3Rpb247XHJcbiAgICB9XHJcblxyXG4gICAgYmluZEV2ZW50KGNvbm5lY3Rpb246IEh1YkNvbm5lY3Rpb24sIGV2ZW50OiBzdHJpbmcsIGNhbGxGdW5jdGlvbjogKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkKSB7XHJcbiAgICAgICAgY29ubmVjdGlvbi5vbihldmVudCwgY2FsbEZ1bmN0aW9uKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBkaXNjb25uZWN0KGNvbm5lY3Rpb246IEh1YkNvbm5lY3Rpb24pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBhd2FpdCBjb25uZWN0aW9uLnN0b3AoKTtcclxuICAgIH1cclxuXHJcbn1cclxuIl19