ng2-signalr
Version:
54 lines • 6.45 kB
JavaScript
import { NgModule, NgZone, InjectionToken } from '@angular/core';
import { SignalR } from '../services/signalr';
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;
}
const ɵ0 = SignalR;
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');
}
}
SignalRModule.decorators = [
{ type: NgModule, args: [{
providers: [{
provide: SignalR,
useValue: ɵ0
}]
},] }
];
export { ɵ0 };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsci1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZzItc2lnbmFsci9zcmMvbGliL21vZHVsZXMvc2lnbmFsci1tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHOUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGNBQWMsQ0FBdUIsdUJBQXVCLENBQUMsQ0FBQztBQUVoRyxNQUFNLFVBQVUsYUFBYSxDQUFDLGFBQW1DLEVBQUUsSUFBWTtJQUUzRSxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO0lBRXpDLE9BQU8sSUFBSSxPQUFPLENBQUMsYUFBYSxFQUFFLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQztBQUMzRCxDQUFDO0FBRUQsU0FBUyxnQkFBZ0I7SUFDckIsTUFBTSxNQUFNLEdBQUcsU0FBUyxFQUFFLENBQUM7SUFDM0IsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQztJQUM3QyxJQUFJLGVBQWUsSUFBSSxJQUFJLEVBQUU7UUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrSUFBa0ksQ0FBQyxDQUFDO0tBQ3ZKO0lBQ0QsT0FBTyxlQUFlLENBQUM7QUFDM0IsQ0FBQztBQUVELFNBQVMsU0FBUztJQUNkLE1BQU0sTUFBTSxHQUFJLE1BQWMsQ0FBQyxNQUFNLENBQUM7SUFDdEMsSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFO1FBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkdBQTJHLENBQUMsQ0FBQztLQUNoSTtJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUM7V0FLaUIsT0FBTztBQUd6QixNQUFNLE9BQU8sYUFBYTtJQUNmLE1BQU0sQ0FBQyxPQUFPLENBQUMsdUJBQW1DO1FBQ3JELE9BQU87WUFDSCxRQUFRLEVBQUUsYUFBYTtZQUN2QixTQUFTLEVBQUU7Z0JBQ1A7b0JBQ0ksT0FBTyxFQUFFLHFCQUFxQjtvQkFDOUIsVUFBVSxFQUFFLHVCQUF1QjtpQkFDdEM7Z0JBQ0Q7b0JBQ0ksSUFBSSxFQUFFLENBQUMscUJBQXFCLEVBQUUsTUFBTSxDQUFDO29CQUNyQyxPQUFPLEVBQUUsT0FBTztvQkFDaEIsVUFBVSxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUM5QjthQUNKO1NBQ0osQ0FBQztJQUNOLENBQUM7SUFDTSxNQUFNLENBQUMsUUFBUTtRQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7SUFDdkQsQ0FBQzs7O1lBekJKLFFBQVEsU0FBQztnQkFDTixTQUFTLEVBQUUsQ0FBQzt3QkFDUixPQUFPLEVBQUUsT0FBTzt3QkFDaEIsUUFBUSxJQUFTO3FCQUNwQixDQUFDO2FBQ0wiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdab25lLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTaWduYWxSIH0gZnJvbSAnLi4vc2VydmljZXMvc2lnbmFscic7XHJcbmltcG9ydCB7IFNpZ25hbFJDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vc2VydmljZXMvc2lnbmFsci5jb25maWd1cmF0aW9uJztcclxuXHJcbmNvbnN0IFNJR05BTFJfQ09ORklHVVJBVElPTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTaWduYWxSQ29uZmlndXJhdGlvbj4oJ1NJR05BTFJfQ09ORklHVVJBVElPTicpO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNpZ25hbHIoY29uZmlndXJhdGlvbjogU2lnbmFsUkNvbmZpZ3VyYXRpb24sIHpvbmU6IE5nWm9uZSkge1xyXG5cclxuICAgIGNvbnN0IGpDb25uZWN0aW9uRm4gPSBnZXRKQ29ubmVjdGlvbkZuKCk7XHJcblxyXG4gICAgcmV0dXJuIG5ldyBTaWduYWxSKGNvbmZpZ3VyYXRpb24sIHpvbmUsIGpDb25uZWN0aW9uRm4pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRKQ29ubmVjdGlvbkZuKCk6IGFueSB7XHJcbiAgICBjb25zdCBqUXVlcnkgPSBnZXRKcXVlcnkoKTtcclxuICAgIGNvbnN0IGh1YkNvbm5lY3Rpb25GbiA9IGpRdWVyeS5odWJDb25uZWN0aW9uO1xyXG4gICAgaWYgKGh1YkNvbm5lY3Rpb25GbiA9PSBudWxsKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdTaWduYWxyIGZhaWxlZCB0byBpbml0aWFsaXplLiBTY3JpcHQgXFwnanF1ZXJ5LnNpZ25hbFIuanNcXCcgaXMgbWlzc2luZy4gUGxlYXNlIG1ha2Ugc3VyZSB0byBpbmNsdWRlIFxcJ2pxdWVyeS5zaWduYWxSLmpzXFwnIHNjcmlwdC4nKTtcclxuICAgIH1cclxuICAgIHJldHVybiBodWJDb25uZWN0aW9uRm47XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGdldEpxdWVyeSgpOiBhbnkge1xyXG4gICAgY29uc3QgalF1ZXJ5ID0gKHdpbmRvdyBhcyBhbnkpLmpRdWVyeTtcclxuICAgIGlmIChqUXVlcnkgPT0gbnVsbCkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignU2lnbmFsciBmYWlsZWQgdG8gaW5pdGlhbGl6ZS4gU2NyaXB0IFxcJ2pxdWVyeS5qc1xcJyBpcyBtaXNzaW5nLiBQbGVhc2UgbWFrZSBzdXJlIHRvIGluY2x1ZGUganF1ZXJ5IHNjcmlwdC4nKTtcclxuICAgIH1cclxuICAgIHJldHVybiBqUXVlcnk7XHJcbn1cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBwcm92aWRlcnM6IFt7XHJcbiAgICAgICAgcHJvdmlkZTogU2lnbmFsUixcclxuICAgICAgICB1c2VWYWx1ZTogU2lnbmFsUlxyXG4gICAgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNpZ25hbFJNb2R1bGUge1xyXG4gICAgcHVibGljIHN0YXRpYyBmb3JSb290KGdldFNpZ25hbFJDb25maWd1cmF0aW9uOiAoKSA9PiB2b2lkKTogTW9kdWxlV2l0aFByb3ZpZGVyczxTaWduYWxSTW9kdWxlPiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgbmdNb2R1bGU6IFNpZ25hbFJNb2R1bGUsXHJcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IFNJR05BTFJfQ09ORklHVVJBVElPTixcclxuICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiBnZXRTaWduYWxSQ29uZmlndXJhdGlvblxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBkZXBzOiBbU0lHTkFMUl9DT05GSUdVUkFUSU9OLCBOZ1pvbmVdLFxyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IFNpZ25hbFIsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogKGNyZWF0ZVNpZ25hbHIpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIF0sXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzdGF0aWMgZm9yQ2hpbGQoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxTaWduYWxSTW9kdWxlPiB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdmb3JDaGlsZCBtZXRob2Qgbm90IGltcGxlbWVudGVkJyk7XHJcbiAgICB9XHJcbn1cclxuIl19