API
@ogygia/content/server
The wire layer, which provides remotes over collections and sites.
On this page
This page is generated from the package’s own .d.ts files on every build, so the signatures, descriptions and examples below always match the source.
import { … } from '@ogygia/content/server';Exports remotes · withRemotes · WithRemotes · ContentMode · GetRemote · ListRemote · SiteRemotes
remotes
function
Mint a site's Kit remotes. base is the mount prefix (baked into nav hrefs and search hit
hrefs); default '' (root mount).
modes picks each remote's wire mode (the same dial as withRemotes): prerender (default
for nav + doc — static payloads, required when the awaiting pages prerender; dynamic: true keeps runtime resolution for uncovered args) or query (per-request compute — a preview
deployment, a context-gated site). search is inherently per-request and always query.
function remotes(site: Site, opts?: {
base?: string;
modes?: {
nav?: ContentMode;
page?: ContentMode;
};
}): SiteRemotes;withRemotes
function
Augment a browser-safe collection with its Kit remotes (and keep its read methods). Server-only
(imports $app/server) — call it from a .remote.ts.
function withRemotes<T extends Record<string, unknown> = Record<string, unknown>>(handle: unknown): WithRemotes<T>;WithRemotes
interface
The server-side handle withRemotes() returns: the collection's read paths + its remotes.
interface WithRemotes<T extends Record<string, unknown>> {/*…*/}WithRemotes.refs
refs(): Promise<ContentRef<T>[]>;WithRemotes.get
get(id: string): Promise<Entry<T> | null>;WithRemotes.list
Prerendered/query remote over the corpus refs (wire-safe metadata).
list<Out = {
id: string;
data: T;
}>(options?: RefsOptions<T, Out>): ListRemote<Out>;WithRemotes.live
live: {
list<Out = {
id: string;
data: T;
}>(options?: LiveRefsOptions<T, Out>): ListRemote<Out>;
get<Out = {
id: string;
data: T;
} | null>(options?: LiveGetOptions<T, Out>): GetRemote<Out>;
};ContentMode
type
type ContentMode = "prerender" | "query";GetRemote
type
type GetRemote<Out> = (id: string) => Promise<Out>;ListRemote
type
Return types for the minted remotes (the callable shape consumers use; cast for extra methods).
type ListRemote<Out> = () => Promise<Out[]>;SiteRemotes
type
type SiteRemotes = {
nav: (slug?: string) => Promise<NavTree>;
meta: (slug?: string) => Promise<SiteMeta>;
search: (q: string) => Promise<SearchHit[]>;
page: (slug: string) => Promise<PageView | null>;
};