parseBindTags function

BindTags parseBindTags(
  1. Iterable<String> tags
)

Reads tracera-id-‹id› and optional tracera-name-‹name› from runner tags.

A leading @ is accepted so Gherkin-style tags still parse if a future runner reuses this helper.

Implementation

BindTags parseBindTags(Iterable<String> tags) {
  var id = 0;
  String? name;
  for (final raw in tags) {
    var tag = raw.trim();
    if (tag.startsWith('@')) tag = tag.substring(1).trim();
    if (tag.startsWith(bindIdPrefix)) {
      final parsed = int.tryParse(tag.substring(bindIdPrefix.length));
      if (parsed != null && parsed > 0) id = parsed;
    } else if (tag.startsWith(bindNamePrefix)) {
      final value = tag.substring(bindNamePrefix.length);
      if (value.isNotEmpty) name = value;
    }
  }
  return BindTags(id, name);
}