34 lines
No EOL
728 B
Dart
34 lines
No EOL
728 B
Dart
|
|
class AssetDiff {
|
|
final String hash;
|
|
final int bytes;
|
|
final Diff state;
|
|
final bool isUploaded;
|
|
|
|
const AssetDiff({required this.hash, required this.bytes, required this.state, required this.isUploaded});
|
|
|
|
factory AssetDiff.fromMap(Map map) {
|
|
return AssetDiff(
|
|
hash: map["hash"],
|
|
bytes: map["bytes"],
|
|
state: Diff.fromInt(map["state"]),
|
|
isUploaded: map["isUploaded"],
|
|
);
|
|
}
|
|
}
|
|
|
|
enum Diff {
|
|
added,
|
|
unchanged,
|
|
removed;
|
|
|
|
factory Diff.fromInt(int? idx) {
|
|
return Diff.values[idx ?? 1];
|
|
}
|
|
|
|
factory Diff.fromString(String? text) {
|
|
return Diff.values.firstWhere((element) => element.name.toLowerCase() == text?.toLowerCase(),
|
|
orElse: () => Diff.unchanged,
|
|
);
|
|
}
|
|
} |