UNPKG

quicklite

Version:

A lightweight ORM toolkit for SQLite in Node.js applications

61 lines (60 loc) 1.45 kB
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; }