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,
  10. String? articleId,
})

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,
  this.articleId,
}) : assert(
        (unitPriceCents == null) != (unitPriceMicros == null),
        'Genau eines von unitPriceCents und unitPriceMicros angeben (§ 9.1).',
      );