url static method

String url(
  1. String name, [
  2. Map<String, dynamic>? params
])

Implementation

static String url(String name, [Map<String, dynamic>? params]) {
  RouteData routeData =
      Router()._routes.where((route) => route.name == name).first;

  if (params == null) {
    return '${env<String>('APP_URL')}/${routeData.path}';
  }

  final reg = RegExp(r'\{(\w+)\}');
  return routeData.path.replaceAllMapped(reg, (match) {
    final key = match.group(1)!;
    if (!params.containsKey(key)) {
      throw ArgumentError('Missing parameter: $key');
    }
    return '${env<String>('APP_URL')}/${params[key].toString()}';
  });
}