UNPKG

camelot-unchained

Version:
83 lines (76 loc) 2.54 kB
/** * 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/. */ "use strict"; 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);