fix(deno): lazily import @db/sqlite

This commit is contained in:
alina 🌸 2024-04-29 17:44:00 +03:00
parent 341e8e9d3e
commit 33515169ff
Signed by: teidesu
SSH key fingerprint: SHA256:uNeCpw6aTSU4aIObXLvHfLkDa82HWH9EiOj9AXOIRpI

View file

@ -1,6 +1,6 @@
import { BaseSqliteStorageDriver, ISqliteDatabase } from '@mtcute/core' import { BaseSqliteStorageDriver, ISqliteDatabase } from '@mtcute/core'
import { Database } from '@db/sqlite' let Database: typeof import('@db/sqlite').Database
export interface SqliteStorageDriverOptions { export interface SqliteStorageDriverOptions {
/** /**
@ -24,6 +24,15 @@ export class SqliteStorageDriver extends BaseSqliteStorageDriver {
super() super()
} }
async _load(): Promise<void> {
if (!Database) {
// we load this lazily to avoid loading ffi if it's not needed,
// in case the user doesn't use sqlite storage
Database = (await import('@db/sqlite')).Database
}
super._load()
}
_createDatabase(): ISqliteDatabase { _createDatabase(): ISqliteDatabase {
const db = new Database(this.filename, { const db = new Database(this.filename, {
int64: true, int64: true,