callbag-pairwise
Version:
👜 Callbag operator that emits the previous and current values as an array.
35 lines (29 loc) • 588 B
JavaScript
;
function pairwise(source) {
return function (start, sink) {
if (start !== 0) return;
var inited = 0;
var prev;
var current;
var talkback;
source(0, function (type, data) {
if (type === 0) {
talkback = data;
}
if (type !== 1) {
sink(type, data);
return;
}
var _ref = [current, data];
prev = _ref[0];
current = _ref[1];
inited++;
if (inited < 2) {
talkback(1);
return;
}
sink(1, [prev, current]);
});
};
}
module.exports = pairwise;