InvoiceItemInput constructor

const InvoiceItemInput({
  1. required String description,
  2. required num quantity,
  3. num? unitPriceCents,
  4. num? unitPriceMicros,
  5. required num vatRate,
  6. String? subtitle,
  7. String? unit,
  8. String? kind,
  9. num? discountPct,
})

Genau eines von unitPriceCents und unitPriceMicros (§ 9.1). Der assert fängt den Irrtum schon im Debug-Lauf; der Server weist ihn sonst als validation mit Feldpfad ab.

Implementation

const InvoiceItemInput({
  required this.description,
  required this.quantity,
  this.unitPriceCents,
  this.unitPriceMicros,
  required this.vatRate,
  this.subtitle,
  this.unit,
  this.kind,
  this.discountPct,
}) : assert(
        (unitPriceCents == null) != (unitPriceMicros == null),
        'Genau eines von unitPriceCents und unitPriceMicros angeben (§ 9.1).',
      );