From 2dbba75d43f767a3d8b8896c2cbda693751e87c9 Mon Sep 17 00:00:00 2001 From: Julian Date: Thu, 3 Sep 2026 09:59:35 -0600 Subject: [PATCH] =?UTF-8?q?docs=20say=20return=20type=20is=20string=20or?= =?UTF-8?q?=20null=20but=20ints=20get=20returned=20sometimes=20?= =?UTF-8?q?=F0=9F=A4=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../exchange/lets_exchange/models/coin_info.dart | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/lib/services/exchange/lets_exchange/models/coin_info.dart b/lib/services/exchange/lets_exchange/models/coin_info.dart index dd19ed5f9..db1098a49 100644 --- a/lib/services/exchange/lets_exchange/models/coin_info.dart +++ b/lib/services/exchange/lets_exchange/models/coin_info.dart @@ -27,7 +27,17 @@ class CoinInfo { factory CoinInfo.fromJson(Map json) { final rawProfit = json["profit"] as String?; - final rawExpiredAt = json["rate_id_expired_at"] as int?; + + final rawExpiredAt = json["rate_id_expired_at"] is int + ? json["rate_id_expired_at"] as int + : json["rate_id_expired_at"] is String + ? int.tryParse(json["rate_id_expired_at"] as String) + : null; + + final expiredAt = rawExpiredAt == null + ? null + : DateTime.fromMillisecondsSinceEpoch(rawExpiredAt); + return CoinInfo( minAmount: Decimal.parse(json["min_amount"] as String), maxAmount: Decimal.parse(json["max_amount"] as String), @@ -36,9 +46,7 @@ class CoinInfo { profit: rawProfit == null ? null : Decimal.tryParse(rawProfit), withdrawalFee: Decimal.parse(json["withdrawal_fee"] as String), rateId: json["rate_id"] as String?, - rateIdExpiredAt: rawExpiredAt == null - ? null - : DateTime.fromMillisecondsSinceEpoch(rawExpiredAt), + rateIdExpiredAt: expiredAt, ); }