Packages

Glibsql is a library for interacting with a hosted libSQL database such as [Turso](https://turso.tech).

Current section

Files

Jump to
glibsql src libsql_ffi.mjs
Raw

src/libsql_ffi.mjs

import { Ok, Error, Result } from "./gleam.mjs";
import { createClient } from "@libsql/client";
/**
* @param {string} url
* @param {string} token
* @returns {Result<import("@libsql/client").Client}
*/
export function do_build(url, token) {
try {
return new Ok(
createClient({
url: url,
authToken: token,
}),
);
} catch (error) {
return new Error(error);
}
}
/**
* @param {import("@libsql/client").Client} client
* @param {string} query
*/
export async function do_execute(client, query) {
try {
const { rowsAffected, lastInsertRowid, rows } = await client.execute(query);
return new Ok({
rows_affected: rowsAffected,
last_insert_rowid: lastInsertRowid,
rows,
});
} catch (error) {
console.log(`Error: ${error}`);
return new Error(error);
}
}