UNPKG

ng4-signalr

Version:
67 lines 12.1 kB
import { SignalRConfiguration } from './signalr.configuration'; import { SignalRConnection } from './connection/signalr.connection'; import { Inject, Injectable, InjectionToken } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "./signalr.configuration"; export const SIGNALR_JCONNECTION_TOKEN = new InjectionToken('SIGNALR_JCONNECTION_TOKEN'); export class SignalR { constructor(configuration, zone, jHubConnectionFn) { this._configuration = configuration; this._zone = zone; this._jHubConnectionFn = jHubConnectionFn; } createConnection(options) { const configuration = this.merge(options ? options : {}); try { const serializedQs = JSON.stringify(configuration.qs); const serializedTransport = JSON.stringify(configuration.transport); if (configuration.logging) { console.log(`Creating connecting with multiple HUBS support!...`); console.log(`configuration:[url: '${configuration.url}'] ...`); configuration.hubNames.forEach((element) => { console.log(`configuration:[hubName: '${element}'] ...`); }); console.log(`configuration:[qs: '${serializedQs}'] ...`); console.log(`configuration:[transport: '${serializedTransport}'] ...`); } } catch (err) { /* empty */ } // create connection object const jConnection = this._jHubConnectionFn(configuration.url); jConnection.logging = configuration.logging; jConnection.qs = configuration.qs; const jProxies = new Map(); configuration.hubNames.forEach((element) => { // create a proxy const jp = jConnection.createHubProxy(element); jp.on('noOp', () => { }); jProxies.set(element, jp); // !!! important. We need to register at least one function otherwise server callbacks will not work. }); const hubConnection = new SignalRConnection(jConnection, jProxies, this._zone, configuration); return hubConnection; } connect(options) { return this.createConnection(options).start(); } merge(overrides) { const merged = new SignalRConfiguration(); merged.hubNames = overrides.hubNames || this._configuration.hubNames; merged.url = overrides.url || this._configuration.url; merged.qs = overrides.qs || this._configuration.qs; merged.logging = this._configuration.logging; merged.jsonp = overrides.jsonp || this._configuration.jsonp; merged.withCredentials = overrides.withCredentials || this._configuration.withCredentials; merged.transport = overrides.transport || this._configuration.transport; return merged; } } SignalR.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SignalR, deps: [{ token: i1.SignalRConfiguration }, { token: i0.NgZone }, { token: SIGNALR_JCONNECTION_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); SignalR.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SignalR }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SignalR, decorators: [{ type: Injectable }], ctorParameters: function () { return [{ type: i1.SignalRConfiguration }, { type: i0.NgZone }, { type: undefined, decorators: [{ type: Inject, args: [SIGNALR_JCONNECTION_TOKEN] }] }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9zaWduYWxyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXBFLE9BQU8sRUFBVSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRTNFLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLElBQUksY0FBYyxDQUFNLDJCQUEyQixDQUFDLENBQUM7QUFFOUYsTUFBTSxPQUFPLE9BQU87SUFLaEIsWUFDSSxhQUFtQyxFQUNuQyxJQUFZLEVBQ3VCLGdCQUFxQjtRQUV4RCxJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQztRQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUM7SUFDOUMsQ0FBQztJQUVNLGdCQUFnQixDQUFDLE9BQTRCO1FBRWhELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXpELElBQUk7WUFFQSxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN0RCxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRXBFLElBQUksYUFBYSxDQUFDLE9BQU8sRUFBRTtnQkFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO2dCQUNsRSxPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QixhQUFhLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQztnQkFDL0QsYUFBYSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtvQkFDdkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsT0FBTyxRQUFRLENBQUMsQ0FBQztnQkFDN0QsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsWUFBWSxRQUFRLENBQUMsQ0FBQztnQkFDekQsT0FBTyxDQUFDLEdBQUcsQ0FBQyw4QkFBOEIsbUJBQW1CLFFBQVEsQ0FBQyxDQUFDO2FBQzFFO1NBQ0o7UUFBQyxPQUFPLEdBQUcsRUFBRSxFQUFDLFdBQVcsRUFBRTtRQUU1QiwyQkFBMkI7UUFDM0IsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5RCxXQUFXLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUM7UUFDNUMsV0FBVyxDQUFDLEVBQUUsR0FBRyxhQUFhLENBQUMsRUFBRSxDQUFDO1FBRWxDLE1BQU0sUUFBUSxHQUFxQixJQUFJLEdBQUcsRUFBZSxDQUFDO1FBQzFELGFBQWEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDdkMsaUJBQWlCO1lBQ2pCLE1BQU0sRUFBRSxHQUFHLFdBQVcsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDL0MsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQWUsQ0FBQyxDQUFDLENBQUM7WUFDckMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDMUIscUdBQXFHO1FBQ3pHLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxhQUFhLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFFOUYsT0FBTyxhQUFhLENBQUM7SUFDekIsQ0FBQztJQUVNLE9BQU8sQ0FBQyxPQUE0QjtRQUV2QyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRU8sS0FBSyxDQUFDLFNBQTZCO1FBQ3ZDLE1BQU0sTUFBTSxHQUF5QixJQUFJLG9CQUFvQixFQUFFLENBQUM7UUFDaEUsTUFBTSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDO1FBQ3JFLE1BQU0sQ0FBQyxHQUFHLEdBQUcsU0FBUyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQztRQUN0RCxNQUFNLENBQUMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7UUFDbkQsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQztRQUM3QyxNQUFNLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUM7UUFDNUQsTUFBTSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDO1FBQzFGLE1BQU0sQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQztRQUN4RSxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDOztxR0FyRVEsT0FBTyw0RUFRSix5QkFBeUI7eUdBUjVCLE9BQU87NEZBQVAsT0FBTztrQkFEbkIsVUFBVTs7MEJBU0YsTUFBTTsyQkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJU2lnbmFsUkNvbm5lY3Rpb24gfSBmcm9tICcuL2Nvbm5lY3Rpb24vaS5zaWduYWxyLmNvbm5lY3Rpb24nO1xyXG5pbXBvcnQgeyBTaWduYWxSQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vc2lnbmFsci5jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgU2lnbmFsUkNvbm5lY3Rpb24gfSBmcm9tICcuL2Nvbm5lY3Rpb24vc2lnbmFsci5jb25uZWN0aW9uJztcclxuaW1wb3J0IHsgSUNvbm5lY3Rpb25PcHRpb25zIH0gZnJvbSAnLi9jb25uZWN0aW9uL2Nvbm5lY3Rpb24ub3B0aW9ucyc7XHJcbmltcG9ydCB7IE5nWm9uZSwgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZXhwb3J0IGNvbnN0IFNJR05BTFJfSkNPTk5FQ1RJT05fVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55PignU0lHTkFMUl9KQ09OTkVDVElPTl9UT0tFTicpO1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTaWduYWxSIHtcclxuICAgIHByaXZhdGUgX2NvbmZpZ3VyYXRpb246IFNpZ25hbFJDb25maWd1cmF0aW9uO1xyXG4gICAgcHJpdmF0ZSBfem9uZTogTmdab25lO1xyXG4gICAgcHJpdmF0ZSBfakh1YkNvbm5lY3Rpb25GbjogYW55O1xyXG5cclxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcclxuICAgICAgICBjb25maWd1cmF0aW9uOiBTaWduYWxSQ29uZmlndXJhdGlvbixcclxuICAgICAgICB6b25lOiBOZ1pvbmUsXHJcbiAgICAgICAgQEluamVjdChTSUdOQUxSX0pDT05ORUNUSU9OX1RPS0VOKSBqSHViQ29ubmVjdGlvbkZuOiBhbnlcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMuX2NvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uO1xyXG4gICAgICAgIHRoaXMuX3pvbmUgPSB6b25lO1xyXG4gICAgICAgIHRoaXMuX2pIdWJDb25uZWN0aW9uRm4gPSBqSHViQ29ubmVjdGlvbkZuO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjcmVhdGVDb25uZWN0aW9uKG9wdGlvbnM/OiBJQ29ubmVjdGlvbk9wdGlvbnMpOiBTaWduYWxSQ29ubmVjdGlvbiB7XHJcblxyXG4gICAgICAgIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSB0aGlzLm1lcmdlKG9wdGlvbnMgPyBvcHRpb25zIDoge30pO1xyXG5cclxuICAgICAgICB0cnkge1xyXG5cclxuICAgICAgICAgICAgY29uc3Qgc2VyaWFsaXplZFFzID0gSlNPTi5zdHJpbmdpZnkoY29uZmlndXJhdGlvbi5xcyk7XHJcbiAgICAgICAgICAgIGNvbnN0IHNlcmlhbGl6ZWRUcmFuc3BvcnQgPSBKU09OLnN0cmluZ2lmeShjb25maWd1cmF0aW9uLnRyYW5zcG9ydCk7XHJcblxyXG4gICAgICAgICAgICBpZiAoY29uZmlndXJhdGlvbi5sb2dnaW5nKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgQ3JlYXRpbmcgY29ubmVjdGluZyB3aXRoIG11bHRpcGxlIEhVQlMgc3VwcG9ydCEuLi5gKTtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBjb25maWd1cmF0aW9uOlt1cmw6ICcke2NvbmZpZ3VyYXRpb24udXJsfSddIC4uLmApO1xyXG4gICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbi5odWJOYW1lcy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coYGNvbmZpZ3VyYXRpb246W2h1Yk5hbWU6ICcke2VsZW1lbnR9J10gLi4uYCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBjb25maWd1cmF0aW9uOltxczogJyR7c2VyaWFsaXplZFFzfSddIC4uLmApO1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coYGNvbmZpZ3VyYXRpb246W3RyYW5zcG9ydDogJyR7c2VyaWFsaXplZFRyYW5zcG9ydH0nXSAuLi5gKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gY2F0Y2ggKGVycikgey8qIGVtcHR5ICovIH1cclxuXHJcbiAgICAgICAgLy8gY3JlYXRlIGNvbm5lY3Rpb24gb2JqZWN0XHJcbiAgICAgICAgY29uc3QgakNvbm5lY3Rpb24gPSB0aGlzLl9qSHViQ29ubmVjdGlvbkZuKGNvbmZpZ3VyYXRpb24udXJsKTtcclxuICAgICAgICBqQ29ubmVjdGlvbi5sb2dnaW5nID0gY29uZmlndXJhdGlvbi5sb2dnaW5nO1xyXG4gICAgICAgIGpDb25uZWN0aW9uLnFzID0gY29uZmlndXJhdGlvbi5xcztcclxuXHJcbiAgICAgICAgY29uc3QgalByb3hpZXM6IE1hcDxzdHJpbmcsIGFueT4gPSBuZXcgTWFwPHN0cmluZywgYW55PigpO1xyXG4gICAgICAgIGNvbmZpZ3VyYXRpb24uaHViTmFtZXMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICAgICAgICAvLyBjcmVhdGUgYSBwcm94eVxyXG4gICAgICAgICAgICBjb25zdCBqcCA9IGpDb25uZWN0aW9uLmNyZWF0ZUh1YlByb3h5KGVsZW1lbnQpO1xyXG4gICAgICAgICAgICBqcC5vbignbm9PcCcsICgpID0+IHsgLyogRW1wdHkgKi8gfSk7XHJcbiAgICAgICAgICAgIGpQcm94aWVzLnNldChlbGVtZW50LCBqcCk7XHJcbiAgICAgICAgICAgIC8vICEhISBpbXBvcnRhbnQuIFdlIG5lZWQgdG8gcmVnaXN0ZXIgYXQgbGVhc3Qgb25lIGZ1bmN0aW9uIG90aGVyd2lzZSBzZXJ2ZXIgY2FsbGJhY2tzIHdpbGwgbm90IHdvcmsuXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGNvbnN0IGh1YkNvbm5lY3Rpb24gPSBuZXcgU2lnbmFsUkNvbm5lY3Rpb24oakNvbm5lY3Rpb24sIGpQcm94aWVzLCB0aGlzLl96b25lLCBjb25maWd1cmF0aW9uKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGh1YkNvbm5lY3Rpb247XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNvbm5lY3Qob3B0aW9ucz86IElDb25uZWN0aW9uT3B0aW9ucyk6IFByb21pc2U8SVNpZ25hbFJDb25uZWN0aW9uPiB7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUNvbm5lY3Rpb24ob3B0aW9ucykuc3RhcnQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIG1lcmdlKG92ZXJyaWRlczogSUNvbm5lY3Rpb25PcHRpb25zKTogU2lnbmFsUkNvbmZpZ3VyYXRpb24ge1xyXG4gICAgICAgIGNvbnN0IG1lcmdlZDogU2lnbmFsUkNvbmZpZ3VyYXRpb24gPSBuZXcgU2lnbmFsUkNvbmZpZ3VyYXRpb24oKTtcclxuICAgICAgICBtZXJnZWQuaHViTmFtZXMgPSBvdmVycmlkZXMuaHViTmFtZXMgfHwgdGhpcy5fY29uZmlndXJhdGlvbi5odWJOYW1lcztcclxuICAgICAgICBtZXJnZWQudXJsID0gb3ZlcnJpZGVzLnVybCB8fCB0aGlzLl9jb25maWd1cmF0aW9uLnVybDtcclxuICAgICAgICBtZXJnZWQucXMgPSBvdmVycmlkZXMucXMgfHwgdGhpcy5fY29uZmlndXJhdGlvbi5xcztcclxuICAgICAgICBtZXJnZWQubG9nZ2luZyA9IHRoaXMuX2NvbmZpZ3VyYXRpb24ubG9nZ2luZztcclxuICAgICAgICBtZXJnZWQuanNvbnAgPSBvdmVycmlkZXMuanNvbnAgfHwgdGhpcy5fY29uZmlndXJhdGlvbi5qc29ucDtcclxuICAgICAgICBtZXJnZWQud2l0aENyZWRlbnRpYWxzID0gb3ZlcnJpZGVzLndpdGhDcmVkZW50aWFscyB8fCB0aGlzLl9jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscztcclxuICAgICAgICBtZXJnZWQudHJhbnNwb3J0ID0gb3ZlcnJpZGVzLnRyYW5zcG9ydCB8fCB0aGlzLl9jb25maWd1cmF0aW9uLnRyYW5zcG9ydDtcclxuICAgICAgICByZXR1cm4gbWVyZ2VkO1xyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=