Map<String, dynamic> toJson() { return {for (final entry in fields.entries) entry.key: _encodeRecordValue(entry.value)}; }