| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 | 
							- let callbacks = [];
 
- let callbacksPersist = [];
 
- let onConnectCallbacks = [];
 
- let onDisconnectCallbacks = [];
 
- let onConnectErrorCallbacks = [];
 
- const onConnectCallbacksPersist = [];
 
- const onDisconnectCallbacksPersist = [];
 
- const onConnectErrorCallbacksPersist = [];
 
- export default {
 
- 	ready: false,
 
- 	socket: null,
 
- 	getSocket(...args) {
 
- 		if (args[0] === true) {
 
- 			if (this.ready) args[1](this.socket);
 
- 			else callbacksPersist.push(args[1]);
 
- 		} else if (this.ready) args[0](this.socket);
 
- 		else callbacks.push(args[0]);
 
- 	},
 
- 	onConnect(...args) {
 
- 		if (args[0] === true) {
 
- 			onConnectCallbacksPersist.push(args[1]);
 
- 		} else onConnectCallbacks.push(args[0]);
 
- 	},
 
- 	onDisconnect(...args) {
 
- 		if (args[0] === true) {
 
- 			onDisconnectCallbacksPersist.push(args[1]);
 
- 		} else onDisconnectCallbacks.push(args[0]);
 
- 	},
 
- 	onConnectError(...args) {
 
- 		if (args[0] === true) {
 
- 			onConnectErrorCallbacksPersist.push(args[1]);
 
- 		} else onConnectErrorCallbacks.push(args[0]);
 
- 	},
 
- 	clear: () => {
 
- 		onConnectCallbacks = [];
 
- 		onDisconnectCallbacks = [];
 
- 		onConnectErrorCallbacks = [];
 
- 		callbacks = [];
 
- 	},
 
- 	removeAllListeners() {
 
- 		Object.keys(this.socket._callbacks).forEach(id => {
 
- 			if (
 
- 				id.indexOf("$event:") !== -1 &&
 
- 				id.indexOf("$event:keep.") === -1
 
- 			) {
 
- 				delete this.socket._callbacks[id];
 
- 			}
 
- 		});
 
- 	},
 
- 	init(url) {
 
- 		/* eslint-disable-next-line no-undef */
 
- 		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 = [];
 
- 	}
 
- };
 
 
  |