MiniProgramCameraPhotoResult.fromJson constructor

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

Implementation

factory MiniProgramCameraPhotoResult.fromJson(Map<String, dynamic> json) {
  final bytes = json['bytes'];
  final width = json['width'];
  final height = json['height'];
  final capturedAtUtc = json['capturedAtUtc'];
  if (json['captureId'] is! String ||
      json['mediaRef'] is! String ||
      json['fileName'] is! String ||
      json['mimeType'] is! String ||
      bytes is! int ||
      width is! int ||
      height is! int ||
      capturedAtUtc is! String ||
      json['source'] is! String) {
    throw const FormatException('Invalid mini-program camera result.');
  }
  final capturedAt = DateTime.tryParse(capturedAtUtc);
  if (capturedAt == null) {
    throw const FormatException(
      'Camera capturedAtUtc must be an ISO-8601 timestamp.',
    );
  }
  return MiniProgramCameraPhotoResult(
    captureId: json['captureId']! as String,
    mediaRef: json['mediaRef']! as String,
    fileName: json['fileName']! as String,
    mimeType: json['mimeType']! as String,
    bytes: bytes,
    width: width,
    height: height,
    capturedAtUtc: capturedAt,
    source: json['source']! as String,
  );
}