import { getRuntimeKey } from "hono/adapter"; import { createD1Repository } from "./d1-repository.mjs"; import { createSqliteRepository } from "./sqlite-repository.mjs"; export function createRepository(options = {}) { const runtime = options.runtime || getRuntimeKey(); if (runtime === "workerd") { if (!options.env?.DB && !options.db) { throw new Error("Cloudflare runtime requires a D1 binding named DB."); } return createD1Repository({ db: options.db || options.env.DB }); } if (runtime === "node") { return createSqliteRepository({ dbPath: options.dbPath }); } throw new Error(`Unsupported runtime for data repository: ${runtime}`); }