WebPredictionResult constructor
Creates a new WebPredictionResult instance.
All required parameters must be provided to ensure complete prediction information is available.
Throws ArgumentError if validation fails.
Implementation
WebPredictionResult({
required this.id,
required this.scientificName,
required this.probabilities,
required this.modelId,
required this.confidence,
this.imageUrlSpecies,
}) : assert(id.isNotEmpty, 'Prediction ID cannot be empty'),
assert(scientificName.isNotEmpty, 'Scientific name cannot be empty'),
assert(modelId.isNotEmpty, 'Model ID cannot be empty'),
assert(confidence >= 0.0 && confidence <= 1.0,
'Confidence must be between 0.0 and 1.0'),
assert(probabilities.isNotEmpty, 'Probabilities cannot be empty'),
assert(_validateProbabilities(probabilities),
'Probabilities must sum to approximately 1.0');