data = Generators.observe(notify => {
const data = [];
const socket = new WebSocket("wss://ws.blockchain.info/inv");
socket.addEventListener("open", () => {
socket.send(JSON.stringify({op: "unconfirmed_sub"}));
});
socket.addEventListener("message", message => {
while (data.length && +data[0].time < new Date(Date.now() - 30000)) {
data.shift();
}
data.push({
time: new Date(),
size: JSON.parse(message.data).x.size
});
notify(data);
});
notify(data);
return () => socket.close();
})