deriveRepeatableArrayPath method
Derive the nested array path for a repeatable field name
Example: "property_details0.data.floor_details{index}.floor_name" -> "property_details.0.data.floor_details"
Implementation
String? deriveRepeatableArrayPath(String fieldName) {
if (fieldName.isEmpty) return null;
final parts = fieldName.split('.');
final pathParts = <String>[];
for (final part in parts) {
// If we reached the segment that contains the repeatable marker [{index}]
if (part.contains('[{index}]')) {
final key = part.split('[')[0];
if (key.isNotEmpty) pathParts.add(key);
break;
}
// Handle concrete array indices like key[0]
if (part.contains('[')) {
final bracketIdx = part.indexOf('[');
final key = part.substring(0, bracketIdx);
final idx = part.substring(
bracketIdx + 1, part.length - 1); // number between [ ]
if (key.isNotEmpty) pathParts.add(key);
if (idx.isNotEmpty) pathParts.add(idx);
} else {
pathParts.add(part);
}
}
if (pathParts.isEmpty) return null;
return pathParts.join('.');
}