AK-21/Graphite-Industrial-Intelligence
0
1import type { SavepointSQL, SQL, TransactionSQL } from 'bun';2import { type Cache } from "../cache/core/index.js";3import type { WithCacheConfig } from "../cache/core/types.js";4import { entityKind } from "../entity.js";5import type { Logger } from "../logger.js";6import type { PgDialect } from "../pg-core/dialect.js";7import { PgTransaction } from "../pg-core/index.js";8import type { SelectedFieldsOrdered } from "../pg-core/query-builders/select.types.js";9import type { PgQueryResultHKT, PgTransactionConfig, PreparedQueryConfig } from "../pg-core/session.js";10import { PgPreparedQuery, PgSession } from "../pg-core/session.js";11import type { RelationalSchemaConfig, TablesRelationalConfig } from "../relations.js";12import { type Query } from "../sql/sql.js";13import { type Assume } from "../utils.js";14export declare class BunSQLPreparedQuery<T extends PreparedQueryConfig> extends PgPreparedQuery<T> {15 private client;16 private queryString;17 private params;18 private logger;19 private fields;20 private _isResponseInArrayMode;21 private customResultMapper?;22 static readonly [entityKind]: string;23 constructor(client: SQL, queryString: string, params: unknown[], logger: Logger, cache: Cache, queryMetadata: {24 type: 'select' | 'update' | 'delete' | 'insert';25 tables: string[];26 } | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered | undefined, _isResponseInArrayMode: boolean, customResultMapper?: ((rows: unknown[][]) => T["execute"]) | undefined);27 execute(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;28 all(placeholderValues?: Record<string, unknown> | undefined): Promise<T['all']>;29}30export interface BunSQLSessionOptions {31 logger?: Logger;32 cache?: Cache;33}34export declare class BunSQLSession<TSQL extends SQL, TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends PgSession<BunSQLQueryResultHKT, TFullSchema, TSchema> {35 client: TSQL;36 private schema;37 static readonly [entityKind]: string;38 logger: Logger;39 private cache;40 constructor(client: TSQL, dialect: PgDialect, schema: RelationalSchemaConfig<TSchema> | undefined, 41 /** @internal */42 options?: BunSQLSessionOptions);43 prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, name: string | undefined, isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][]) => T['execute'], queryMetadata?: {44 type: 'select' | 'update' | 'delete' | 'insert';45 tables: string[];46 }, cacheConfig?: WithCacheConfig): PgPreparedQuery<T>;47 query(query: string, params: unknown[]): Promise<any>;48 queryObjects(query: string, params: unknown[]): Promise<any>;49 transaction<T>(transaction: (tx: BunSQLTransaction<TFullSchema, TSchema>) => Promise<T>, config?: PgTransactionConfig): Promise<T>;50}51export declare class BunSQLTransaction<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends PgTransaction<BunSQLQueryResultHKT, TFullSchema, TSchema> {52 static readonly [entityKind]: string;53 constructor(dialect: PgDialect, 54 /** @internal */55 session: BunSQLSession<TransactionSQL | SavepointSQL, TFullSchema, TSchema>, schema: RelationalSchemaConfig<TSchema> | undefined, nestedIndex?: number);56 transaction<T>(transaction: (tx: BunSQLTransaction<TFullSchema, TSchema>) => Promise<T>): Promise<T>;57}58export interface BunSQLQueryResultHKT extends PgQueryResultHKT {59 type: Assume<this['row'], Record<string, any>[]>;60}61 