|
1 | 1 | import type { DbId } from '@sqlite.org/sqlite-wasm'
|
2 |
| -import { databaseConfig } from '@/config/database' |
3 |
| -import { InitializationError, QueryError } from '@/utils/errors' |
4 | 2 | import { sqlite3Worker1Promiser } from '@sqlite.org/sqlite-wasm'
|
5 | 3 | import { ref } from 'vue'
|
6 | 4 |
|
| 5 | +const databaseConfig = { |
| 6 | + filename: 'file:mydb.sqlite3?vfs=opfs', |
| 7 | + tables: { |
| 8 | + test: { |
| 9 | + name: 'test_table', |
| 10 | + schema: ` |
| 11 | + CREATE TABLE IF NOT EXISTS test_table ( |
| 12 | + id INTEGER PRIMARY KEY AUTOINCREMENT, |
| 13 | + name TEXT NOT NULL, |
| 14 | + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP |
| 15 | + ); |
| 16 | + `, |
| 17 | + }, |
| 18 | + }, |
| 19 | +} as const |
| 20 | + |
7 | 21 | const isInitialized = ref(false)
|
8 | 22 |
|
9 | 23 | export function useSQLite() {
|
10 | 24 | const isLoading = ref(false)
|
11 |
| - const error = ref<Error | null>(null) |
| 25 | + const error = ref<string | null>(null) |
12 | 26 | let promiser: ReturnType<typeof sqlite3Worker1Promiser> | null = null
|
13 | 27 | let dbId: string | null = null
|
14 | 28 |
|
@@ -56,7 +70,9 @@ export function useSQLite() {
|
56 | 70 | return true
|
57 | 71 | }
|
58 | 72 | catch (err) {
|
59 |
| - error.value = new InitializationError('Failed to initialize SQLite database', err) |
| 73 | + error.value = err instanceof Error |
| 74 | + ? `Failed to initialize SQLite database: ${err.message}` |
| 75 | + : 'Failed to initialize SQLite database' |
60 | 76 | throw error.value
|
61 | 77 | }
|
62 | 78 | finally {
|
@@ -87,7 +103,9 @@ export function useSQLite() {
|
87 | 103 | return result
|
88 | 104 | }
|
89 | 105 | catch (err) {
|
90 |
| - error.value = new QueryError('Query execution failed', sql, err) |
| 106 | + error.value = err instanceof Error |
| 107 | + ? `Query execution failed: ${err.message}` |
| 108 | + : 'Query execution failed' |
91 | 109 | throw error.value
|
92 | 110 | }
|
93 | 111 | finally {
|
|
0 commit comments