UNPKG

flint-orm

Version:

Type-safe SQLite ORM for JavaScript

48 lines (47 loc) 2.12 kB
import type { Executor } from '../executor'; import type { ColumnDef } from '../schema/columns'; import type { AnyTable } from '../schema/table'; import type { Condition } from './conditions'; /** * Count all rows in a table, optionally filtered by a condition. * * @example * const total = await db.count(users); * const active = await db.count(users, eq(users.active, true)); */ export declare function count<T extends AnyTable>(executor: Executor, table: T, condition?: Condition): Promise<number>; /** * Count non-null values of a column, optionally filtered by a condition. * * @example * const count = await db.countColumn(users, users.email); */ export declare function countColumn<T extends AnyTable, C extends ColumnDef<any, any>>(executor: Executor, table: T, column: C, condition?: Condition): Promise<number>; /** * Sum non-null values of a column, optionally filtered by a condition. * * @example * const total = await db.sum(orders, orders.amount); */ export declare function sum<T extends AnyTable, C extends ColumnDef<any, any>>(executor: Executor, table: T, column: C, condition?: Condition): Promise<number | null>; /** * Average non-null values of a column, optionally filtered by a condition. * * @example * const avgAge = await db.avg(users, users.age); */ export declare function avg<T extends AnyTable, C extends ColumnDef<any, any>>(executor: Executor, table: T, column: C, condition?: Condition): Promise<number | null>; /** * Find the minimum non-null value of a column, optionally filtered by a condition. * * @example * const minAge = await db.min(users, users.age); */ export declare function min<T extends AnyTable, C extends ColumnDef<any, any>>(executor: Executor, table: T, column: C, condition?: Condition): Promise<number | null>; /** * Find the maximum non-null value of a column, optionally filtered by a condition. * * @example * const maxAge = await db.max(users, users.age); */ export declare function max<T extends AnyTable, C extends ColumnDef<any, any>>(executor: Executor, table: T, column: C, condition?: Condition): Promise<number | null>;