use std::sync::mpsc::TryRecvError;
use crate::services::file_watcher::helpers::is_relevant_event;
use crate::services::file_watcher::FileWatcher;
impl FileWatcher {
pub fn check_for_changes(&mut self) -> bool {
let mut has_changes = false;
loop {
match self.rx.try_recv() {
Ok(Ok(event)) => {
if is_relevant_event(&event) {
has_changes = true;
for path in event.paths {
if !self.changed_paths.contains(&path) {
self.changed_paths.push(path);
}
}
}
}
Ok(Err(_)) => {
}
Err(TryRecvError::Empty) => break,
Err(TryRecvError::Disconnected) => break,
}
}
has_changes
}
}