MiniProgramQrScanResult.fromJson constructor

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

Implementation

factory MiniProgramQrScanResult.fromJson(Map<String, dynamic> json) {
  if (json['rawValue'] is! String ||
      json['format'] is! String ||
      json['valueType'] is! String ||
      json['scannedAtUtc'] is! String) {
    throw const FormatException('Invalid mini-program QR scan result.');
  }
  final scannedAtUtc = DateTime.tryParse(json['scannedAtUtc']! as String);
  if (scannedAtUtc == null) {
    throw const FormatException(
      'QR scannedAtUtc must be an ISO-8601 timestamp.',
    );
  }
  return MiniProgramQrScanResult(
    rawValue: json['rawValue']! as String,
    format: json['format']! as String,
    valueType: json['valueType']! as String,
    scannedAtUtc: scannedAtUtc,
  );
}