deepObserve = {
const elt = document.createElement("div");
function show(test = () => true, map = x => x) {
return Generators.observe(notify => {
function messaged(event) {
console.log(event);
console.log(event.detail);
const message = event.detail;
if (test(message)) {
notify(map(message));
}
}
elt.addEventListener("message", messaged);
return () => elt.removeEventListener("message", messaged);
});
}
function update(obj, modif) {
modif(obj);
elt.dispatchEvent(new CustomEvent("message", { detail: obj }));
}
return { show, update };
}