kysely-dialect-tauri
Version:
Kysely Tauri dialect, using @tauri-apps/plugin-sql
36 lines (32 loc) • 1.18 kB
JavaScript
;
var kyselyGenericSqlite = require('kysely-generic-sqlite');
// src/index.ts
var TauriSqliteDialect = class extends kyselyGenericSqlite.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: kyselyGenericSqlite.buildQueryFn({
all: async (sql, parameters) => await db.select(sql, parameters),
run: async (sql, parameters) => {
const { rowsAffected, lastInsertId } = await db.execute(sql, parameters);
return {
numAffectedRows: kyselyGenericSqlite.parseBigInt(rowsAffected),
insertId: kyselyGenericSqlite.parseBigInt(lastInsertId)
};
}
}),
close: async () => await db.close()
};
},
onCreateConnection
);
}
};
exports.TauriSqliteDialect = TauriSqliteDialect;