Rindle

API index and search · Build metadata

Supporting declarations

packages/sql-client/src/drizzle.ts. These declarations explain referenced types. Only package-page symbols are package exports.

Exact source

rindleBigint

/**
 * The exact-i64 column for Drizzle schemas (design 226 §7.2). Three promises,
 * lined up with the column contract: generated DDL says `BIGINT` (the opt-in
 * exact int64 declaration), bind/predicate values are JS `bigint`, and selected
 * values infer as JS `bigint`. Drizzle's own `integer()` remains the
 * number/date/boolean surface and still emits `INTEGER` (the safe-range f64
 * plane).
 *
 * Caveat (§7.2): decltype dispatch fires only for **direct column references**.
 * SQLite reports no decltype for expression results, so `max(big_id)` or
 * `big_id + 1` falls into the safe-number arm and is a typed
 * `VALUE_UNSUPPORTED` past the round-trip bound — never a rounded number. For
 * exact expression results, use the native client with `intMode: "bigint"`.
 */
export declare const rindleBigint: {
    (): import("drizzle-orm/sqlite-core").SQLiteCustomColumnBuilder<{
        name: "";
        dataType: "custom";
        columnType: "SQLiteCustomColumn";
        data: bigint;
        driverParam: bigint;
        enumValues: undefined;
    }>;
    <TConfig extends Record<string, any>>(fieldConfig?: TConfig | undefined): import("drizzle-orm/sqlite-core").SQLiteCustomColumnBuilder<{
        name: "";
        dataType: "custom";
        columnType: "SQLiteCustomColumn";
        data: bigint;
        driverParam: bigint;
        enumValues: undefined;
    }>;
    <TName extends string>(dbName: TName, fieldConfig?: unknown): import("drizzle-orm/sqlite-core").SQLiteCustomColumnBuilder<{
        name: TName;
        dataType: "custom";
        columnType: "SQLiteCustomColumn";
        data: bigint;
        driverParam: bigint;
        enumValues: undefined;
    }>;
};

DrizzleStatement

/** The small, structural statement shape consumed by drizzle-orm/libsql. */
export interface DrizzleStatement {
    sql: string;
    args?: DrizzleArgs;
}

DrizzleArgs

export type DrizzleArgs = readonly unknown[] | Readonly<Record<string, unknown>>;

DrizzleInputStatement

export type DrizzleInputStatement = string | DrizzleStatement | readonly [
    sql: string,
    args?: DrizzleArgs
];

DrizzleTransactionMode

export type DrizzleTransactionMode = "write" | "read" | "deferred";

DrizzleValue

export type DrizzleValue = Exclude<SqlValue, boolean>;

DrizzleRow

export type DrizzleRow = DrizzleValue[] & Record<string, DrizzleValue>;

DrizzleResultSet

export interface DrizzleResultSet {
    columns: string[];
    columnTypes: string[];
    rows: DrizzleRow[];
    rowsAffected: number;
    lastInsertRowid: bigint | undefined;
    toJSON(): unknown;
}

DrizzleTransaction

export interface DrizzleTransaction {
    readonly closed: boolean;
    execute(statement: DrizzleInputStatement): Promise<DrizzleResultSet>;
    batch(statements: DrizzleInputStatement[]): Promise<DrizzleResultSet[]>;
    executeMultiple(sql: string): Promise<void>;
    commit(): Promise<void>;
    rollback(): Promise<void>;
    close(): void;
}

DrizzleClient

export interface DrizzleClient {
    readonly protocol: string;
    readonly closed: boolean;
    execute(statement: DrizzleInputStatement, args?: DrizzleArgs): Promise<DrizzleResultSet>;
    batch(statements: DrizzleInputStatement[], mode?: DrizzleTransactionMode): Promise<DrizzleResultSet[]>;
    /** Present for structural Client typing; Drizzle's libSQL migrator is deliberately unsupported. */
    migrate(statements: DrizzleInputStatement[]): Promise<DrizzleResultSet[]>;
    transaction(mode?: DrizzleTransactionMode): Promise<DrizzleTransaction>;
    executeMultiple(sql: string): Promise<void>;
    /** Embedded-replica sync is deliberately unsupported. */
    sync(): Promise<never>;
    reconnect(): void;
    close(): void;
    /** Escape hatch for Rindle-specific operations and session-cursor persistence. */
    readonly rindle: SqlClient;
}

toDrizzleResultSet

/** Convert Rindle's lossless positional result into libSQL's positional + named hybrid rows. */
export declare function toDrizzleResultSet(result: StatementResult): DrizzleResultSet;

createDrizzleClient

/** Create the structural libSQL-client facade used by drizzle-orm/libsql. */
export declare function createDrizzleClient(options: ClientOptions | SqlClient): DrizzleClient;