generateRoute static method

String generateRoute(
  1. String path, {
  2. Map<String, String>? pathParams,
  3. Map<String, String>? queryParams,
})

helper to generate Url from the path combined with pathParams and queryParams

Implementation

static String generateRoute(String path,
    {Map<String, String>? pathParams, Map<String, String>? queryParams}) {
  pathParams ??= {};
  queryParams ??= {};
  String _path = path;
  for (final key in pathParams.keys) {
    _path = _path.replaceFirst(':$key', pathParams[key] ?? '');
  }
  final sb = StringBuffer();
  for (final key in queryParams.keys) {
    sb.write('$key=${queryParams[key]}');
    if (key != queryParams.keys.last) {
      sb.write('&');
    }
  }
  if (sb.isNotEmpty) {
    return '$_path?${sb.toString()}';
  }
  return _path;
}