UNPKG

@tanstack/optimistic

Version:

Core optimistic updates library

41 lines (40 loc) 1.6 kB
import { ConditionOperand, Query } from './schema.js'; import { IStreamBuilder } from '@electric-sql/d2ts'; /** * Process the groupBy clause in a D2QL query */ export declare function processGroupBy(pipeline: IStreamBuilder<Record<string, unknown>>, query: Query, mainTableAlias: string): IStreamBuilder<Record<string, unknown>>; /** * Helper function to get an aggregate function based on the function name */ export declare function getAggregateFunction(functionName: string, columnRef: string | ConditionOperand, mainTableAlias: string): { preMap: (data: Record<string, unknown>) => number; reduce: (values: [number, number][]) => number; postMap?: ((result: number) => number) | undefined; } | { pipe: (stream: IStreamBuilder<Record<string, unknown>>) => IStreamBuilder<import('@electric-sql/d2ts').KeyValue<string, number>>; } | { preMap: (data: Record<string, unknown>) => { sum: number; count: number; }; reduce: (values: [{ sum: number; count: number; }, number][]) => { sum: number; count: number; }; postMap?: ((result: { sum: number; count: number; }) => number) | undefined; } | { preMap: (data: Record<string, unknown>) => number[]; reduce: (values: [number[], number][]) => number[]; postMap?: ((result: number[]) => number) | undefined; } | { preMap: (data: Record<string, unknown>) => Map<number, number>; reduce: (values: [Map<number, number>, number][]) => Map<number, number>; postMap?: ((result: Map<number, number>) => number) | undefined; };