UNPKG

@thi.ng/transducers

Version:

Collection of ~170 lightweight, composable transducers, reducers, generators, iterators for functional data transformations

17 lines (16 loc) 540 B
import { isIterable } from "@thi.ng/checks/is-iterable"; import { comp } from "./comp.js"; import { iterator } from "./iterator.js"; import { map } from "./map.js"; import { mapcat } from "./mapcat.js"; import { normRange } from "./norm-range.js"; import { partition } from "./partition.js"; function interpolate(fn, window, n, src) { return isIterable(src) ? iterator(interpolate(fn, window, n), src) : comp( partition(window, 1), mapcat((chunk) => map((t) => fn(chunk, t), normRange(n, false))) ); } export { interpolate };