factory ErrorInfo.fromJson(Map<String, dynamic> json) { return ErrorInfo( reason: json['reason'] ?? '', domain: json['domain'] ?? '', metadata: decodeMap(json['metadata']) ?? {}, ); }