debounce by requestAnimationFrame
James DiGioia
events$.withHandler((() => {let last, emitter, loop;return (_emitter, { value, type }) => {emitter = _emitter;switch (type) {case 'value':last = value;if (!loop) {loop = requestAnimationFrame(() => {emitter.value(last);last = undefined;loop = undefined;});}break;case 'error':emitter.error(value);break;case 'end':if (loop) {cancelAnimationFrame(loop);}loop = requestAnimationFrame(() => {if (last) {emitter.value(last);}emitter.end();last = undefined;loop = undefined;});break;}};})())
debounce-raf.js