Drizzle ORM data adapter for aihu — typed createResource fetchers and defineLoader helpers (Postgres / SQLite / libSQL).
createDrizzleResourcefunction 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.
drizzlefunction drizzle(_config?: Record<string, never>): PluginPlugin factory for `@aihu-plugin/drizzle`.
drizzleLoaderfunction drizzleLoader<DB, T>( db: DB, queryFn: DrizzleQueryFn<DB, RouteContext, T>, ): ReturnType<typeof defineLoader<T>>Build a `defineLoader`-wrapped SSR loader from a Drizzle query.
DrizzleResourceOptionsinterface 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`.
DefinedLoadertype DefinedLoaderDrizzleQuerytype DrizzleQuery<T> = PromiseLike<T>The minimal "thenable" shape Drizzle query builders satisfy.
DrizzleQueryFntype 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.