@henkkelder/ng2-signalr
Version:
An angular typescript library that allows you to connect to Asp.Net SignalR
64 lines • 7.49 kB
JavaScript
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==