toUrl method
integrate key value pairs into url path and create Url object
Implementation
Url<T> toUrl({Map<String,String> params = const{}, Map<String, String> query = const{}, List<String> args = const[], T? userState}) {
// check if parameters are complete
final missing = segments.whereType<_ValueSegmentTemplate>().where((s) => !params.containsKey(s.name));
if (missing.isNotEmpty){
throw StateError('missing parameters: ${missing.map((e) => e.name).toList()}');
}
return Url<T>(_toUrlPath(params), params: params, query: query, args: args, userState: userState);
}