Crate spielrs_diff[][src]

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