@tanstack/db-ivm
Version:
Incremental View Maintenance for TanStack DB based on Differential Dataflow
34 lines (33 loc) • 742 B
JavaScript
import { LinearUnaryOperator, DifferenceStreamWriter } from "../graph.js";
import { StreamBuilder } from "../d2.js";
class MapOperator extends LinearUnaryOperator {
#f;
constructor(id, inputA, output, f) {
super(id, inputA, output);
this.#f = f;
}
inner(collection) {
return collection.map(this.#f);
}
}
function map(f) {
return (stream) => {
const output = new StreamBuilder(
stream.graph,
new DifferenceStreamWriter()
);
const operator = new MapOperator(
stream.graph.getNextOperatorId(),
stream.connectReader(),
output.writer,
f
);
stream.graph.addOperator(operator);
return output;
};
}
export {
MapOperator,
map
};
//# sourceMappingURL=map.js.map