file-engine 2.0.0

Async, cross-platform file operations engine for desktop apps and developer tools: copy, move, sync, watch, and compress files with progress reporting and cancellation.
Documentation
#[cfg(feature = "compress")]
mod compress;
#[cfg(feature = "operations")]
mod copy;
#[cfg(feature = "sync")]
pub(crate) mod diff;
#[cfg(feature = "operations")]
mod move_path;
#[cfg(feature = "operations")]
pub(crate) mod pipeline;
#[cfg(feature = "sync")]
mod sync;
#[cfg(feature = "watch")]
mod watch;

/// Default worker pool size: `available_parallelism()` — falls back to 1
/// if the platform can't report it.
#[cfg(feature = "operations")]
pub(crate) fn default_concurrency() -> usize {
    std::thread::available_parallelism()
        .map(|n| n.get())
        .unwrap_or(1)
}

#[cfg(feature = "compress")]
pub use compress::{CompressBuilder, CompressFormat};
#[cfg(feature = "operations")]
pub use copy::CopyBuilder;
#[cfg(feature = "operations")]
pub use move_path::MoveBuilder;
#[cfg(feature = "sync")]
pub use sync::{SyncBuilder, SyncOutcome};
#[cfg(feature = "watch")]
pub use watch::WatchBuilder;