import { Provider } from "../providers/provider"; function TimoutEmitter(socket: any, object: any, without_login:boolean = false) { return new Promise(function (resolve, reject) { if ((!Provider.isAuthed) && (!without_login)) { Provider.events_stack.push({ key: object.key, value: object.value }) }else { socket.emit(object.key, object.value) } const timeout = object.timeout || 30000 const c = setTimeout(() => { reject(' not answer') }, timeout); socket.once(object.response_key, (msg: any) => { clearTimeout(c) resolve(msg) }) }); } function TimoutEmitterWithErrror(socket: any, object: any) { return new Promise(function (resolve, reject) { const timeout = object.timeout || 30000 if (!Provider.isAuthed) { Provider.events_stack.push({ key: object.key, value: object.value }) }else { socket.emit(object.key, object.value) } const c = setTimeout(() => { reject(' not answer') }, timeout); socket.once(object.response_key, (msg: any) => { clearTimeout(c) resolve(msg) }) socket.once(object.error_key, (msg: any) => { clearTimeout(c) reject(msg) }) }); } export const emitDataWithTimeout = TimoutEmitter export const emitDataWithError = TimoutEmitterWithErrror