UNPKG

imgproxyjs

Version:

ImgProxy javascript client for node/browser

188 lines (187 loc) 4.55 kB
export type GravityType = 'no' | 'so' | 'ea' | 'we' | 'noea' | 'nowe' | 'soea' | 'sowe' | 'ce'; export type ResizeType = 'fit' | 'fill' | 'fill-down' | 'force' | 'auto'; export type ResizeAlgorithm = 'nearest' | 'linear' | 'cubic' | 'lanczos2' | 'lanczos3'; export type ValueOf<T> = T[keyof T]; export interface Abbreviations { [key: string]: string; } export interface Settings { url: string; key?: string; salt?: string; autoreset: boolean; } export interface Gravity { gravity_type: GravityType; x_offset?: number; y_offset?: number; } export interface RGBColor { r: number; g: number; b: number; } export interface Resize { resizing_type?: string; width?: number; height?: number; enlarge?: boolean; extend?: boolean; } export interface Size { width?: number; height?: number; enlarge?: boolean; extend?: boolean; } export interface Extend { extend: boolean; gravity?: GravityType; x_offset?: number; y_offset?: number; } export interface ExtendAspectRatio { extend: boolean; gravity?: Omit<GravityType, 'sm'>; x_offset?: number; y_offset?: number; } export interface Crop { width?: number; height?: number; gravity?: GravityType; x_offset?: number; y_offset?: number; } export interface Zoom { zoom_x_y?: number; zoom_x?: number; zoom_y?: string; } export interface Padding { top?: number; right?: number; bottom?: number; left?: number; } export interface Gradient { opacity?: number; color?: string; direction?: 'down' | 'up' | 'left' | 'right'; start?: number; stop?: number; } export interface Trim { threshold?: string; color?: string; equal_hor?: boolean; equal_ver?: boolean; } export interface Adjust { brightness?: number; contrast?: number; saturation?: number; } export interface Watermark { opacity: string; position?: string; x_offset?: number; y_offset?: number; scale?: string; } export interface JPEGOptions { progressive?: boolean; no_subsample?: boolean; trellis_quant?: boolean; overshoot_deringing?: boolean; optimize_scans?: boolean; quant_table?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8; } export interface PNGOptions { png_interlaced?: boolean; png_quantize?: boolean; png_quantization_colors: number; } export interface GIFOptions { gif_optimize_frames?: boolean; gif_optimize_transparency?: boolean; } export interface UnsharpMaskingOptions { mode?: 'auto' | 'none' | 'always'; weight?: number; divider?: number; } export interface BlurDetectionsOptions { sigma?: number; classNames?: string[]; } export interface DrawDetectionsOptions { draw?: boolean; classNames?: string[]; } export interface Options { resize?: Resize; size?: Size; resizing_type?: ResizeType; resizing_algorithm?: ResizeAlgorithm; width?: number; height?: number; min_width?: number; min_height?: number; webp_options?: number; dpr?: number; dpi?: number; enlarge?: boolean; raw?: boolean; extend?: Extend; extend_aspect_ratio?: ExtendAspectRatio; gravity?: Gravity; crop?: Crop; padding?: Padding; trim?: Trim; gradient?: Gradient; quality?: number; max_bytes?: number; max_src_resolution?: number; max_src_file_size?: number; max_animation_frames?: number; max_animation_frame_resolution?: number; background?: RGBColor | string; background_alpha?: number; adjust?: Adjust; brightness?: string; expires?: string; contrast?: number; saturation?: number; blur?: number; sharpen?: number; pixelate?: number; watermark?: Watermark; watermark_url?: string; style?: string; fallback_image_url?: string; jpeg_options?: JPEGOptions; png_options?: PNGOptions; gif_options?: GIFOptions; unsharp_masking?: UnsharpMaskingOptions; blur_detections?: BlurDetectionsOptions; draw_detections?: DrawDetectionsOptions; skip_processing?: string[]; preset?: string[]; cachebuster?: string; video_thumbnail_second?: number; filename?: string; auto_rotate?: boolean; rotate?: number; page?: number; format?: string; strip_metadata?: boolean; keep_copyright?: boolean; strip_color_profile?: boolean; zoom?: Zoom; enforce_thumbnail?: boolean; return_attachment?: boolean; format_quality?: { [key: string]: number; }; }