@push.rocks/smartjimp
Version:
A TypeScript library for image processing combining both sharp and jimp libraries.
30 lines (29 loc) • 1.18 kB
TypeScript
import * as plugins from './plugins.js';
import * as pluginsTyped from './plugins.typed.js';
export interface IAssetVariation {
format?: 'avif' | 'webp' | 'png' | 'jpeg';
width?: number;
height?: number;
invert?: boolean;
progressive?: boolean;
quality?: number;
}
export interface ISmartJimpOptions {
mode: 'sharp' | 'jimp';
}
export declare class SmartJimp {
levelCache: plugins.levelcache.LevelCache;
options: ISmartJimpOptions;
constructor(optionsArg: ISmartJimpOptions);
/**
* get a key that is unique for a wanted asset variation
*/
private getCacheKey;
sharpMod: typeof pluginsTyped.sharpType.default;
getSharpMod(): Promise<typeof pluginsTyped.sharpType.default>;
jimpMod: typeof pluginsTyped.jimpType;
getJimpMod(): Promise<typeof pluginsTyped.jimpType>;
computeAssetVariation(assetBufferArg: Buffer, assetVariationArg: IAssetVariation): Promise<Buffer<ArrayBufferLike>>;
getFromSmartfile(smartfileArg: plugins.smartfile.SmartFile, wantedDimensionsArg?: IAssetVariation): Promise<Buffer<ArrayBufferLike>>;
createAvifImageFromBuffer(bufferArg: Buffer): Promise<Buffer<ArrayBufferLike>>;
}