@tanstack/db-ivm
Version:
Incremental View Maintenance for TanStack DB based on Differential Dataflow
44 lines (43 loc) • 1.62 kB
JavaScript
;
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;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const graph = require("../graph.cjs");
const d2 = require("../d2.cjs");
class MapOperator extends graph.LinearUnaryOperator {
constructor(id, inputA, output, f) {
super(id, inputA, output);
__privateAdd(this, _f);
__privateSet(this, _f, f);
}
inner(collection) {
return collection.map(__privateGet(this, _f));
}
}
_f = new WeakMap();
function map(f) {
return (stream) => {
const output = new d2.StreamBuilder(
stream.graph,
new graph.DifferenceStreamWriter()
);
const operator = new MapOperator(
stream.graph.getNextOperatorId(),
stream.connectReader(),
output.writer,
f
);
stream.graph.addOperator(operator);
stream.graph.addStream(output.connectReader());
return output;
};
}
exports.MapOperator = MapOperator;
exports.map = map;
//# sourceMappingURL=map.cjs.map