@thi.ng/transducers
Version:
Collection of ~170 lightweight, composable transducers, reducers, generators, iterators for functional data transformations
18 lines (17 loc) • 500 B
JavaScript
import { isIterable } from "@thi.ng/checks/is-iterable";
import { now, timeDiff } from "@thi.ng/timestamp";
import { iterator } from "./iterator.js";
import { partitionBy } from "./partition-by.js";
function partitionTime(period, src) {
return isIterable(src) ? iterator(partitionTime(period), src) : partitionBy(() => {
let prev = 0;
return () => {
const t = now();
timeDiff(prev, t) >= period && (prev = t);
return prev;
};
}, true);
}
export {
partitionTime
};