import { DatabaseInterface } from './types'; import { SQLiteDatabase } from './sqlite-database'; class DatabaseFactory { private static instance: DatabaseInterface | null = null; static getInstance(): DatabaseInterface { if (!this.instance) { // Metro 会根据平台自动选择正确的文件 // Web: sqlite-database.web.ts // Native: sqlite-database.ts this.instance = new SQLiteDatabase(); } return this.instance!; } // 用于测试或重置实例 static resetInstance(): void { this.instance = null; } } export const database = DatabaseFactory.getInstance();