Amount.fromItems constructor

Amount.fromItems(
  1. List<ProductItem> items, {
  2. String shipping = "0",
  3. num shippingDiscount = 0,
})

Implementation

factory Amount.fromItems(
  List<ProductItem> items, {
  String shipping = "0",
  num shippingDiscount = 0,
}) {
  final subtotal = items.fold<double>(
    0,
    (sum, item) => sum + item.totalPrice,
  );
  return Amount(
    total: (subtotal + double.parse(shipping) - shippingDiscount)
        .toStringAsFixed(2),
    currency: items.isNotEmpty ? items.first.currency : "USD",
    details: Details(
      subtotal: subtotal.toStringAsFixed(2),
      shipping: shipping,
      shippingDiscount: shippingDiscount,
    ),
  );
}