parsePath function

List parsePath(
  1. String path
)

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;
}