in lib/src/directory_watcher/mac_os.dart [343:362]
void _onDone() {
_watchSubscription = null;
// If the directory still exists and we're still expecting bogus events,
// this is probably issue 14849 rather than a real close event. We should
// just restart the watcher.
if (!isReady && Directory(path).existsSync()) {
_startWatch();
return;
}
// FSEvents can fail to report the contents of the directory being removed
// when the directory itself is removed, so we need to manually mark the
// files as removed.
for (var file in _files.paths) {
_emitEvent(ChangeType.REMOVE, file);
}
_files.clear();
close();
}