UNPKG

@e-mc/types

Version:

Type definitions for E-mc.

29 lines (21 loc) 1.52 kB
import type { CompressFormat as ICompressFormat, CompressLevel as ICompressLevel, MimeTypeAction, WorkerAction } from './squared'; import type { LogBaseOptions, LogTime } from './logger'; import type { ThrowsAction } from './module'; import type { BrotliOptions, ZlibOptions } from 'node:zlib'; type ResultCallback<T = Buffer | Uint8Array | null> = (err: unknown, data?: T, ext?: string) => void; type ResultData = Buffer | Uint8Array | string | null; export interface CompressFormat extends ICompressFormat, LogBaseOptions, ReadableOptions, MimeTypeAction, WorkerAction { filename?: string; startTime?: LogTime; etag?: string; outExt?: string; outFile?: string; } export interface CompressLevel extends ICompressLevel, ReadableOptions, ZlibOptions {} export interface BrotliCompressLevel extends CompressLevel, BrotliOptions, MimeTypeAction {} export interface ReadableOptions extends ThrowsAction {} export type BufferLike = Buffer | Uint8Array | ArrayBuffer | SharedArrayBuffer | readonly number[]; export type TryFileCompressor = (data: Bufferable, output: string, config: CompressFormat, callback?: ResultCallback<ResultData>) => Promise<ResultData | void>; export type TryFileCompressorAsync = (data: Bufferable, output: string, config: CompressFormat) => Promise<ResultData>; export type BufferResult = Buffer | Uint8Array | null; export type PluginCompressor = FunctionArgs<[CompressFormat["options"], CompressFormat["metadata"]?], FunctionArgs<[Buffer], Promise<Buffer | Uint8Array>>>;