@tanstack/db
Version:
A reactive client store for building super fast apps on sync
19 lines (16 loc) • 637 B
text/typescript
import { grouping } from '../compiler/grouping.js'
import type { Grouping } from '../compiler/grouping.js'
import type { Context, GroupByCallback, OperatorCallback } from './types.js'
/**
* Group keys for `query.groupBy(...)` when the query has no aggregate.
* Aggregates such as `count` bring the grouping compiler themselves.
*/
export interface GroupKeys<TContext extends Context> {
callback: GroupByCallback<TContext>
grouping: Grouping
}
export function groupKeys<TContext extends Context = any>(
callback: OperatorCallback<TContext, GroupByCallback<TContext>>,
): GroupKeys<TContext> {
return { callback, grouping }
}