matchSegments method

Map<String, String>? matchSegments(
  1. List<String> segments
)

Matches already decoded URI segments without reparsing them.

Implementation

Map<String, String>? matchSegments(List<String> segments) {
  if (_segments.length != segments.length) return null;
  final values = <String, String>{};
  for (var i = 0; i < segments.length; i++) {
    final pattern = _segments[i];
    if (pattern.startsWith(':')) {
      if (segments[i].isEmpty) return null;
      values[pattern.substring(1)] = segments[i];
    } else if (pattern != segments[i]) {
      return null;
    }
  }
  return values;
}