UNPKG

kysely-dialect-tauri

Version:
34 lines (31 loc) 1.1 kB
import { GenericSqliteDialect, buildQueryFn, parseBigInt } from 'kysely-generic-sqlite'; // src/index.ts var TauriSqliteDialect = class extends GenericSqliteDialect { /** * SQLite dialect for Tauri, using [official sql plugin](https://github.com/tauri-apps/plugins-workspace/tree/dev/plugins/sql) */ constructor(config) { const { database, onCreateConnection } = config; super( async () => { const db = typeof database === "function" ? await database("sqlite:") : database; return { db, query: buildQueryFn({ all: async (sql, parameters) => await db.select(sql, parameters), run: async (sql, parameters) => { const { rowsAffected, lastInsertId } = await db.execute(sql, parameters); return { numAffectedRows: parseBigInt(rowsAffected), insertId: parseBigInt(lastInsertId) }; } }), close: async () => await db.close() }; }, onCreateConnection ); } }; export { TauriSqliteDialect };