node v2 cli support (#36309)

This commit is contained in:
Simon Klee 2026-07-17 14:45:06 +02:00 committed by GitHub
commit a1b274e6f8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
75 changed files with 1502 additions and 367 deletions

View file

@ -0,0 +1,21 @@
import { DatabaseSync, type SQLInputValue } from "node:sqlite"
export class Database {
readonly #database: DatabaseSync
constructor(file: string, options?: { readonly?: boolean }) {
this.#database = new DatabaseSync(file, { readOnly: options?.readonly })
}
query(sql: string) {
const statement = this.#database.prepare(sql)
return {
all: (parameters?: Record<string, SQLInputValue>) => (parameters ? statement.all(parameters) : statement.all()),
get: (parameters?: Record<string, SQLInputValue>) => (parameters ? statement.get(parameters) : statement.get()),
}
}
close() {
this.#database.close()
}
}