@convex-dev/aggregate
Version:
[](https://badge.fury.io/js/@convex-dev%2Faggregate)
19 lines • 838 B
TypeScript
/**
* The Aggregate API uses keys and IDs, where the keys are for sorting and
* IDs are for tie-breaking uniqueness. The component's BTree API uses
* positions, which are unique keys.
*/
import { Key } from "../component/btree.js";
export type Bound<K extends Key, ID extends string> = {
key: K;
id?: ID;
inclusive: boolean;
};
export type Position = ["" | null | never[], Key, string | null | never[], "" | null | never[]];
export declare function keyToPosition<K extends Key, ID extends string>(key: K, id: ID): Position;
export declare function positionToKey<K extends Key, ID extends string>(position: Position): {
key: K;
id: ID;
};
export declare function boundToPosition<K extends Key, ID extends string>(direction: 'lower' | 'upper', bound?: Bound<K, ID>): Position;
//# sourceMappingURL=positions.d.ts.map