Money encoding/decoding
Encoding
import 'package:money2/money2.dart';
class MoneyToStringEncoder implements MoneyEncoder<String> {
@override
String encode(MoneyData data) {
// Receives MoneyData DTO and produce
// a string representation of money value...
final major = data.integerPart.toString();
final minor = data.decimalPart.toString();
return '${data.currency.isoCode} $major.${Strings.padRight(minor, 2, '0')}';
}
test('Encoding', () {
final fiveDollars = Money.parse('5.00', isoCode: 'USD');
final encoded = fiveDollars.encodedBy(MoneyToStringEncoder());
// Now we can save `encoded` to database...
expect(encoded, equals('USD 5.00'));
});
Decoding
Last updated
Was this helpful?