We have now our basic stream, how can we react on it ?
Always with simplicity in mind, here is a solution among others.
function Stream (value) { let storedvalue = value let mappers = [] function stream (newvalue) { if (arguments.length) { mappers.map(f => f(newvalue)) storedvalue = newvalue } return storedvalue } stream.map = function (f) { mappers.push(f) } return stream } s = Stream() document.addEventListener("mousemove", s) s.map(t => divmouse.innerHTML = (`<h2>(${t.clientX}, ${t.clientY})</h2>`))
You can test it here reactions
Top comments (1)
Hy Adam,
I am very glad it helped you, that is exactly why I post ;-)
Regards