camelot-unchained
Version:
Camelot Unchained Client Library
83 lines (76 loc) • 2.54 kB
JavaScript
/**
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
;
var client_1 = require('../core/client');
// BEING HUBS
var warbandsHub_1 = require('./hubs/warbandsHub');
var warbandEvents = require('./hubs/warbandsHub');
var WARBANDS_HUB = 'hubs/warbands';
// END HUBS
var didInitialize = false;
var hubs = [];
var initializeSignalR = function initializeSignalR() {
if (didInitialize) return;
$(function () {
$.connection(client_1.default.signalRHost);
$.connection.hub.url = client_1.default.signalRHost;
$.connection.hub.start();
});
};
var reinitializeSignalR = function reinitializeSignalR() {
didInitialize = false;
initializeSignalR();
};
var initializeSignalRHubs = function initializeSignalRHubs() {
for (var _len = arguments.length, hubs = Array(_len), _key = 0; _key < _len; _key++) {
hubs[_key] = arguments[_key];
}
var _loop = function _loop(i) {
if (hubs.findIndex(function (hub) {
return hub.name == hubs[i].name;
}) == -1) {
switch (hubs[i].name) {
case WARBANDS_HUB:
warbandsHub_1.default.initializeHub(hubs[i].callback);
hubs.push(hubs[i]);
break;
}
}
};
for (var i = 0; i < hubs.length; ++i) {
_loop(i);
}
};
var unregisterSignalRHubs = function unregisterSignalRHubs() {
for (var _len2 = arguments.length, hubs = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
hubs[_key2] = arguments[_key2];
}
var _loop2 = function _loop2(i) {
index = hubs.findIndex(function (hub) {
return hub == hubs[i];
});
if (index != -1) {
switch (hubs[i]) {
case WARBANDS_HUB:
warbandsHub_1.default.unregisterEvents();
hubs.splice(index, 1);
break;
}
}
};
for (var i = 0; i < hubs.length; ++i) {
var index;
_loop2(i);
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = Object.assign({}, {
initializeSignalR: initializeSignalR,
reinitializeSignalR: reinitializeSignalR,
initializeSignalRHubs: initializeSignalRHubs,
unregisterSignalRHubs: unregisterSignalRHubs,
WARBANDS_HUB: WARBANDS_HUB
}, warbandEvents);