@tanstack/charts
Version:
A chart grammar for TypeScript and JavaScript. Marks consume your data directly, channels describe visual encodings, and the engine compiles them into a renderer-neutral keyed scene. TanStack's compact scales cover common numeric and categorical mappings.
14 lines (13 loc) • 869 B
TypeScript
import type { TransformGroupRow, TransformGroupSpec, TransformLineage } from './transform.js';
import type { TransformOutputRow, TransformOutputs } from './transform-reduce.js';
export interface GroupByOptions<TDatum> {
by: TransformGroupSpec<TDatum>;
outputs: TransformOutputs<TDatum>;
}
interface InferredGroupByOptions<TDatum, TBy extends TransformGroupSpec<TDatum>, TOutputs extends TransformOutputs<TDatum>> {
by: TBy;
outputs: TOutputs;
}
export type GroupByDatum<TDatum, TBy, TOutputs> = TransformGroupRow<TDatum, TBy> & TransformLineage<TDatum> & TransformOutputRow<TOutputs>;
export declare function groupBy<TDatum, const TBy extends TransformGroupSpec<TDatum>, const TOutputs extends TransformOutputs<TDatum>>(source: Iterable<TDatum>, options: InferredGroupByOptions<TDatum, TBy, TOutputs>): GroupByDatum<TDatum, TBy, TOutputs>[];
export {};