CoolFace
Apppublic

AK-21/Graphite-Industrial-Intelligence

sourceHugging Faceupdated 3mo agoView on Hugging Face
0likes
session.d.ts108 linesDownload Raw Back to sqlite-core
1import { type Cache } from "../cache/core/cache.js";2import type { WithCacheConfig } from "../cache/core/types.js";3import { entityKind } from "../entity.js";4import { QueryPromise } from "../query-promise.js";5import type { TablesRelationalConfig } from "../relations.js";6import type { PreparedQuery } from "../session.js";7import type { Query, SQL } from "../sql/sql.js";8import type { SQLiteAsyncDialect, SQLiteSyncDialect } from "./dialect.js";9import { BaseSQLiteDatabase } from "./db.js";10import type { SQLiteRaw } from "./query-builders/raw.js";11import type { SelectedFieldsOrdered } from "./query-builders/select.types.js";12export interface PreparedQueryConfig {13    type: 'sync' | 'async';14    run: unknown;15    all: unknown;16    get: unknown;17    values: unknown;18    execute: unknown;19}20export declare class ExecuteResultSync<T> extends QueryPromise<T> {21    private resultCb;22    static readonly [entityKind]: string;23    constructor(resultCb: () => T);24    execute(): Promise<T>;25    sync(): T;26}27export type ExecuteResult<TType extends 'sync' | 'async', TResult> = TType extends 'async' ? Promise<TResult> : ExecuteResultSync<TResult>;28export declare abstract class SQLitePreparedQuery<T extends PreparedQueryConfig> implements PreparedQuery {29    private mode;30    private executeMethod;31    protected query: Query;32    private cache?;33    private queryMetadata?;34    private cacheConfig?;35    static readonly [entityKind]: string;36    constructor(mode: 'sync' | 'async', executeMethod: SQLiteExecuteMethod, query: Query, cache?: Cache | undefined, queryMetadata?: {37        type: 'select' | 'update' | 'delete' | 'insert';38        tables: string[];39    } | undefined, cacheConfig?: WithCacheConfig | undefined);40    getQuery(): Query;41    abstract run(placeholderValues?: Record<string, unknown>): Result<T['type'], T['run']>;42    mapRunResult(result: unknown, _isFromBatch?: boolean): unknown;43    abstract all(placeholderValues?: Record<string, unknown>): Result<T['type'], T['all']>;44    mapAllResult(_result: unknown, _isFromBatch?: boolean): unknown;45    abstract get(placeholderValues?: Record<string, unknown>): Result<T['type'], T['get']>;46    mapGetResult(_result: unknown, _isFromBatch?: boolean): unknown;47    abstract values(placeholderValues?: Record<string, unknown>): Result<T['type'], T['values']>;48    execute(placeholderValues?: Record<string, unknown>): ExecuteResult<T['type'], T['execute']>;49    mapResult(response: unknown, isFromBatch?: boolean): unknown;50}51export interface SQLiteTransactionConfig {52    behavior?: 'deferred' | 'immediate' | 'exclusive';53}54export type SQLiteExecuteMethod = 'run' | 'all' | 'get';55export declare abstract class SQLiteSession<TResultKind extends 'sync' | 'async', TRunResult, TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> {56    static readonly [entityKind]: string;57    constructor(58    /** @internal */59    dialect: {60        sync: SQLiteSyncDialect;61        async: SQLiteAsyncDialect;62    }[TResultKind]);63    abstract prepareQuery(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][], mapColumnValue?: (value: unknown) => unknown) => unknown, queryMetadata?: {64        type: 'select' | 'update' | 'delete' | 'insert';65        tables: string[];66    }, cacheConfig?: WithCacheConfig): SQLitePreparedQuery<PreparedQueryConfig & {67        type: TResultKind;68    }>;69    prepareOneTimeQuery(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][], mapColumnValue?: (value: unknown) => unknown) => unknown, queryMetadata?: {70        type: 'select' | 'update' | 'delete' | 'insert';71        tables: string[];72    }, cacheConfig?: WithCacheConfig): SQLitePreparedQuery<PreparedQueryConfig & {73        type: TResultKind;74    }>;75    abstract transaction<T>(transaction: (tx: SQLiteTransaction<TResultKind, TRunResult, TFullSchema, TSchema>) => Result<TResultKind, T>, config?: SQLiteTransactionConfig): Result<TResultKind, T>;76    run(query: SQL): Result<TResultKind, TRunResult>;77    all<T = unknown>(query: SQL): Result<TResultKind, T[]>;78    get<T = unknown>(query: SQL): Result<TResultKind, T>;79    values<T extends any[] = unknown[]>(query: SQL): Result<TResultKind, T[]>;80    count(sql: SQL): Promise<number>;81}82export type Result<TKind extends 'sync' | 'async', TResult> = {83    sync: TResult;84    async: Promise<TResult>;85}[TKind];86export type DBResult<TKind extends 'sync' | 'async', TResult> = {87    sync: TResult;88    async: SQLiteRaw<TResult>;89}[TKind];90export declare abstract class SQLiteTransaction<TResultType extends 'sync' | 'async', TRunResult, TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends BaseSQLiteDatabase<TResultType, TRunResult, TFullSchema, TSchema> {91    protected schema: {92        fullSchema: Record<string, unknown>;93        schema: TSchema;94        tableNamesMap: Record<string, string>;95    } | undefined;96    protected readonly nestedIndex: number;97    static readonly [entityKind]: string;98    constructor(resultType: TResultType, dialect: {99        sync: SQLiteSyncDialect;100        async: SQLiteAsyncDialect;101    }[TResultType], session: SQLiteSession<TResultType, TRunResult, TFullSchema, TSchema>, schema: {102        fullSchema: Record<string, unknown>;103        schema: TSchema;104        tableNamesMap: Record<string, string>;105    } | undefined, nestedIndex?: number);106    rollback(): never;107}108