UNPKG

@e-mc/types

Version:

Type definitions for E-mc.

27 lines (20 loc) 1.44 kB
import type { CompressFormat as ICompressFormat, CompressLevel as ICompressLevel, MimeTypeAction, WorkerAction } from './squared'; import type { LogBaseOptions, LogTime } from './logger'; import type { ThrowsAction } from './module'; 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 {} export interface BrotliCompressLevel extends CompressLevel, MimeTypeAction {} export interface ReadableOptions extends ThrowsAction {} export type BufferLike = Buffer | Uint8Array | ArrayBuffer | SharedArrayBuffer | readonly number[]; export type TryFileCompressor = (data: string | Buffer, output: string, config: CompressFormat, callback?: ResultCallback<ResultData>) => Promise<ResultData | void>; export type TryFileCompressorAsync = (data: string | Buffer, 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>>>;