UNPKG

@paroicms/server-image-cache-engine

Version:

The image variant engine that we use at Paroi.

26 lines (25 loc) 1.04 kB
import type { BasicAppLogger } from "@paroicms/internal-server-lib"; import type { Knex } from "knex"; import type { ImageVariantWithBinary } from "../engine-types.js"; import type { CreateImageCacheEngineOptions } from "../image-cache-engine.js"; import type { OwnerKey, TaskData, TaskKey } from "./internal.types.js"; export interface VariantEngineContext extends Omit<CreateImageCacheEngineOptions, "logger"> { status: "ready" | "closed"; logger: BasicAppLogger; queue: TaskKey[]; pendingTasks: Map<TaskKey, PendingTask>; pendingTaskByOwnerKeys: Map<OwnerKey, PendingTask>; cn: Knex; logNextQuery: (count?: number) => void; } export interface PendingTask { resolve: (result: ImageVariantWithBinary) => void; reject: (error: unknown) => void; promise: Promise<ImageVariantWithBinary>; task: TaskData; ownerKeys: Set<OwnerKey>; } export declare function createVariantEngineContext(options: CreateImageCacheEngineOptions): Promise<{ context: VariantEngineContext; isCleared: boolean; }>;