WebPredictionResult constructor

WebPredictionResult({
  1. required String id,
  2. required String scientificName,
  3. required Map<String, double> probabilities,
  4. required String modelId,
  5. required double confidence,
  6. String? imageUrlSpecies,
})

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');