API / @aihu-plugin/drizzle

@aihu-plugin/drizzle

Plugins

Drizzle ORM data adapter for aihu — typed createResource fetchers and defineLoader helpers (Postgres / SQLite / libSQL).

version
0.1.2
exports
7
values
3
types
4
01

createDrizzleResource

function
function createDrizzleResource<DB, K, T>( db: DB, queryFn: DrizzleQueryFn<DB, K, T>, options?: DrizzleResourceOptions, ): (key: string) => Promise<T>

Build a `createResource`-compatible fetcher from a Drizzle query.

02

drizzle

function
function drizzle(_config?: Record<string, never>): Plugin

Plugin factory for `@aihu-plugin/drizzle`.

03

drizzleLoader

function
function drizzleLoader<DB, T>( db: DB, queryFn: DrizzleQueryFn<DB, RouteContext, T>, ): ReturnType<typeof defineLoader<T>>

Build a `defineLoader`-wrapped SSR loader from a Drizzle query.

04

DrizzleResourceOptions

interface
interface DrizzleResourceOptions {
  /**
   * Map the resolved key string into the typed key passed to the query fn.
   * Defaults to identity (the raw cache-key string). Use this when your query
   * needs a parsed value (e.g. `Number(key)`).
   */
  readonly parseKey?: (key: string) => unknown
}

Options accepted by `createDrizzleResource`.

05

DefinedLoader

type
type DefinedLoader
06

DrizzleQuery

type
type DrizzleQuery<T> = PromiseLike<T>

The minimal "thenable" shape Drizzle query builders satisfy.

07

DrizzleQueryFn

type
type DrizzleQueryFn<DB, K, T> = (db: DB, key: K) => DrizzleQuery<T> | Promise<T>

A query factory: given a Drizzle database handle and a key, returns either a Drizzle query (PromiseLike) or a plain Promise of the result.