UNPKG

@cf-wasm/og

Version:

Generate Open Graph Images dynamically from HTML/CSS without a browser.

96 lines 2.82 kB
import { MayBePromise } from "./types.js"; //#region src/core/cache.d.ts /** The execution context interface */ interface ExecutionContext { waitUntil(promise: Promise<unknown>): void; } /** * An interface representing options for `cache.serve` method */ interface ServeCacheOptions<K extends RequestInfo | URL> { /** * The {@link Cache} to use if provided, otherwise uses default */ cache?: Cache; /** * Preserve headers from response headers being removed */ preserveHeaders?: string[] | ((headerKey: string, headerValue: string, response: Response, cacheStore: Cache, cacheKey: K) => boolean) | boolean; /** * Indicates whether `Cache-Control should be overwritten`. * It also can be a string representing the header value * * @default true */ overwriteCacheControl?: string | boolean; } /** Cache utils */ declare class CacheUtils { /** Indicates whether cache is enabled */ private _enabled; /** * Indicates whether {@link Cache} api is supported * in current environment or not */ get supported(): boolean; /** * The {@link Cache} instance or a * string representing the name of {@link Cache} to be opened */ store: string | Cache; /** * The `Cache-Control` header to set for asset responses for caching * * @default 'public, max-age=604800, s-maxage=43200' */ cacheControlHeader: string; /** The waitUntil function */ private _waitUntil?; /** Enables cache */ enable(): void; /** Disables cache */ disable(): void; /** * Sets execution context * * Example for Cloudflare workers: * * ```ts * import { cache } from "@cf-wasm/og"; * * export interface Env {} * * export default { * fetch(req: Request, env: Env, ctx: ExecutionContext) { * cache.setExecutionContext(ctx); * * // ... * } * } * ``` */ setExecutionContext(ctx: ExecutionContext): void; /** * Opens a cache * * @param cacheName If provided, the name of cache to be opened * * @returns A promise which resolves to {@link Cache} */ open(cacheName?: string): Promise<Cache>; /** * Serve cached assets * * @param key The cache key * @param fallback The fallback function which provides the {@link Response} when cache key is not matched * @param param2 Options * * @returns A promise which resolves to {@link Response} */ serve<K extends RequestInfo | URL, F extends (cacheKey: K, cacheStore: Cache) => MayBePromise<Response | undefined>>(key: K, fallback: F, { cache: cacheStore, preserveHeaders, overwriteCacheControl }?: ServeCacheOptions<K>): Promise<Awaited<ReturnType<F>>>; clearMaps(): void; } declare const cache: CacheUtils; //#endregion export { ExecutionContext, ServeCacheOptions, cache }; //# sourceMappingURL=cache.d.ts.map