@paroicms/server
Version:
The ParoiCMS server
43 lines (42 loc) • 1.72 kB
TypeScript
import { type Tracker } from "@paroicms/internal-server-lib";
import type { WithAttachedData } from "@paroicms/public-anywhere-lib";
import type { PluginRenderedDocument, TpSourceImage } from "@paroicms/public-server-lib";
import type { ImageCacheOwnerTransaction } from "@paroicms/server-image-cache-engine";
import type { SiteContext } from "../../site-context/site-context.types.js";
export interface RenderingContext {
siteContext: SiteContext;
renderingId: bigint;
cacheKey: string;
language: string;
isPreview: boolean;
mainDocument: PluginRenderedDocument | undefined;
withAttachedData: WithAttachedData;
tracker: Tracker;
sourceImagesByGalleryHandles: Map<string, TpSourceImage[]>;
imageCacheTransaction: ImageCacheOwnerTransaction;
pluginRenderState: Map<string, any>;
addDependencyKey(...dependencyKeys: string[]): void;
getDependencyKeys(): string[];
setValueIntoCache(key: string, val: unknown): void;
getValueFromCache<T = unknown>(key: string): RenderingCacheResult<T>;
close(): Promise<void>;
flush(): Promise<void>;
}
export type RenderingCacheResult<T = unknown> = {
found: false;
} | {
found: true;
val: T;
};
export declare function createRenderingContext(siteContext: SiteContext, options: {
cacheKey: string;
language: string | undefined;
tracker: Tracker;
dependencyKey?: string;
isPreview?: boolean;
mainDocument?: PluginRenderedDocument;
}): Promise<RenderingContext>;
export declare function makeTagCacheKeyForRendering(cacheKey: string, { tagParameters }: {
tagParameters?: unknown;
}): string;
export declare function createNoRenderingContext(siteContext: SiteContext): RenderingContext;