Crate spielrs_diff

Source
Expand description

§Spielrs Diff

It is a library which compare two directories or two files asynchronously through tokio and return true in case that both are different. Useful to create watchers in the servers

§How install it

  1. add the dependency in the Cargo.toml file of the project:
spielrs_diff = "0.2"

§Example

§Dir comparation

use spielrs_diff::{dir_diff, diff::DirDiff};

#[tokio::test]
async fn should_return_true_if_both_dir_tree_are_different() {
   let diff = dir_diff(DirDiff {
       dir: "./mocks/dir_one".to_string(),
       dir_comp: "./mocks/dir_five".to_string(),
       excluding: Some(vec!["purpose".to_string()]),
       recursive_excluding: true,
   })
   .await;

   assert_eq!(diff, true);
}

§File comparation

use spielrs_diff::{file_diff, diff::FileDiff};

#[tokio::test]
async fn should_return_true_if_both_files_are_not_equal() {
    let diff = file_diff(FileDiff {
        file: "./mocks/dir_one/vlang/purpose/purpose.txt".to_string(),
        file_comp: "./mocks/dir_five/vlang/purpose/purpose.txt".to_string(),
    })
    .await;

    assert_eq!(diff, true);
}

Modules§

diff
tree

Functions§

dir_diff
Compare two directories and return true if both are different You can exclude directories or files in the comparation only from the root path of both or recursively
file_diff
Compare two files and return true if both are different