generateOwnerPathFromArray static method

Map<String, String> generateOwnerPathFromArray(
  1. List<String> ownerPath
)

Implementation

static Map<String, String> generateOwnerPathFromArray(
    List<String> ownerPath) {
  final List<List<String>> pairs = [];
  // Users/userid/Entries/entryId (6 /2 = 3) 0,1,2
  // 0/1 2/3 4/5
  for (var i = 0; i < ownerPath.length / 2; i += 1) {
    final List<String> pair = [];
    pair.add(ownerPath[i * 2]);
    if ((i * 2) + 1 < ownerPath.length) {
      pair.add(ownerPath[i * 2 + 1]);
    }
    pairs.add(pair);
  }

  final Map<String, String> result = {};
  String prevKey = '';
  pairs.forEachIndexed((index, pair) {
    result[prevKey + pair[0]] = pair.length == 1 ? '' : pair[1];
    prevKey = '${pair[0]}>';
  });
  return result;
}