unflattenKeys method
Unflattens dot-separated keys into nested maps.
Implementation
@useResult
Map<String, dynamic> unflattenKeys() {
final Map<String, dynamic> out = <String, dynamic>{};
for (final MapEntry<String, dynamic> e in entries) {
final List<String> parts = e.key.split('.');
Map<String, dynamic> parentMap = out;
for (int i = 0; i < parts.length - 1; i++) {
final String part = parts[i];
final childMap = parentMap.putIfAbsent(part, () => <String, dynamic>{});
if (childMap is Map<String, dynamic>) parentMap = childMap;
}
final lastPart = parts.lastOrNull;
if (lastPart != null) parentMap[lastPart] = e.value;
}
return out;
}