extractParams method

Map<String, String> extractParams(
  1. String path
)

Extract path parameters from the given path

Implementation

Map<String, String> extractParams(String path) {
  if (pathPattern == null) return {};

  final match = pathPattern!.firstMatch(path);
  if (match == null) return {};

  final params = <String, String>{};
  final paramNames = RegExp(r':([a-zA-Z_][a-zA-Z0-9_]*)')
      .allMatches(this.path)
      .map((m) => m.group(1)!)
      .toList();

  for (int i = 0; i < paramNames.length && i + 1 < match.groupCount + 1; i++) {
    params[paramNames[i]] = match.group(i + 1)!;
  }

  return params;
}