ui_build_compression/lib.rs
1use futures::executor;
2
3use crate::compress::compressor::Compressor;
4
5mod compress;
6mod concurrency;
7mod logger;
8
9/// Recursively compresses all files in the specified directory using gzip, brotli, deflate, and zstandard.
10///
11/// 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.
12///
13/// #### Arguments
14/// * `directory` - An absolute path to a directory to compress
15///
16/// # Examples
17///
18/// ```
19/// // Code in documentation blocks is compiled and run as a test by rustdoc.
20/// use ui_build_compression::compress;
21///
22/// compress("/path/to/my/directory");
23/// ```
24pub fn compress(directory: &str) {
25 executor::block_on(Compressor::new(directory.to_string()).compress());
26}