import 'package:equatable/equatable.dart'; class SearchResultModel extends Equatable { final String isin; final String name; final String symbol; final String? image; const SearchResultModel({ required this.isin, required this.name, required this.symbol, this.image, }); factory SearchResultModel.fromJson(Map json) { return SearchResultModel( isin: json['isin']?.toString() ?? json['Isin']?.toString() ?? '', name: json['name']?.toString() ?? json['Name']?.toString() ?? '', symbol: json['symbol']?.toString() ?? json['Symbol']?.toString() ?? '', image: json['image']?.toString() ?? json['Image']?.toString(), ); } Map toJson() { return { 'isin': isin, 'name': name, 'symbol': symbol, 'image': image, }; } String get displayName => name.isNotEmpty ? name : (symbol.isNotEmpty ? symbol : isin); String get isinCode => isin.isNotEmpty ? isin : (symbol != displayName ? symbol : ''); @override List get props => [isin, name, symbol, image]; }