UNPKG

kitcn

Version:

kitcn - React Query integration and CLI tools for Convex

388 lines (387 loc) 15.5 kB
import { C as ConvexNumberBuilderInitial, E as ConvexIdBuilderInitial, N as ConvexCustomBuilderInitial, dn as ConvexTableWithColumns, tr as ConvexTextBuilderInitial } from "../where-clause-compiler-TMppDl9g.js"; import * as convex_values0 from "convex/values"; import { GenericId, Infer, Value } from "convex/values"; import { DocumentByName, GenericDataModel, GenericDatabaseReader, GenericDatabaseWriter, TableNamesInDataModel } from "convex/server"; //#region src/aggregate-core/schema.d.ts declare const aggregateStorageTables: { readonly aggregate_rank_node: ConvexTableWithColumns<{ name: "aggregate_rank_node"; columns: { aggregate: ConvexCustomBuilderInitial<"", convex_values0.VObject<{ count: number; sum: number; }, { count: convex_values0.VFloat64<number, "required">; sum: convex_values0.VFloat64<number, "required">; }, "required", "count" | "sum">> & { _: { tableName: "aggregate_rank_node"; }; } & { _: { fieldName: "aggregate"; }; }; items: ConvexCustomBuilderInitial<"", convex_values0.VArray<{ k: any; v: any; s: number; }[], convex_values0.VObject<{ k: any; v: any; s: number; }, { k: convex_values0.VAny<any, "required", string>; v: convex_values0.VAny<any, "required", string>; s: convex_values0.VFloat64<number, "required">; }, "required", "k" | "v" | "s" | `k.${string}` | `v.${string}`>, "required">> & { _: { notNull: true; }; } & { _: { tableName: "aggregate_rank_node"; }; } & { _: { fieldName: "items"; }; }; subtrees: ConvexCustomBuilderInitial<"", convex_values0.VArray<string[], convex_values0.VString<string, "required">, "required">> & { _: { notNull: true; }; } & { _: { tableName: "aggregate_rank_node"; }; } & { _: { fieldName: "subtrees"; }; }; }; }, { by_creation_time: ["_creationTime"]; }, {}, {}, {}>; readonly aggregate_rank_tree: ConvexTableWithColumns<{ name: "aggregate_rank_tree"; columns: { aggregateName: ConvexTextBuilderInitial<""> & { _: { notNull: true; }; } & { _: { tableName: "aggregate_rank_tree"; }; } & { _: { fieldName: "aggregateName"; }; }; maxNodeSize: ConvexNumberBuilderInitial<""> & { _: { notNull: true; }; } & { _: { tableName: "aggregate_rank_tree"; }; } & { _: { fieldName: "maxNodeSize"; }; }; namespace: ConvexCustomBuilderInitial<"", convex_values0.VAny<any, "required", string>> & { _: { tableName: "aggregate_rank_tree"; }; } & { _: { fieldName: "namespace"; }; }; root: ConvexIdBuilderInitial<"", "aggregate_rank_node"> & { _: { notNull: true; }; } & { _: { tableName: "aggregate_rank_tree"; }; } & { _: { fieldName: "root"; }; }; }; }, { by_creation_time: ["_creationTime"]; by_namespace: ["namespace", "_creationTime"]; by_aggregate_name: ["aggregateName", "_creationTime"]; }, {}, {}, {}>; }; //#endregion //#region src/aggregate-core/btree.d.ts type Key$2 = Value; //#endregion //#region src/aggregate-core/positions.d.ts type Bound$1<K extends Key$2, ID extends string> = { key: K; id?: ID; inclusive: boolean; }; type SideBounds<K extends Key$2, ID extends string> = { lower?: Bound$1<K, ID>; upper?: Bound$1<K, ID>; }; type TuplePrefix<K extends unknown[], P extends unknown[] = []> = P['length'] extends K['length'] ? P : P | TuplePrefix<K, [...P, K[P['length']]]>; type Bounds$1<K extends Key$2, ID extends string> = SideBounds<K, ID> | (K extends unknown[] ? { prefix: TuplePrefix<Extract<K, unknown[]>>; } : never) | { eq: K; }; //#endregion //#region src/aggregate-core/runtime.d.ts type Key = Key$2; type Bound<K extends Key, ID extends string> = Bound$1<K, ID>; type Bounds<K extends Key, ID extends string> = Bounds$1<K, ID>; type AggregateQueryCtx = { db: GenericDatabaseReader<any>; orm: unknown; }; type AggregateMutationCtx = { db: GenericDatabaseWriter<any>; orm: unknown; }; type RunQueryCtx = AggregateQueryCtx; type RunMutationCtx = AggregateMutationCtx; type Item<K extends Key, ID extends string> = { id: ID; key: K; sumValue: number; }; /** * Write data to be aggregated, and read aggregated data. */ declare class Aggregate<K extends Key, ID extends string, TNamespace extends Value | undefined = undefined> { protected readonly aggregateName: string; constructor(aggregateName: string); count(ctx: RunQueryCtx, ...opts: NamespacedOpts<{ bounds?: Bounds<K, ID>; }, TNamespace>): Promise<number>; countBatch(ctx: RunQueryCtx, queries: NamespacedOptsBatch<{ bounds?: Bounds<K, ID>; }, TNamespace>): Promise<number[]>; sum(ctx: RunQueryCtx, ...opts: NamespacedOpts<{ bounds?: Bounds<K, ID>; }, TNamespace>): Promise<number>; sumBatch(ctx: RunQueryCtx, queries: NamespacedOptsBatch<{ bounds?: Bounds<K, ID>; }, TNamespace>): Promise<number[]>; at(ctx: RunQueryCtx, offset: number, ...opts: NamespacedOpts<{ bounds?: Bounds<K, ID>; }, TNamespace>): Promise<Item<K, ID>>; atBatch(ctx: RunQueryCtx, queries: NamespacedOptsBatch<{ offset: number; bounds?: Bounds<K, ID>; }, TNamespace>): Promise<Item<K, ID>[]>; indexOf(ctx: RunQueryCtx, key: K, ...opts: NamespacedOpts<{ bounds?: Bounds<K, ID>; id?: ID; order?: 'asc' | 'desc'; }, TNamespace>): Promise<number>; offsetOf(ctx: RunQueryCtx, key: K, namespace: TNamespace, id?: ID, bounds?: Bounds<K, ID>): Promise<number>; offsetUntil(ctx: RunQueryCtx, key: K, namespace: TNamespace, id?: ID, bounds?: Bounds<K, ID>): Promise<number>; min(ctx: RunQueryCtx, ...opts: NamespacedOpts<{ bounds?: Bounds<K, ID>; }, TNamespace>): Promise<Item<K, ID> | null>; max(ctx: RunQueryCtx, ...opts: NamespacedOpts<{ bounds?: Bounds<K, ID>; }, TNamespace>): Promise<Item<K, ID> | null>; random(ctx: RunQueryCtx, ...opts: NamespacedOpts<{ bounds?: Bounds<K, ID>; }, TNamespace>): Promise<Item<K, ID> | null>; paginate(ctx: RunQueryCtx, ...opts: NamespacedOpts<{ bounds?: Bounds<K, ID>; cursor?: string; order?: 'asc' | 'desc'; pageSize?: number; }, TNamespace>): Promise<{ cursor: string; isDone: boolean; page: Item<K, ID>[]; }>; iter(ctx: RunQueryCtx, ...opts: NamespacedOpts<{ bounds?: Bounds<K, ID>; order?: 'asc' | 'desc'; pageSize?: number; }, TNamespace>): AsyncGenerator<Item<K, ID>, void, undefined>; _insert(ctx: RunMutationCtx, namespace: TNamespace, key: K, id: ID, summand?: number): Promise<void>; _delete(ctx: RunMutationCtx, namespace: TNamespace, key: K, id: ID): Promise<void>; _replace(ctx: RunMutationCtx, currentNamespace: TNamespace, currentKey: K, newNamespace: TNamespace, newKey: K, id: ID, summand?: number): Promise<void>; _insertIfDoesNotExist(ctx: RunMutationCtx, namespace: TNamespace, key: K, id: ID, summand?: number): Promise<void>; _deleteIfExists(ctx: RunMutationCtx, namespace: TNamespace, key: K, id: ID): Promise<void>; _replaceOrInsert(ctx: RunMutationCtx, currentNamespace: TNamespace, currentKey: K, newNamespace: TNamespace, newKey: K, id: ID, summand?: number): Promise<void>; clear(ctx: RunMutationCtx, ...opts: NamespacedOpts<{ maxNodeSize?: number; rootLazy?: boolean; }, TNamespace>): Promise<void>; makeRootLazy(ctx: RunMutationCtx, namespace: TNamespace): Promise<void>; paginateNamespaces(ctx: RunQueryCtx, cursor?: string, pageSize?: number): Promise<{ cursor: string; isDone: boolean; page: TNamespace[]; }>; iterNamespaces(ctx: RunQueryCtx, pageSize?: number): AsyncGenerator<TNamespace, void, undefined>; clearAll(ctx: RunMutationCtx & RunQueryCtx, opts?: { maxNodeSize?: number; rootLazy?: boolean; }): Promise<void>; makeAllRootsLazy(ctx: RunMutationCtx & RunQueryCtx): Promise<void>; } type DirectAggregateType<K extends Key, ID extends string, TNamespace extends Value | undefined = undefined> = { Key: K; Id: ID; Namespace?: TNamespace; }; type AnyDirectAggregateType$1 = DirectAggregateType<Key, string, Value | undefined>; type DirectAggregateNamespace<T extends AnyDirectAggregateType$1> = 'Namespace' extends keyof T ? T['Namespace'] : undefined; declare class DirectAggregate$1<T extends AnyDirectAggregateType$1> extends Aggregate<T['Key'], T['Id'], DirectAggregateNamespace<T>> { constructor(config: { name: string; }); insert(ctx: RunMutationCtx, args: NamespacedArgs<{ id: T['Id']; key: T['Key']; sumValue?: number; }, DirectAggregateNamespace<T>>): Promise<void>; delete(ctx: RunMutationCtx, args: NamespacedArgs<{ id: T['Id']; key: T['Key']; }, DirectAggregateNamespace<T>>): Promise<void>; replace(ctx: RunMutationCtx, currentItem: NamespacedArgs<{ id: T['Id']; key: T['Key']; }, DirectAggregateNamespace<T>>, newItem: NamespacedArgs<{ key: T['Key']; sumValue?: number; }, DirectAggregateNamespace<T>>): Promise<void>; insertIfDoesNotExist(ctx: RunMutationCtx, args: NamespacedArgs<{ id: T['Id']; key: T['Key']; sumValue?: number; }, DirectAggregateNamespace<T>>): Promise<void>; deleteIfExists(ctx: RunMutationCtx, args: NamespacedArgs<{ id: T['Id']; key: T['Key']; }, DirectAggregateNamespace<T>>): Promise<void>; replaceOrInsert(ctx: RunMutationCtx, currentItem: NamespacedArgs<{ id: T['Id']; key: T['Key']; }, DirectAggregateNamespace<T>>, newItem: NamespacedArgs<{ key: T['Key']; sumValue?: number; }, DirectAggregateNamespace<T>>): Promise<void>; } type TableAggregateType<K extends Key, DataModel extends GenericDataModel, TableName extends TableNamesInDataModel<DataModel>, TNamespace extends Value | undefined = undefined> = { DataModel: DataModel; Key: K; Namespace?: TNamespace; TableName: TableName; }; type AnyTableAggregateType$1 = TableAggregateType<Key, GenericDataModel, TableNamesInDataModel<GenericDataModel>, Value | undefined>; type TableAggregateNamespace<T extends AnyTableAggregateType$1> = 'Namespace' extends keyof T ? T['Namespace'] : undefined; type TableAggregateDocument<T extends AnyTableAggregateType$1> = DocumentByName<T['DataModel'], T['TableName']>; type TableAggregateId<T extends AnyTableAggregateType$1> = GenericId<T['TableName']>; type TableAggregateTrigger<Ctx, T extends AnyTableAggregateType$1> = Trigger<Ctx, T['DataModel'], T['TableName']>; declare class TableAggregate$1<T extends AnyTableAggregateType$1> extends Aggregate<T['Key'], GenericId<T['TableName']>, TableAggregateNamespace<T>> { constructor(options: { name: string; table: T['TableName']; sortKey: (d: TableAggregateDocument<T>) => T['Key']; sumValue?: (d: TableAggregateDocument<T>) => number; } & (undefined extends TableAggregateNamespace<T> ? { namespace?: (d: TableAggregateDocument<T>) => TableAggregateNamespace<T>; } : { namespace: (d: TableAggregateDocument<T>) => TableAggregateNamespace<T>; })); private readonly options; insert(ctx: RunMutationCtx, doc: TableAggregateDocument<T>): Promise<void>; delete(ctx: RunMutationCtx, doc: TableAggregateDocument<T>): Promise<void>; replace(ctx: RunMutationCtx, oldDoc: TableAggregateDocument<T>, newDoc: TableAggregateDocument<T>): Promise<void>; insertIfDoesNotExist(ctx: RunMutationCtx, doc: TableAggregateDocument<T>): Promise<void>; deleteIfExists(ctx: RunMutationCtx, doc: TableAggregateDocument<T>): Promise<void>; replaceOrInsert(ctx: RunMutationCtx, oldDoc: TableAggregateDocument<T>, newDoc: TableAggregateDocument<T>): Promise<void>; indexOfDoc(ctx: RunQueryCtx, doc: TableAggregateDocument<T>, opts?: { id?: TableAggregateId<T>; bounds?: Bounds<T['Key'], TableAggregateId<T>>; order?: 'asc' | 'desc'; }): Promise<number>; trigger<Ctx extends RunMutationCtx>(): TableAggregateTrigger<Ctx, T>; idempotentTrigger<Ctx extends RunMutationCtx>(): TableAggregateTrigger<Ctx, T>; } type Trigger<Ctx, DataModel extends GenericDataModel, TableName extends TableNamesInDataModel<DataModel>> = (ctx: Ctx, change: Change<DataModel, TableName>) => Promise<void>; type Change<DataModel extends GenericDataModel, TableName extends TableNamesInDataModel<DataModel>> = { id: GenericId<TableName> | string; } & ({ operation: 'insert'; oldDoc: null; newDoc: DocumentByName<DataModel, TableName>; } | { operation: 'update'; oldDoc: DocumentByName<DataModel, TableName>; newDoc: DocumentByName<DataModel, TableName>; } | { operation: 'delete'; oldDoc: DocumentByName<DataModel, TableName>; newDoc: null; }); type NamespacedArgs<Args, TNamespace> = (Args & { namespace: TNamespace; }) | (TNamespace extends undefined ? Args : never); type NamespacedOpts<Opts, TNamespace> = [{ namespace: TNamespace; } & Opts] | (undefined extends TNamespace ? [Opts?] : never); type NamespacedOptsBatch<Opts, TNamespace> = Array<undefined extends TNamespace ? Opts : { namespace: TNamespace; } & Opts>; //#endregion //#region src/orm/aggregate.d.ts type AggregateTriggerFactoryLike = { trigger: () => (ctx: unknown, change: unknown) => Promise<void>; }; type AggregateTriggerCtx<T extends AggregateTriggerFactoryLike> = Parameters<ReturnType<T['trigger']>>[0]; type AggregateTriggerChange<T extends AggregateTriggerFactoryLike> = Parameters<ReturnType<T['trigger']>>[1]; type AggregateTriggerOverload<T extends AggregateTriggerFactoryLike> = { (): ReturnType<T['trigger']>; <TChange, TCtx>(change: TChange, ctx: TCtx): Promise<void>; }; type OrmCompatibleAggregate<T extends AggregateTriggerFactoryLike> = Omit<T, 'trigger'> & { trigger: AggregateTriggerOverload<T>; }; //#endregion //#region src/aggregate/index.d.ts type Key$1 = Key; type AnyDirectAggregateType = DirectAggregateType<Key$1, string, Value | undefined>; type AnyTableAggregateType = TableAggregateType<Key$1, any, any, Value | undefined>; type CoreTrigger<T extends AnyTableAggregateType> = ReturnType<TableAggregate$1<T>['trigger']>; type CoreIdempotentTrigger<T extends AnyTableAggregateType> = ReturnType<TableAggregate$1<T>['idempotentTrigger']>; declare class TableAggregate<T extends AnyTableAggregateType> extends TableAggregate$1<T> { trigger: { (): CoreTrigger<T>; <TChange, TCtx>(change: TChange, ctx: TCtx): Promise<void>; }; idempotentTrigger: { (): CoreIdempotentTrigger<T>; <TChange, TCtx>(change: TChange, ctx: TCtx): Promise<void>; }; constructor(...args: ConstructorParameters<typeof TableAggregate$1>); } declare class DirectAggregate<T extends AnyDirectAggregateType> extends DirectAggregate$1<T> {} declare function createDirectAggregate<T extends AnyDirectAggregateType>(config: { name: string; }): DirectAggregate<T>; //#endregion export { type AggregateTriggerChange, type AggregateTriggerCtx, type AggregateTriggerFactoryLike, type Bound, type Bounds, DirectAggregate, type DirectAggregateType, type Item, type Key, type OrmCompatibleAggregate, type RunMutationCtx, type RunQueryCtx, TableAggregate, type TableAggregateType, aggregateStorageTables, createDirectAggregate };