UNPKG

@pexip/signal

Version:

an observer pattern while avoiding boilerplate code. https://en.wikipedia.org/wiki/Signals_and_slots

26 lines (25 loc) 632 B
export const createBuffer = (size) => { const buffer = new Array(); return { [Symbol.iterator]: () => buffer[Symbol.iterator](), get size() { return buffer.length; }, add: value => { if (size === 0) { return; } if (buffer.length < size) { buffer.splice(size, 0, value); } else { buffer.shift(); buffer.push(value); } }, clear: () => { buffer.length = 0; }, entries: () => buffer.entries(), }; };