regexpToRegexp function

RegExp regexpToRegexp({
  1. required RegExp path,
  2. List<Key>? keys,
})

Implementation

RegExp regexpToRegexp({required RegExp path, List<Key>? keys}) {
  if (keys == null) {
    return path;
  }

  final groupsRegex = RegExp(r'/\((?:\?<(.*?)>)?(?!\?)/g');

  int index = 0;
  final matchResults = groupsRegex.allMatches(path.pattern);

  for (final match in matchResults) {
    keys.add(Key(
        name: match[1] ?? index++,
        prefix: '',
        suffix: '',
        modifier: '',
        pattern: ''));
  }

  return path;
}