@convex-dev/aggregate
Version:
Convex component to calculate counts and sums of values for efficient aggregation.
219 lines • 6.24 kB
TypeScript
import { type Value as ConvexValue } from "convex/values";
import { type DatabaseReader, type DatabaseWriter } from "./_generated/server.js";
import type { Doc, Id } from "./_generated/dataModel.js";
import { type Item } from "./schema.js";
export declare const DEFAULT_MAX_NODE_SIZE = 16;
export type Key = ConvexValue;
export type Value = ConvexValue;
export type Namespace = ConvexValue | undefined;
export declare function p(v: ConvexValue): string;
export declare function insertHandler(ctx: {
db: DatabaseWriter;
}, args: {
key: Key;
value: Value;
summand?: number;
namespace?: Namespace;
}): Promise<void>;
export declare function deleteHandler(ctx: {
db: DatabaseWriter;
}, args: {
key: Key;
namespace?: Namespace;
}): Promise<void>;
export declare const validate: import("convex/server").RegisteredQuery<"public", {
namespace?: Namespace;
}, Promise<void>>;
export declare function validateTree(ctx: {
db: DatabaseReader;
}, args: {
namespace?: Namespace;
}): Promise<void>;
export declare function aggregateBetweenHandler(ctx: {
db: DatabaseReader;
}, args: {
k1?: Key;
k2?: Key;
namespace?: Namespace;
}): Promise<{
count: number;
sum: number;
}>;
export declare const aggregateBetween: import("convex/server").RegisteredQuery<"public", {
k1?: Key;
k2?: Key;
namespace?: Namespace;
}, Promise<{
count: number;
sum: number;
}>>;
export declare function getHandler(ctx: {
db: DatabaseReader;
}, args: {
key: Key;
namespace?: Namespace;
}): Promise<Item | null>;
export declare const get: import("convex/server").RegisteredQuery<"public", {
key: Key;
namespace?: Namespace;
}, Promise<Item | null>>;
export declare const atOffset: import("convex/server").RegisteredQuery<"public", {
offset: number;
k1?: Key;
k2?: Key;
namespace?: Namespace;
}, Promise<Item>>;
export declare function atOffsetHandler(ctx: {
db: DatabaseReader;
}, args: {
offset: number;
k1?: Key;
k2?: Key;
namespace?: Namespace;
}): Promise<Item>;
export declare const atNegativeOffset: import("convex/server").RegisteredQuery<"public", {
offset: number;
k1?: Key;
k2?: Key;
namespace?: Namespace;
}, Promise<Item>>;
export declare function atNegativeOffsetHandler(ctx: {
db: DatabaseReader;
}, args: {
offset: number;
k1?: Key;
k2?: Key;
namespace?: Namespace;
}): Promise<Item>;
export declare function offsetHandler(ctx: {
db: DatabaseReader;
}, args: {
key: Key;
k1?: Key;
namespace?: Namespace;
}): Promise<number>;
export declare const offset: import("convex/server").RegisteredQuery<"public", {
key: Key;
k1?: Key;
namespace?: Namespace;
}, Promise<number>>;
export declare function offsetUntilHandler(ctx: {
db: DatabaseReader;
}, args: {
key: Key;
k2?: Key;
namespace?: Namespace;
}): Promise<number>;
export declare const offsetUntil: import("convex/server").RegisteredQuery<"public", {
key: Key;
k2?: Key;
namespace?: Namespace;
}, Promise<number>>;
export declare function getTree(db: DatabaseReader, namespace: Namespace): Promise<{
_id: import("convex/values").GenericId<"btree">;
_creationTime: number;
namespace?: any;
root: import("convex/values").GenericId<"btreeNode">;
maxNodeSize: number;
} | null>;
export declare function mustGetTree(db: DatabaseReader, namespace: Namespace): Promise<{
_id: import("convex/values").GenericId<"btree">;
_creationTime: number;
namespace?: any;
root: import("convex/values").GenericId<"btreeNode">;
maxNodeSize: number;
}>;
export declare function getOrCreateTree(db: DatabaseWriter, namespace: Namespace, maxNodeSize?: number, rootLazy?: boolean): Promise<Doc<"btree">>;
export declare const deleteTreeNodes: import("convex/server").RegisteredMutation<"internal", {
node: import("convex/values").GenericId<"btreeNode">;
}, Promise<void>>;
export declare const paginate: import("convex/server").RegisteredQuery<"public", {
limit: number;
order: "asc" | "desc";
cursor?: string;
k1?: Key;
k2?: Key;
namespace?: Namespace;
}, Promise<{
page: Item[];
cursor: string;
isDone: boolean;
}>>;
export declare function paginateHandler(ctx: {
db: DatabaseReader;
}, args: {
limit: number;
order: "asc" | "desc";
cursor?: string;
k1?: Key;
k2?: Key;
namespace?: Namespace;
}): Promise<{
page: Item[];
cursor: string;
isDone: boolean;
}>;
export declare function paginateInNode(db: DatabaseReader, node: Id<"btreeNode">, limit: number, order: "asc" | "desc", cursor?: string, k1?: Key, k2?: Key): Promise<{
page: Item[];
cursor: string;
isDone: boolean;
}>;
export declare const paginateNamespaces: import("convex/server").RegisteredQuery<"public", {
limit: number;
cursor?: string;
}, Promise<{
page: any[];
cursor: string | import("convex/values").GenericId<"btree">;
isDone: boolean;
}>>;
export declare function paginateNamespacesHandler(ctx: {
db: DatabaseReader;
}, args: {
limit: number;
cursor?: string;
}): Promise<{
page: any[];
cursor: string | import("convex/values").GenericId<"btree">;
isDone: boolean;
}>;
export declare const aggregateBetweenBatch: import("convex/server").RegisteredQuery<"public", {
queries: Array<{
k1?: Key;
k2?: Key;
namespace?: Namespace;
}>;
}, Promise<{
count: number;
sum: number;
}[]>>;
export declare function aggregateBetweenBatchHandler(ctx: {
db: DatabaseReader;
}, args: {
queries: Array<{
k1?: Key;
k2?: Key;
namespace?: Namespace;
}>;
}): Promise<{
count: number;
sum: number;
}[]>;
export declare const atOffsetBatch: import("convex/server").RegisteredQuery<"public", {
queries: Array<{
offset: number;
k1?: Key;
k2?: Key;
namespace?: Namespace;
}>;
}, Promise<Item[]>>;
export declare function atOffsetBatchHandler(ctx: {
db: DatabaseReader;
}, args: {
queries: Array<{
offset: number;
k1?: Key;
k2?: Key;
namespace?: Namespace;
}>;
}): Promise<Item[]>;
//# sourceMappingURL=btree.d.ts.map