refactor of money utils with new money2 package

This commit is contained in:
Arseni
2026-03-13 03:17:29 +03:00
parent b4eb1437f6
commit 0091191d97
72 changed files with 453 additions and 982 deletions

View File

@@ -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;
}
}