| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 | 
							- let callbacks = [];
 
- let callbacksPersist = [];
 
- let onConnectCallbacks = [];
 
- let onDisconnectCallbacks = [];
 
- let onConnectErrorCallbacks = [];
 
- let onConnectCallbacksPersist = [];
 
- let onDisconnectCallbacksPersist = [];
 
- let onConnectErrorCallbacksPersist = [];
 
- export default {
 
- 	ready: false,
 
- 	socket: null,
 
- 	getSocket: function () {
 
- 		if (arguments[0] === true) {
 
- 			if (this.ready) arguments[1](this.socket);
 
- 			else callbacksPersist.push(arguments[1]);
 
- 		} else {
 
- 			if (this.ready) arguments[0](this.socket);
 
- 			else callbacks.push(arguments[0]);
 
- 		}
 
- 	},
 
- 	onConnect: function() {
 
- 		if (arguments[0] === true) {
 
- 			onConnectCallbacksPersist.push(arguments[1]);
 
- 		} else onConnectCallbacks.push(arguments[0]);
 
- 	},
 
- 	onDisconnect: function() {
 
- 		if (arguments[0] === true) {
 
- 			onDisconnectCallbacksPersist.push(arguments[1]);
 
- 		} else onDisconnectCallbacks.push(arguments[0]);
 
- 	},
 
- 	onConnectError: function() {
 
- 		if (arguments[0] === true) {
 
- 			onConnectErrorCallbacksPersist.push(arguments[1]);
 
- 		} else onConnectErrorCallbacks.push(arguments[0]);
 
- 	},
 
- 	clear: () => {
 
- 		onConnectCallbacks = [];
 
- 		onDisconnectCallbacks = [];
 
- 		onConnectErrorCallbacks = [];
 
- 		callbacks = [];
 
- 	},
 
- 	removeAllListeners: function () {
 
- 		Object.keys(this.socket._callbacks).forEach((id) => {
 
- 			if (id.indexOf("$event:") !== -1 && id.indexOf("$event:keep.") === -1) {
 
- 				delete this.socket._callbacks[id];
 
- 			}
 
- 		});
 
- 	},
 
- 	init: function (url) {
 
- 		this.socket = window.socket = io(url);
 
- 		this.socket.on('connect', () => {
 
- 			onConnectCallbacks.forEach((cb) => {
 
- 				cb();
 
- 			});
 
- 			onConnectCallbacksPersist.forEach((cb) => {
 
- 				cb();
 
- 			});
 
- 		});
 
- 		this.socket.on('disconnect', () => {
 
- 			console.log("IO: SOCKET DISCONNECTED");
 
- 			onDisconnectCallbacks.forEach((cb) => {
 
- 				cb();
 
- 			});
 
- 			onDisconnectCallbacksPersist.forEach((cb) => {
 
- 				cb();
 
- 			});
 
- 		});
 
- 		this.socket.on('connect_error', () => {
 
- 			console.log("IO: SOCKET CONNECT ERROR");
 
- 			onConnectErrorCallbacks.forEach((cb) => {
 
- 				cb();
 
- 			});
 
- 			onConnectErrorCallbacksPersist.forEach((cb) => {
 
- 				cb();
 
- 			});
 
- 		});
 
- 		this.ready = true;
 
- 		callbacks.forEach(callback => {
 
- 			callback(this.socket);
 
- 		});
 
- 		callbacksPersist.forEach(callback => {
 
- 			callback(this.socket);
 
- 		});
 
- 		callbacks = [];
 
- 		callbacksPersist = [];
 
- 	}
 
- }
 
 
  |