UNPKG

@henkkelder/ng2-signalr

Version:

An angular typescript library that allows you to connect to Asp.Net SignalR

64 lines 7.49 kB
import { CommonModule } from '@angular/common'; import { NgModule, NgZone, InjectionToken } from '@angular/core'; import { SignalR } from '../services/signalr'; import * as i0 from "@angular/core"; const SIGNALR_CONFIGURATION = new InjectionToken('SIGNALR_CONFIGURATION'); export function createSignalr(configuration, zone) { const jConnectionFn = getJConnectionFn(); return new SignalR(configuration, zone, jConnectionFn); } function getJConnectionFn() { const jQuery = getJquery(); const hubConnectionFn = jQuery.hubConnection; if (hubConnectionFn == null) { throw new Error('Signalr failed to initialize. Script \'jquery.signalR.js\' is missing. Please make sure to include \'jquery.signalR.js\' script.'); } return hubConnectionFn; } function getJquery() { const jQuery = window.jQuery; if (jQuery == null) { throw new Error('Signalr failed to initialize. Script \'jquery.js\' is missing. Please make sure to include jquery script.'); } return jQuery; } export class SignalRModule { static forRoot(getSignalRConfiguration) { return { ngModule: SignalRModule, providers: [ { provide: SIGNALR_CONFIGURATION, useFactory: getSignalRConfiguration }, { deps: [SIGNALR_CONFIGURATION, NgZone], provide: SignalR, useFactory: (createSignalr) } ], }; } static forChild() { throw new Error('forChild method not implemented'); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: SignalRModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); } static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.1", ngImport: i0, type: SignalRModule, imports: [CommonModule] }); } static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: SignalRModule, providers: [{ provide: SignalR, useValue: SignalR }], imports: [CommonModule] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: SignalRModule, decorators: [{ type: NgModule, args: [{ imports: [ CommonModule ], providers: [{ provide: SignalR, useValue: SignalR }] }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsci1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZzItc2lnbmFsci9zcmMvbGliL21vZHVsZXMvc2lnbmFsci1tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUc5QyxNQUFNLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQUF1Qix1QkFBdUIsQ0FBQyxDQUFDO0FBRWhHLE1BQU0sVUFBVSxhQUFhLENBQUMsYUFBbUMsRUFBRSxJQUFZO0lBRTdFLE1BQU0sYUFBYSxHQUFHLGdCQUFnQixFQUFFLENBQUM7SUFFekMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0FBQ3pELENBQUM7QUFFRCxTQUFTLGdCQUFnQjtJQUN2QixNQUFNLE1BQU0sR0FBRyxTQUFTLEVBQUUsQ0FBQztJQUMzQixNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO0lBQzdDLElBQUksZUFBZSxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0lBQWtJLENBQUMsQ0FBQztJQUN0SixDQUFDO0lBQ0QsT0FBTyxlQUFlLENBQUM7QUFDekIsQ0FBQztBQUVELFNBQVMsU0FBUztJQUNoQixNQUFNLE1BQU0sR0FBSSxNQUFjLENBQUMsTUFBTSxDQUFDO0lBQ3RDLElBQUksTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsMkdBQTJHLENBQUMsQ0FBQztJQUMvSCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQVdELE1BQU0sT0FBTyxhQUFhO0lBQ2pCLE1BQU0sQ0FBQyxPQUFPLENBQUMsdUJBQW1DO1FBQ3ZELE9BQU87WUFDTCxRQUFRLEVBQUUsYUFBYTtZQUN2QixTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLHFCQUFxQjtvQkFDOUIsVUFBVSxFQUFFLHVCQUF1QjtpQkFDcEM7Z0JBQ0Q7b0JBQ0UsSUFBSSxFQUFFLENBQUMscUJBQXFCLEVBQUUsTUFBTSxDQUFDO29CQUNyQyxPQUFPLEVBQUUsT0FBTztvQkFDaEIsVUFBVSxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUM1QjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFDTSxNQUFNLENBQUMsUUFBUTtRQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7SUFDckQsQ0FBQzs4R0FuQlUsYUFBYTsrR0FBYixhQUFhLFlBUHRCLFlBQVk7K0dBT0gsYUFBYSxhQUxiLENBQUM7Z0JBQ1YsT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLFFBQVEsRUFBRSxPQUFPO2FBQ2xCLENBQUMsWUFMQSxZQUFZOzsyRkFPSCxhQUFhO2tCQVR6QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3FCQUNiO29CQUNELFNBQVMsRUFBRSxDQUFDOzRCQUNWLE9BQU8sRUFBRSxPQUFPOzRCQUNoQixRQUFRLEVBQUUsT0FBTzt5QkFDbEIsQ0FBQztpQkFDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ1pvbmUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNpZ25hbFIgfSBmcm9tICcuLi9zZXJ2aWNlcy9zaWduYWxyJztcclxuaW1wb3J0IHsgU2lnbmFsUkNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9zZXJ2aWNlcy9zaWduYWxyLmNvbmZpZ3VyYXRpb24nO1xyXG5cclxuY29uc3QgU0lHTkFMUl9DT05GSUdVUkFUSU9OID0gbmV3IEluamVjdGlvblRva2VuPFNpZ25hbFJDb25maWd1cmF0aW9uPignU0lHTkFMUl9DT05GSUdVUkFUSU9OJyk7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2lnbmFscihjb25maWd1cmF0aW9uOiBTaWduYWxSQ29uZmlndXJhdGlvbiwgem9uZTogTmdab25lKSB7XHJcblxyXG4gIGNvbnN0IGpDb25uZWN0aW9uRm4gPSBnZXRKQ29ubmVjdGlvbkZuKCk7XHJcblxyXG4gIHJldHVybiBuZXcgU2lnbmFsUihjb25maWd1cmF0aW9uLCB6b25lLCBqQ29ubmVjdGlvbkZuKTtcclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0SkNvbm5lY3Rpb25GbigpOiBhbnkge1xyXG4gIGNvbnN0IGpRdWVyeSA9IGdldEpxdWVyeSgpO1xyXG4gIGNvbnN0IGh1YkNvbm5lY3Rpb25GbiA9IGpRdWVyeS5odWJDb25uZWN0aW9uO1xyXG4gIGlmIChodWJDb25uZWN0aW9uRm4gPT0gbnVsbCkge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdTaWduYWxyIGZhaWxlZCB0byBpbml0aWFsaXplLiBTY3JpcHQgXFwnanF1ZXJ5LnNpZ25hbFIuanNcXCcgaXMgbWlzc2luZy4gUGxlYXNlIG1ha2Ugc3VyZSB0byBpbmNsdWRlIFxcJ2pxdWVyeS5zaWduYWxSLmpzXFwnIHNjcmlwdC4nKTtcclxuICB9XHJcbiAgcmV0dXJuIGh1YkNvbm5lY3Rpb25GbjtcclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0SnF1ZXJ5KCk6IGFueSB7XHJcbiAgY29uc3QgalF1ZXJ5ID0gKHdpbmRvdyBhcyBhbnkpLmpRdWVyeTtcclxuICBpZiAoalF1ZXJ5ID09IG51bGwpIHtcclxuICAgIHRocm93IG5ldyBFcnJvcignU2lnbmFsciBmYWlsZWQgdG8gaW5pdGlhbGl6ZS4gU2NyaXB0IFxcJ2pxdWVyeS5qc1xcJyBpcyBtaXNzaW5nLiBQbGVhc2UgbWFrZSBzdXJlIHRvIGluY2x1ZGUganF1ZXJ5IHNjcmlwdC4nKTtcclxuICB9XHJcbiAgcmV0dXJuIGpRdWVyeTtcclxufVxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGVcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW3tcclxuICAgIHByb3ZpZGU6IFNpZ25hbFIsXHJcbiAgICB1c2VWYWx1ZTogU2lnbmFsUlxyXG4gIH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaWduYWxSTW9kdWxlIHtcclxuICBwdWJsaWMgc3RhdGljIGZvclJvb3QoZ2V0U2lnbmFsUkNvbmZpZ3VyYXRpb246ICgpID0+IHZvaWQpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFNpZ25hbFJNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBTaWduYWxSTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBTSUdOQUxSX0NPTkZJR1VSQVRJT04sXHJcbiAgICAgICAgICB1c2VGYWN0b3J5OiBnZXRTaWduYWxSQ29uZmlndXJhdGlvblxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgZGVwczogW1NJR05BTFJfQ09ORklHVVJBVElPTiwgTmdab25lXSxcclxuICAgICAgICAgIHByb3ZpZGU6IFNpZ25hbFIsXHJcbiAgICAgICAgICB1c2VGYWN0b3J5OiAoY3JlYXRlU2lnbmFscilcclxuICAgICAgICB9XHJcbiAgICAgIF0sXHJcbiAgICB9O1xyXG4gIH1cclxuICBwdWJsaWMgc3RhdGljIGZvckNoaWxkKCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8U2lnbmFsUk1vZHVsZT4ge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdmb3JDaGlsZCBtZXRob2Qgbm90IGltcGxlbWVudGVkJyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==