mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-18 11:26:00 +00:00
42 lines
1.1 KiB
JavaScript
42 lines
1.1 KiB
JavaScript
let sseResponse = null;
|
|
let electronSender = null;
|
|
let init = [];
|
|
|
|
module.exports = {
|
|
setSseResponse(value) {
|
|
sseResponse = value;
|
|
setInterval(() => this.emit('ping'), 29 * 1000);
|
|
},
|
|
setElectronSender(value) {
|
|
electronSender = value;
|
|
},
|
|
emit(message, data) {
|
|
if (electronSender) {
|
|
if (init.length > 0) {
|
|
for (const item of init) {
|
|
electronSender.send(item.message, item.data == null ? null : item.data);
|
|
}
|
|
init = [];
|
|
}
|
|
electronSender.send(message, data == null ? null : data);
|
|
} else if (sseResponse) {
|
|
if (init.length > 0) {
|
|
for (const item of init) {
|
|
sseResponse.write(
|
|
`event: ${item.message}\ndata: ${JSON.stringify(item.data == null ? null : item.data)}\n\n`
|
|
);
|
|
}
|
|
init = [];
|
|
}
|
|
sseResponse.write(`event: ${message}\ndata: ${JSON.stringify(data == null ? null : data)}\n\n`);
|
|
} else {
|
|
init.push([{ message, data }]);
|
|
}
|
|
},
|
|
emitChanged(key) {
|
|
// console.log('EMIT CHANGED', key);
|
|
this.emit('changed-cache', key);
|
|
// this.emit(key);
|
|
},
|
|
};
|