flint-orm
Version:
Type-safe SQLite ORM for JavaScript
44 lines (43 loc) • 2.81 kB
TypeScript
import type { Client, Config } from '@libsql/client';
import type { Executor } from '../executor';
/** Async executor backed by @libsql/client/web. */
export declare class LibsqlWebExecutor implements Executor {
#private;
constructor(client: Client);
all(sql: string, params: unknown[]): Promise<unknown[]>;
get(sql: string, params: unknown[]): Promise<unknown>;
run(sql: string, params: unknown[]): Promise<{
rowsAffected: number;
}>;
transaction(fn: () => void | Promise<void>): Promise<void>;
close(): void;
}
/**
* Create a flint database client using @libsql/client/web.
*
* **Note:** The web client only supports `ws:`, `wss:`, `http:`, and `https:` URLs.
* `file:` URLs are not supported — use the `flint-orm/libsql` entry point for local SQLite files.
*
* @example
* import { flint } from 'flint-orm/libsql-web'
* const db = flint({ url: 'libsql://your-db.turso.io', authToken: '...' })
*/
export declare function flint(options: Config): {
selectFrom: <T extends import("..").AnyTable>(table: T) => import("..").SelectBuilder<T>;
insert: <T extends import("..").AnyTable>(table: T) => import("..").InsertStage1<T>;
update: <T extends import("..").AnyTable>(table: T) => import("..").UpdateStage1<T>;
delete: <T extends import("..").AnyTable>(table: T) => import("../query/builder").DeleteBuilder<T, false, keyof import("..").InferRow<T>>;
leftJoin: <Parent extends import("..").AnyTable>(parent: Parent) => import("../flint").JoinSelectStage1<Parent>;
innerJoin: <Parent extends import("..").AnyTable>(parent: Parent) => import("../flint").JoinSelectStage1<Parent>;
batch: (queries: import("..").Executable[]) => Promise<void>;
count: <T extends import("..").AnyTable>(table: T, condition?: import("..").Condition) => Promise<number>;
countColumn: <T extends import("..").AnyTable, C extends import("..").ColumnDef<any, any>>(table: T, column: C, condition?: import("..").Condition) => Promise<number>;
sum: <T extends import("..").AnyTable, C extends import("..").ColumnDef<any, any>>(table: T, column: C, condition?: import("..").Condition) => Promise<number | null>;
avg: <T extends import("..").AnyTable, C extends import("..").ColumnDef<any, any>>(table: T, column: C, condition?: import("..").Condition) => Promise<number | null>;
min: <T extends import("..").AnyTable, C extends import("..").ColumnDef<any, any>>(table: T, column: C, condition?: import("..").Condition) => Promise<number | null>;
max: <T extends import("..").AnyTable, C extends import("..").ColumnDef<any, any>>(table: T, column: C, condition?: import("..").Condition) => Promise<number | null>;
$run(query: string, ...params: unknown[]): Promise<{
rowsAffected: number;
}>;
$executor: Executor;
};