iterEntries method
Iterate through all entries in the library
Implementation
Iterable<EagleEntry> iterEntries() sync* {
final imagesDir = Directory('$path/images');
if (!imagesDir.existsSync()) {
return;
}
// Get all .info directories which contain entry metadata
final entryDirs = imagesDir
.listSync()
.where((entity) => entity is Directory && entity.path.endsWith('.info'))
.cast<Directory>();
for (final dir in entryDirs) {
try {
// Use basename to get just the directory name
final dirName = dir.path.split(Platform.pathSeparator).last;
final entryId = dirName.replaceAll('.info', '');
final entry = getEntry(entryId);
if (entry != null) {
yield entry;
}
} catch (e) {
// Skip invalid entries
continue;
}
}
}