kysely-dialect-tauri
Version:
Kysely Tauri dialect, using @tauri-apps/plugin-sql
34 lines (30 loc) • 1.1 kB
TypeScript
import Database from '@tauri-apps/plugin-sql';
import { IBaseSqliteDialectConfig, Promisable, GenericSqliteDialect } from 'kysely-generic-sqlite';
interface TauriSqliteDialectConfig extends IBaseSqliteDialectConfig {
/**
* Tauri database instance.
*
* @example
* ```ts
* import Database from '@tauri-apps/plugin-sql'
* import { appDataDir } from '@tauri-apps/api/path'
*
* const kysely = new Kysely<DB>({
* dialect: new TauriSqlDialect({
* database: prefix => Database.load(`${prefix}${await appDataDir()}test.db`)
* }),
* })
* ```
*/
database: Database | ((prefix: 'sqlite:') => Promisable<Database>);
}
/**
* https://github.com/tauri-apps/plugins-workspace/tree/dev/plugins/sql
*/
declare class TauriSqliteDialect extends GenericSqliteDialect {
/**
* SQLite dialect for Tauri, using [official sql plugin](https://github.com/tauri-apps/plugins-workspace/tree/dev/plugins/sql)
*/
constructor(config: TauriSqliteDialectConfig);
}
export { TauriSqliteDialect, type TauriSqliteDialectConfig };