fix: snippet fmt (#570)

This commit is contained in:
lollipopkit🏳️‍⚧️
2024-09-01 21:07:32 +08:00
committed by GitHub
parent edb49ead67
commit db9b2dd818
7 changed files with 84 additions and 53 deletions

View File

@@ -18,7 +18,7 @@ const backupFormatVersion = 1;
final _logger = Logger('Backup');
@JsonSerializable()
class Backup extends Mergeable {
class Backup implements Mergeable {
// backup format version
final int version;
final String date;
@@ -28,9 +28,9 @@ class Backup extends Mergeable {
final Map<String, dynamic> container;
final Map<String, dynamic> history;
final int? lastModTime;
final Map<String, dynamic> settings;
final Map<String, dynamic>? settings;
Backup({
const Backup({
required this.version,
required this.date,
required this.spis,
@@ -181,22 +181,25 @@ class Backup extends Mergeable {
}
// Settings
if (force) {
Stores.setting.box.putAll(settings);
} else {
final nowSettings = Stores.setting.box.keys.toSet();
final bakSettings = settings.keys.toSet();
final newSettings = bakSettings.difference(nowSettings);
final delSettings = nowSettings.difference(bakSettings);
final updateSettings = nowSettings.intersection(bakSettings);
for (final s in newSettings) {
Stores.setting.box.put(s, settings[s]);
}
for (final s in delSettings) {
Stores.setting.box.delete(s);
}
for (final s in updateSettings) {
Stores.setting.box.put(s, settings[s]);
final settings_ = settings;
if (settings_ != null) {
if (force) {
Stores.setting.box.putAll(settings_);
} else {
final nowSettings = Stores.setting.box.keys.toSet();
final bakSettings = settings_.keys.toSet();
final newSettings = bakSettings.difference(nowSettings);
final delSettings = nowSettings.difference(bakSettings);
final updateSettings = nowSettings.intersection(bakSettings);
for (final s in newSettings) {
Stores.setting.box.put(s, settings_[s]);
}
for (final s in delSettings) {
Stores.setting.box.delete(s);
}
for (final s in updateSettings) {
Stores.setting.box.put(s, settings_[s]);
}
}
}