rwsdk
Version:
Build fast, server-driven webapps on Cloudflare with SSR, RSC, and realtime
15 lines (14 loc) • 543 B
JavaScript
import { Kysely } from "kysely";
import { DOWorkerDialect } from "./DOWorkerDialect.js";
export function createDb(durableObjectBinding, name = "main") {
return new Kysely({
dialect: new DOWorkerDialect({
kyselyExecuteQuery: (...args) => {
const durableObjectId = durableObjectBinding.idFromName(name);
const stub = durableObjectBinding.get(durableObjectId);
stub.initialize();
return stub.kyselyExecuteQuery(...args);
},
}),
});
}