encodeSnapshot function
snapshot as its file: one entry per line, sorted by key.
Implementation
String encodeSnapshot(Map<String, String> snapshot) {
final keys = snapshot.keys.toList()..sort();
if (keys.isEmpty) return '{}\n';
final lines = [for (final k in keys) ' ${jsonEncode(k)}: ${snapshot[k]}'];
return '{\n${lines.join(',\n')}\n}\n';
}