-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathindex.d.ts
90 lines (66 loc) · 1.33 KB
/
index.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
export type Options = {
/**
Favor accuracy over speed.
@default false
*/
readonly accurate?: boolean;
/**
Set a quality preset.
@default 'medium'
*/
readonly quality?: 'low' | 'medium' | 'high' | 'veryhigh';
/**
Set [comparison method](https://github.com/danielgtaylor/jpeg-archive#image-comparison-metrics).
@default 'ssim'
*/
readonly method?: 'mpe' | 'ssim' | 'ms-ssim' | 'smallfry';
/**
Set target quality.
@default 0.999
*/
readonly target?: number;
/**
Minimum JPEG quality.
@default 40
*/
readonly min?: number;
/**
Maximum JPEG quality.
@default 95
*/
readonly max?: number;
/**
Set the number of attempts.
@default 6
*/
readonly loops?: number;
/**
Set defish strength.
@default 0
*/
readonly defish?: number;
/**
Enable progressive encoding.
@default true
*/
readonly progressive?: boolean;
/**
Set subsampling method. Available values: `default`, `disable`.
@default 'default'
*/
readonly subsample?: 'default' | 'disable';
/**
Strips metadata, such as EXIF data.
@default true
*/
readonly strip?: boolean;
};
/**
Buffer or stream to optimize.
*/
export type Plugin = (input: Buffer | NodeJS.ReadableStream) => Promise<Buffer>;
/**
Imagemin plugin for jpeg-recompress.
@returns An Imagemin plugin.
*/
export default function imageminJpegRecompress(options?: Options): Plugin;