Skip to main content

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/// // Code in documentation blocks is compiled and run as a test by rustdoc.
19/// use ui_build_compression::compress;
20///
21/// compress("/path/to/my/directory");
22/// ```
23pub fn compress(directory: &str) {
24    executor::block_on(Compressor::new(directory.to_string()).compress());
25}