UNPKG

@tanstack/db-ivm

Version:

Incremental View Maintenance for TanStack DB based on Differential Dataflow

43 lines (42 loc) 1.51 kB
var __typeError = (msg) => { throw TypeError(msg); }; var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg); var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj)); var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value); var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value); var _f; import { LinearUnaryOperator, DifferenceStreamWriter } from "../graph.js"; import { StreamBuilder } from "../d2.js"; class FilterOperator extends LinearUnaryOperator { constructor(id, inputA, output, f) { super(id, inputA, output); __privateAdd(this, _f); __privateSet(this, _f, f); } inner(collection) { return collection.filter(__privateGet(this, _f)); } } _f = new WeakMap(); function filter(f) { return (stream) => { const output = new StreamBuilder( stream.graph, new DifferenceStreamWriter() ); const operator = new FilterOperator( stream.graph.getNextOperatorId(), stream.connectReader(), output.writer, f ); stream.graph.addOperator(operator); return output; }; } export { FilterOperator, filter }; //# sourceMappingURL=filter.js.map