allocate method

String allocate([
  1. String name = ''
])

Implementation

String allocate([String name = '']) {
  var id = _names[name];
  id ??= 0;
  var id2 = id;
  var result = '';
  final endsWithDigit =
      name.isNotEmpty && isDigit(name.codeUnitAt(name.length - 1));
  while (true) {
    result = endsWithDigit ? '$prefix${name}_$id' : '$prefix$name$id';
    if (_inUse.add(result)) {
      break;
    }

    id2++;
  }

  _names[name] = id2 + 1;
  return result;
}