@electric-sql/d2mini
Version:
D2Mini is a minimal implementation of Differential Dataflow for performing in-memory incremental view maintenance.
14 lines (13 loc) • 721 B
TypeScript
import { IStreamBuilder, KeyValue } from '../types.js';
import { DifferenceStreamReader, DifferenceStreamWriter } from '../graph.js';
import { ReduceOperator } from './reduce.js';
/**
* Operator that counts elements by key (version-free)
*/
export declare class CountOperator<K, V> extends ReduceOperator<K, V, number> {
constructor(id: number, inputA: DifferenceStreamReader<[K, V]>, output: DifferenceStreamWriter<[K, number]>);
}
/**
* Counts the number of elements by key (version-free)
*/
export declare function count<K extends T extends KeyValue<infer K, infer _V> ? K : never, V extends T extends KeyValue<K, infer V> ? V : never, T>(): (stream: IStreamBuilder<T>) => IStreamBuilder<KeyValue<K, number>>;