Map<String, dynamic> get asMap { Map<String, dynamic> map = {}; for (MapEntry<String, Value> e in fields.entries) { map[e.key] = e.value.dartValue; } return map; }