ui_build_compression/lib.rs
1use futures::executor;
2
3use crate::compress::compressor::Compressor;
4
5mod compress;
6mod logger;
7
8/// Recursively compresses all files in the specified directory using gzip, brotli, deflate, and zstandard.
9///
10/// Produces compressed file variants along side the original files in the directory. Compression takes place inside of a pool of threads to maximize concurrency on the executing machine.
11///
12/// #### Arguments
13/// * `directory` - An absolute path to a directory to compress
14///
15/// # Examples
16///
17/// ```
18/// use ui_build_compression::compress;
19///
20/// compress("/path/to/my/directory");
21/// ```
22pub fn compress(directory: &str) {
23 executor::block_on(Compressor::new(directory.to_string()).compress());
24}