refactor of money utils with new money2 package
This commit is contained in:
@@ -1,17 +1,20 @@
|
||||
import 'package:money2/money2.dart';
|
||||
|
||||
import 'package:pshared/data/dto/money.dart';
|
||||
import 'package:pshared/models/money.dart';
|
||||
import 'package:pshared/utils/money.dart';
|
||||
|
||||
|
||||
extension MoneyMapper on Money {
|
||||
MoneyDTO toDTO() => MoneyDTO(
|
||||
amount: amount,
|
||||
currency: currency,
|
||||
);
|
||||
MoneyDTO toDTO() =>
|
||||
MoneyDTO(amount: toDecimal().toString(), currency: currency.isoCode);
|
||||
}
|
||||
|
||||
extension MoneyDTOMapper on MoneyDTO {
|
||||
Money toDomain() => Money(
|
||||
amount: amount,
|
||||
currency: currency,
|
||||
);
|
||||
Money toDomain() {
|
||||
final parsed = parseMoneyWithCurrencyCode(amount, currency);
|
||||
if (parsed == null) {
|
||||
throw FormatException('Invalid money dto: $currency $amount');
|
||||
}
|
||||
return parsed;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user