UNPKG

@electric-sql/d2ts

Version:

D2TS is a TypeScript implementation of Differential Dataflow.

16 lines (15 loc) 860 B
import { IStreamBuilder, KeyValue } from '../types.js'; import { DifferenceStreamReader, DifferenceStreamWriter, UnaryOperator } from '../graph.js'; import { Antichain } from '../order.js'; /** * Base operator for reduction operations */ export declare class ReduceOperator<K, V1, V2> extends UnaryOperator<[K, V1 | V2]> { #private; constructor(id: number, inputA: DifferenceStreamReader<[K, V1]>, output: DifferenceStreamWriter<[K, V2]>, f: (values: [V1, number][]) => [V2, number][], initialFrontier: Antichain); run(): void; } /** * Reduces the elements in the stream by key */ export declare function reduce<K extends T extends KeyValue<infer K, infer _V> ? K : never, V1 extends T extends KeyValue<K, infer V> ? V : never, R, T>(f: (values: [V1, number][]) => [R, number][]): (stream: IStreamBuilder<T>) => IStreamBuilder<KeyValue<K, R>>;