UNPKG

2.13 kBTypeScriptView Raw
1export type Task<T> = () => Promise<T>;
2export type WorkerResult = import("./index").WorkerResult;
3export type SquooshOptions = import("./index").SquooshOptions;
4export type ImageminOptions = import("imagemin").Options;
5export type WebpackError = import("webpack").WebpackError;
6export type Uint8ArrayUtf8ByteString = (
7 array: number[] | Uint8Array,
8 start: number,
9 end: number
10) => string;
11export type StringToBytes = (string: string) => number[];
12export type MetaData = {
13 warnings: Array<Error>;
14 errors: Array<Error>;
15};
16/**
17 * @template T
18 * @typedef {() => Promise<T>} Task
19 */
20/**
21 * Run tasks with limited concurency.
22 * @template T
23 * @param {number} limit - Limit of tasks that run at once.
24 * @param {Task<T>[]} tasks - List of tasks to run.
25 * @returns {Promise<T[]>} A promise that fulfills to an array of the results
26 */
27export function throttleAll<T>(limit: number, tasks: Task<T>[]): Promise<T[]>;
28/**
29 * @param {string} url
30 * @returns {boolean}
31 */
32export function isAbsoluteURL(url: string): boolean;
33/**
34 * @template T
35 * @param {ImageminOptions} imageminConfig
36 * @returns {Promise<ImageminOptions>}
37 */
38export function imageminNormalizeConfig<T>(
39 imageminConfig: ImageminOptions
40): Promise<ImageminOptions>;
41/**
42 * @template T
43 * @param {WorkerResult} original
44 * @param {T} options
45 * @returns {Promise<WorkerResult>}
46 */
47export function imageminMinify<T>(
48 original: WorkerResult,
49 options: T
50): Promise<WorkerResult>;
51/**
52 * @template T
53 * @param {WorkerResult} original
54 * @param {T} minimizerOptions
55 * @returns {Promise<WorkerResult>}
56 */
57export function imageminGenerate<T>(
58 original: WorkerResult,
59 minimizerOptions: T
60): Promise<WorkerResult>;
61/**
62 * @template T
63 * @param {WorkerResult} original
64 * @param {T} options
65 * @returns {Promise<WorkerResult>}
66 */
67export function squooshMinify<T>(
68 original: WorkerResult,
69 options: T
70): Promise<WorkerResult>;
71/**
72 * @template T
73 * @param {WorkerResult} original
74 * @param {T} minifyOptions
75 * @returns {Promise<WorkerResult>}
76 */
77export function squooshGenerate<T>(
78 original: WorkerResult,
79 minifyOptions: T
80): Promise<WorkerResult>;