perf-audit-cli
Version:
CLI tool for continuous performance monitoring and analysis
41 lines • 1.42 kB
TypeScript
export interface DatabaseConnection {
all<T = unknown>(query: string, params?: unknown[]): Promise<T[]>;
get<T = unknown>(query: string, params?: unknown[]): Promise<T | undefined>;
run(query: string, params?: unknown[]): Promise<{
lastInsertRowid?: number | bigint;
changes: number;
}>;
transaction<T>(callback: () => Promise<T> | T): Promise<T>;
exec(query: string): Promise<void>;
close(): Promise<void>;
}
export interface DatabaseConfig {
type: 'sqlite' | 'mysql' | 'postgresql';
host?: string;
port?: number;
database: string;
username?: string;
password?: string;
options?: Record<string, unknown>;
}
export interface QueryBuilder {
select(columns: string[]): QueryBuilder;
from(table: string): QueryBuilder;
where(condition: string, params?: unknown[]): QueryBuilder;
join(table: string, condition: string): QueryBuilder;
leftJoin(table: string, condition: string): QueryBuilder;
orderBy(column: string, direction?: 'ASC' | 'DESC'): QueryBuilder;
limit(count: number): QueryBuilder;
groupBy(columns: string[]): QueryBuilder;
build(): {
query: string;
params: unknown[];
};
}
export interface Migration {
version: number;
name: string;
up(db: DatabaseConnection): Promise<void>;
down(db: DatabaseConnection): Promise<void>;
}
//# sourceMappingURL=interfaces.d.ts.map