UNPKG

bknd

Version:

Lightweight Firebase/Supabase alternative built to run anywhere — incl. Next.js, React Router, Astro, Cloudflare, Bun, Node, AWS Lambda & more.

2 lines (1 loc) 729 B
import{genericSqlite as c}from"bknd";import{DatabaseSync as s}from"node:sqlite";import{omitKeys as u}from"bknd/utils";function l(e){let t;return e&&("database"in e&&e.database?t=e.database:e.url&&(t=new s(e.url))),t||(t=new s(":memory:")),c("node-sqlite",t,o=>{let a=n=>t.prepare(n);return{db:t,query:o.buildQueryFn({all:(n,r=[])=>a(n).all(...r),run:(n,r=[])=>{let{changes:i,lastInsertRowid:p}=a(n).run(...r);return{insertId:o.parseBigInt(p),numAffectedRows:o.parseBigInt(i)}}}),close:()=>t.close(),iterator:(n,r,i=[])=>{if(!n)throw new Error("Only support select in stream()");return a(r).iterate(...i)}}},{...u(e??{},["database","url","name","supports"]),supports:{batching:!1}})}function f(e){return l(e)}export{f as sqlite};