getValue method
Implementation
Object? getValue(int index, {int? subfieldInfo, String? subfieldName}) {
if (index >= values.length || index < 0) {
return null;
}
Subfield? subfield;
if (subfieldInfo != null) {
subfield = getSubfieldByIndex(subfieldInfo);
} else if (subfieldName != null) {
subfield = getSubfieldByName(subfieldName);
}
double s, o;
if (subfield == null) {
s = scale;
o = offset;
} else {
s = subfield.scale;
o = subfield.offset;
}
Object? value = values[index];
if (value == null) return null;
if (isNumeric()) {
int baseTypeNum = type & Fit.baseTypeNumMask;
var invalid = Fit.baseType[baseTypeNum].invalidValue;
if (value == invalid) {
return null;
}
if (value is num && (s != 1.0 || o != 0.0)) {
return (value.toDouble() / s) - o;
}
}
return value;
}