parse static method
Implementation
static SingleColorConfig parse(
{required String name, required YamlMap data}) {
final mapData = data.value;
List<int>? resolvedRbg;
if (mapData[ConfigKey.rgb] != null) {
final splitInt = (mapData[ConfigKey.rgb].toString()).split(',');
if (splitInt.length != 3) {
throw const YamlFileHaveWrongFormat();
}
for (var value in splitInt) {
final parsed = int.tryParse(value.trim());
if (parsed == null) {
throw const YamlFileHaveWrongFormat();
}
resolvedRbg ??= [];
resolvedRbg.add(parsed);
}
}
final double? opacity =
double.tryParse(mapData[ConfigKey.opacity].toString());
final int? alpha = int.tryParse(mapData[ConfigKey.alpha].toString());
final bool? primary = mapData[ConfigKey.primary] as bool?;
return SingleColorConfig(
name: name,
hex: mapData[ConfigKey.hex] as int?,
rgb: resolvedRbg,
opacity: opacity,
alpha: alpha,
primary: primary,
);
}