UNPKG

@tanstack/db-ivm

Version:

Incremental View Maintenance for TanStack DB based on Differential Dataflow

37 lines (36 loc) 1.01 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const graph = require("../graph.cjs"); const d2 = require("../d2.cjs"); const reduce = require("./reduce.cjs"); class CountOperator extends reduce.ReduceOperator { constructor(id, inputA, output) { const countInner = (vals) => { let totalCount = 0; for (const [_, diff] of vals) { totalCount += diff; } return [[totalCount, 1]]; }; super(id, inputA, output, countInner); } } function count() { return (stream) => { const output = new d2.StreamBuilder( stream.graph, new graph.DifferenceStreamWriter() ); const operator = new CountOperator( stream.graph.getNextOperatorId(), stream.connectReader(), output.writer ); stream.graph.addOperator(operator); stream.graph.addStream(output.connectReader()); return output; }; } exports.CountOperator = CountOperator; exports.count = count; //# sourceMappingURL=count.cjs.map