API reference@evolu/commonlocal‑first/Schema › createQueryBuilder

function createQueryBuilder<S>(_schema: S): CreateQuery<S>;

Defined in: packages/common/src/local-first/Schema.ts:425

Creates a query builder from a EvoluSchema.

Supports Kysely relation-style query composition (nested objects/arrays via JSON subqueries), such as evoluJsonObjectFrom and evoluJsonArrayFrom. These helpers are Evolu's safer SQLite variants of the Kysely relations recipe.

Example

const Schema = {
  todo: {
    id: id("Todo"),
    title: NonEmptyString100,
    isCompleted: nullOr(SqliteBoolean),
  },
};

// Create a typed query builder (once per schema)
const createQuery = createQueryBuilder(Schema);

// Use it for all queries
const todosQuery = createQuery((db) =>
  db.selectFrom("todo").select(["id", "title", "isCompleted"]),
);