validate static method

ValidationResult validate(
  1. ByteConverter size, {
  2. ByteConverter? maxSize,
  3. ByteConverter? minSize,
  4. bool requirePositive = false,
})

Validates the result and returns a ValidationResult.

Implementation

static ValidationResult validate(
  ByteConverter size, {
  ByteConverter? maxSize,
  ByteConverter? minSize,
  bool requirePositive = false,
}) {
  final errors = <String>[];

  if (requirePositive && size.bytes <= 0) {
    errors.add('Size must be positive');
  } else if (size.bytes < 0) {
    errors.add('Size cannot be negative');
  }

  if (minSize != null && size.bytes < minSize.bytes) {
    errors.add('Size must be at least ${minSize.display.auto()}');
  }

  if (maxSize != null && size.bytes > maxSize.bytes) {
    errors.add('Size must not exceed ${maxSize.display.auto()}');
  }

  return ValidationResult(
    isValid: errors.isEmpty,
    errors: errors,
    size: size,
  );
}