EagleLibrary.fromPath constructor
EagleLibrary.fromPath(
- String path
Implementation
factory EagleLibrary.fromPath(String path) {
// make path absolute
final absolutePath = Directory(path).absolute.path;
if (_instances.containsKey(absolutePath)) {
return _instances[absolutePath]!;
}
final x = isEagleLibrary(absolutePath);
if (x != 1) {
throw Exception('Invalid Eagle Library ($x)');
}
// create json loaded objects
final tagsRaw = File('$absolutePath/tags.json').readAsStringSync();
final savedFiltersRaw = File(
'$absolutePath/saved-filters.json',
).readAsStringSync();
final mTimeRaw = File('$absolutePath/mtime.json').readAsStringSync();
final metadataRaw = File('$absolutePath/metadata.json').readAsStringSync();
final tagsJson = jsonDecode(tagsRaw);
final savedFiltersJson = jsonDecode(savedFiltersRaw);
final mTimeJson = jsonDecode(mTimeRaw);
final metadataJson = jsonDecode(metadataRaw);
return EagleLibrary._internal(
path: absolutePath,
tags: Tags.fromJson(tagsJson),
savedFilters: SavedFilters.fromJson(savedFiltersJson),
mTime: MTime.fromJson(mTimeJson),
metadata: Metadata.fromJson(metadataJson),
);
}