@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
29 lines • 1.43 kB
text/typescript
import { PreviewSession } from "../../../types/response.mjs";
//#region src/libs/toolkit/previews/state.d.ts
type MaybePromise<T> = T | Promise<T>;
type ToolkitPreviewSource = "query" | "stored" | "exit" | null;
type ToolkitPreviewStore = {
/** Reads the raw preview token persisted by the frontend adapter. */get: () => MaybePromise<string | null | undefined>; /** Persists a validated perspective preview until its server-issued expiry. */
set: (preview: {
token: string;
expiresAt: string;
}) => MaybePromise<void>; /** Clears the frontend's persisted preview. */
clear: () => MaybePromise<void>;
};
type ToolkitPreviewResponseHeaders = {
/** Sets a response header on the host framework's current response. */set: (name: string, value: string) => MaybePromise<void>;
};
type ToolkitPreviewStateInput = {
/** The current frontend request URL. */url: string | URL; /** Framework adapter for perspective-preview persistence. */
session: ToolkitPreviewStore; /** Optional framework adapter used to apply preview response protections. */
headers?: ToolkitPreviewResponseHeaders;
};
type ToolkitPreviewState = {
active: boolean;
token: string | null;
source: ToolkitPreviewSource;
preview: PreviewSession | null;
};
//#endregion
export { ToolkitPreviewResponseHeaders, ToolkitPreviewSource, ToolkitPreviewState, ToolkitPreviewStateInput, ToolkitPreviewStore };
//# sourceMappingURL=state.d.mts.map