validate method
Implementation
ChartJsonOptionValueValidation validate(
Object? candidate, {
String? canonicalField,
}) {
final valid = switch (kind) {
'boolean' => candidate is bool,
'dataMode' => candidate is String && _dataModeValues.contains(candidate),
'nonNegativeInteger' => _isInteger(candidate) && (candidate as num) >= 0,
'positiveInteger' => _isInteger(candidate) && (candidate as num) > 0,
'preset' => candidate is String && _presetValues.contains(candidate),
'string' => candidate is String,
'unitRatio' =>
candidate is num &&
candidate.isFinite &&
candidate >= 0 &&
candidate <= 1,
_ => true,
};
return ChartJsonOptionValueValidation(
canonicalField: canonicalField,
kind: kind,
value: candidate,
isValid: valid,
message: valid ? null : _invalidMessage(kind, canonicalField),
);
}