API Reference / @evolu/common / Evolu/Public / kysely / jsonBuildObject
Function: jsonBuildObject()
function jsonBuildObject<O>(obj): RawBuilder<Simplify<{ [K in string | number | symbol]: O[K] extends Expression<V> ? V : never }>>;
Defined in: packages/common/src/Evolu/PublicKysely.ts:177
The SQLite json_object
function.
Examples
import { kysely } from "@evolu/common";
// TODO: Update for Evolu
const result = await db
.selectFrom("person")
.select((eb) => [
"id",
kysely
.jsonBuildObject({
first: eb.ref("first_name"),
last: eb.ref("last_name"),
full: kysely.sql<string>`first_name || ' ' || last_name`,
})
.as("name"),
])
.execute();
result[0]?.id;
result[0]?.name.first;
result[0]?.name.last;
result[0]?.name.full;
The generated SQL (SQLite):
select "id", json_object(
'first', first_name,
'last', last_name,
'full', "first_name" || ' ' || "last_name"
) as "name"
from "person"
Type Parameters
Type Parameter |
---|
O extends Record <string , Expression <unknown >> |
Parameters
Parameter | Type |
---|---|
obj | O |
Returns
RawBuilder
<Simplify
<{ [K in string | number | symbol]: O[K] extends Expression<V> ? V : never }>>