withGeneratedRouteUriExtras<T extends Object> function
T
withGeneratedRouteUriExtras<T extends Object>()
Stores unknown query parameters and fragments on a parsed generated route.
Implementation
T withGeneratedRouteUriExtras<T extends Object>(
T route,
Uri uri,
Set<String> knownQueryParameters,
) {
final queryParameters = <String, List<String>>{};
for (final entry in uri.queryParametersAll.entries) {
if (!knownQueryParameters.contains(entry.key)) {
queryParameters[entry.key] = List.unmodifiable(entry.value);
}
}
if (queryParameters.isEmpty && uri.fragment.isEmpty) return route;
_generatedRouteUriExtras[route] = GeneratedRouteUriExtras(
queryParameters: Map.unmodifiable(queryParameters),
fragment: uri.fragment,
);
return route;
}