Refactor preferences

This commit is contained in:
problematicconsumer
2024-03-02 22:53:14 +03:30
parent 201ea5e88d
commit 2a994dc348
32 changed files with 1104 additions and 1389 deletions

View File

@@ -16,9 +16,9 @@ class OptionalRange with OptionalRangeMappable {
String present(TranslationsEn t) =>
format().isEmpty ? t.general.notSet : format();
factory OptionalRange._fromString(
factory OptionalRange.parse(
String input, {
bool allowEmpty = true,
bool allowEmpty = false,
}) =>
switch (input.split("-")) {
[final String val] when val.isEmpty && allowEmpty =>
@@ -36,7 +36,7 @@ class OptionalRange with OptionalRangeMappable {
bool allowEmpty = false,
}) {
try {
return OptionalRange._fromString(input);
return OptionalRange.parse(input, allowEmpty: allowEmpty);
} catch (_) {
return null;
}
@@ -48,7 +48,8 @@ class OptionalRangeJsonConverter
const OptionalRangeJsonConverter();
@override
OptionalRange fromJson(String json) => OptionalRange._fromString(json);
OptionalRange fromJson(String json) =>
OptionalRange.parse(json, allowEmpty: true);
@override
String toJson(OptionalRange object) => object.format();