parsePath function
Parses the path string into a list of keys and indices.
Implementation
List<dynamic> parsePath(String path) {
final segments = <dynamic>[];
final regex = RegExp(r'(\w+)|\[(\d+)\]');
final matches = regex.allMatches(path);
for (var match in matches) {
if (match.group(1) != null) {
segments.add(match.group(1));
} else if (match.group(2) != null) {
segments.add(int.parse(match.group(2)!));
}
}
return segments;
}