reserveName method

String reserveName(
  1. String name
)

Returns a unique version of name, which will not produce a collision within the context of this query.

Implementation

String reserveName(String name) {
  if (parent != null) {
    return parent!.reserveName(name);
  }
  // var n = _names[name] ??= 0;
  // _names[name]++;
  var n = 0;
  var nn = _names[name];
  if (nn != null) {
    n = nn;
    nn++;
    _names[name] = nn;
  } else {
    _names[name] = 0; //1;
  }
  return n == 0 ? name : '$name$n';
}