Public
Back
Version 41
3/31/2024
// SPDX-License-Identifier: 0BSD
import { sqlite } from "https://esm.town/v/std/sqlite";
import KeyvSql from "npm:@keyvhq/sql";
type KeyvSqliteOptions = {
table?: string;
keySize?: number;
iterationLimit?: number;
};
export class KeyvSqlite extends KeyvSql {
constructor(options?: KeyvSqlite) {
super({
...options,
dialect: "sqlite",
connect,
});
}
}
async function connect() {
return async function query(sql: string) {
const result = await sqlite.execute(sql);
const { columns, rows } = result;
return rows.map(row => {
const entries = row.map((value, i) => [columns[i], value]);
return Object.fromEntries(entries);
});
};
}
Updated: April 1, 2024