getUserdefMetaList static method
Build the list of <USERDEF> from the given QSOs.
Implementation
static List<UserdefMeta> getUserdefMetaList(List<Qso> data) {
List<UserdefMeta> result = [];
for (var qso in data) {
for (var userDefinedField in qso.userdefs) {
// Add to the list if not exists.
if (result.getByName(userDefinedField.fieldName) == null) {
// Get the enums.
final List<String>? enums =
userDefinedField.value.getType() == 'E'
? (userDefinedField.value as AdifEnumeration).enumerations
: null;
// Get the range.
final (double min, double max)? range =
userDefinedField.value is AdifRange
? (userDefinedField.value as AdifRange).range
: null;
result.add(
UserdefMeta(
userDefinedField.fieldName,
userDefinedField.value.getType(),
enums: enums,
range: range,
),
);
}
}
}
return result;
}