import { DB_PATH } from "$lib/utils/constants"; import { Database, Statement } from "bun:sqlite"; export class SSLSnifferApp { private static initialized = false private static db: Database // UGLY: should be more flexible public static init() { if (SSLSnifferApp.initialized) { throw new Error("SSLSniffer has already been initialized") } SSLSnifferApp.db = SSLSnifferApp.initDatabase() SSLSnifferApp.initialized = true } public static prepare(query: string) { return SSLSnifferApp.db.prepare(query) } private static initDatabase() { const db = new Database( DB_PATH, { create: true, strict: true } ) // Improve performance db.exec("PRAGMA journal_mode = WAL;"); return db } private static closeDatabase(graceful?: boolean) { if (!graceful) { graceful = true } // Change of variable to make it more readable const forceful = !graceful SSLSnifferApp.db.close(forceful) } }