InappifyConsumableSyncResult.fromMap constructor

InappifyConsumableSyncResult.fromMap(
  1. Map<String, dynamic> map
)

Implementation

factory InappifyConsumableSyncResult.fromMap(Map<String, dynamic> map) {
  final discovered = _count(map['discoveredCount']);
  final completed = _count(map['completedCount']);
  final pending = map['pendingDeliveries'];
  if (completed > discovered || pending is! List) {
    throw const FormatException('Invalid consumable sync result.');
  }
  return InappifyConsumableSyncResult(
    discoveredCount: discovered,
    completedCount: completed,
    pendingDeliveries: pending.map((entry) {
      if (entry is! Map) throw const FormatException('Invalid delivery.');
      return InappifyConsumableDelivery.fromMap(
        Map<String, dynamic>.from(entry),
      );
    }).toList(),
  );
}