ts-to-html
Version:
TS and SASS compiler for a HTML with live preview
33 lines (24 loc) • 1.17 kB
text/typescript
// WebSocket connection
if ("WebSocket" in window) {
const protocol = window.location.protocol === "http:" ? "ws://" : "wss://";
const address = protocol + window.location.host;
const connectWebSocket = () => {
const socket = new WebSocket(address);
socket.addEventListener("message", message => { try {
const content = JSON.parse(message.data) as { type: string; data: any };
switch (content.type) {
case 'reload': // Reload server
return window.location.reload();
default: return;
}
} catch (error) { console.error(error); }});
socket.addEventListener('close', () => {
console.error(new Error("Error trying access : " + address));
socket.close();
interval = setInterval(connectWebSocket, 1e4);
});
socket.addEventListener('open', () => clearInterval(interval));
socket.addEventListener('error', e => console.error("error", e));
}
let interval = setInterval(connectWebSocket);
} else alert("You should upgrade your browser.");