memowake-front/lib/database/database-factory.ts
Junhui Chen cff3516aa2
All checks were successful
Dev Deploy / Explore-Gitea-Actions (push) Successful in 27s
fix: db for web
2025-07-21 17:20:34 +08:00

24 lines
672 B
TypeScript

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();