Browser
Kysely also runs in the browser. Here's a minimal example:
import {
Kysely,
Generated,
DummyDriver,
SqliteAdapter,
SqliteIntrospector,
SqliteQueryCompiler,
} from 'kysely'
interface Person {
id: Generated<number>
first_name: string
last_name: string | null
}
interface Database {
person: Person
}
const db = new Kysely<Database>({
dialect: {
createAdapter() {
return new SqliteAdapter()
},
createDriver() {
return new DummyDriver()
},
createIntrospector(db: Kysely<unknown>) {
return new SqliteIntrospector(db)
},
createQueryCompiler() {
return new SqliteQueryCompiler()
},
},
})
window.addEventListener('load', () => {
const sql = db.selectFrom('person').select('id').compile()
const result = document.createElement('span')
result.id = 'result'
result.innerHTML = sql.sql
document.body.appendChild(result)
})