BarcodeResult.fromJson constructor

BarcodeResult.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory BarcodeResult.fromJson(Map<String, dynamic> json) {
  Rect? box;
  if (json['boundingBox'] != null && json['boundingBox'] is Map) {
    final b = json['boundingBox'] as Map<String, dynamic>;
    box = Rect.fromLTWH(
      (b['left'] as num).toDouble(),
      (b['top'] as num).toDouble(),
      (b['width'] as num).toDouble(),
      (b['height'] as num).toDouble(),
    );
  }

  List<Offset>? points;
  if (json['corners'] != null && json['corners'] is List) {
    points = (json['corners'] as List)
        .map((c) {
          final m = c as Map<String, dynamic>;
          return Offset(
            (m['x'] as num).toDouble(),
            (m['y'] as num).toDouble(),
          );
        })
        .toList();
  }

  return BarcodeResult(
    format: json['format'] as String? ?? 'UNKNOWN',
    rawValue: json['rawValue'] as String? ?? '',
    displayValue: json['displayValue'] as String?,
    boundingBox: box,
    corners: points,
  );
}