flint-orm
Version:
Type-safe SQLite ORM for JavaScript
48 lines (47 loc) • 2.12 kB
TypeScript
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>;