quicklite
Version:
A lightweight ORM toolkit for SQLite in Node.js applications
61 lines (60 loc) • 1.45 kB
TypeScript
import Database from 'better-sqlite3';
export interface DatabaseOptions {
/**
* Database file path
*/
dbPath: string;
/**
* Enable WAL mode for better performance (default: true)
*/
enableWAL?: boolean;
/**
* Enable foreign keys support (default: true)
*/
enableForeignKeys?: boolean;
/**
* Better-sqlite3 options
*/
sqliteOptions?: Database.Options;
}
/**
* Manages SQLite database connection
*/
export declare class DatabaseManager {
private static instances;
private db;
private dbOptions;
/**
* Creates a new DatabaseManager instance
* @param options Database connection options
*/
private constructor();
/**
* Gets or creates a DatabaseManager instance
* @param options Database connection options
* @returns DatabaseManager instance
*/
static getInstance(options: DatabaseOptions): DatabaseManager;
/**
* Ensures that the database directory exists
*/
private ensureDatabaseDirectory;
/**
* Initializes the database connection
*/
private init;
/**
* Gets the database instance
* @returns SQLite database instance
*/
getDatabase(): Database.Database;
/**
* Closes the database connection
*/
closeDatabase(): void;
/**
* Gets the database file path
* @returns Database file path
*/
getDatabasePath(): string;
}