UNPKG

@paroicms/server-image-cache-engine

Version:

The image variant engine that we use at Paroi.

84 lines (83 loc) 3.31 kB
import type { ResizeRule } from "@paroicms/public-anywhere-lib"; import type { ImageVariant, ImageVariantWithBinary, UsedRawSize } from "../engine-types.js"; import type { VariantEngineContext } from "./engine-context.js"; import type { ResizeOwner, StoredCacheItem } from "./internal.types.js"; export declare function insertIntoImageVariant(ctx: Pick<VariantEngineContext, "cn">, data: { resourceVersion: string; mediaId: string; mediaType: string; rawWidth: number; rawHeight: number; weightB: number; binaryFile: Buffer; slug?: string; }, owners: ResizeOwner[]): Promise<{ imageCacheId: string; lastModified: string; }>; export declare function insertIntoPaImageCacheOwner(ctx: Pick<VariantEngineContext, "cn">, input: { imageCacheId: string; owners: ResizeOwner[]; }): Promise<void>; export declare function fetchImageVariant(ctx: Pick<VariantEngineContext, "cn" | "logger">, input: { mediaId: string; mediaType: string; rawWidth: number; rawHeight: number; }): Promise<{ id: string; variant: ImageVariant; } | undefined>; export declare function fetchImageVariantWithBinary(ctx: Pick<VariantEngineContext, "cn" | "logger">, input: { mediaId: string; mediaType: string; rawWidth: number; rawHeight: number; }): Promise<{ variant: ImageVariantWithBinary; id: string; } | undefined>; export declare function fetchImageVariantWithBinaryByOwner(ctx: Pick<VariantEngineContext, "cn" | "logger">, input: { mediaId: string; mediaType: string; ownerHandle: string; rawResizeR: ResizeRule; }): Promise<{ variant: ImageVariantWithBinary; id: string; } | undefined>; export declare function deleteVariants(ctx: VariantEngineContext, options: { mediaId: string; } | { mediaIds: string[]; }): Promise<void>; /** * @returns the list of cache ownerHandles that were deleted */ export declare function deleteVariantsByDependencies(ctx: VariantEngineContext, options: { ownerHandles: string[]; }): Promise<void>; /** * Delete the images that have no ownerHandle and that have not been used recently. * @returns the number of cache identifiers that were deleted */ export declare function deleteOrphanVariants(ctx: VariantEngineContext): Promise<number | undefined>; export declare function associateOwnerToImages(ctx: Pick<VariantEngineContext, "cn" | "logger">, { ownerHandle, cacheImages, isHandleReusable, }: { ownerHandle: string; cacheImages: { imageCacheId: string; rawResizeR: ResizeRule; }[]; isHandleReusable: boolean; }): Promise<void>; export declare function fetchStoredCacheItems(ctx: Pick<VariantEngineContext, "cn" | "logger" | "logNextQuery">, ownerHandle: string): Promise<StoredCacheItem[]>; export declare function fetchBatchOfStoredCacheItems(ctx: Pick<VariantEngineContext, "cn" | "logger" | "logNextQuery">, groups: { requestedVariants: { mediaType: string; rawWidth: number; rawHeight: number; }[]; mediaIds: string[]; }[], alreadyOwnedBy: string): Promise<StoredCacheItem[]>; export declare function clearAll({ cn }: VariantEngineContext): Promise<void>; export declare function fetchUsedRawSizesByMedia(ctx: Pick<VariantEngineContext, "cn" | "logger">, mediaId: string): Promise<UsedRawSize[]>;