UriTemplateAppPageRoute<R, P extends RouteParams> constructor

UriTemplateAppPageRoute<R, P extends RouteParams>(
  1. UriTemplate uriTemplate,
  2. WidgetHandler<R, P> handler,
  3. ParameterConverter<P>? paramConverter, {
  4. required String? name,
  5. TransitionType? transitionType,
  6. ToRouteTitle<P>? toRouteTitle,
})

Implementation

UriTemplateAppPageRoute(
  this.uriTemplate,
  WidgetHandler<R, P> handler,
  ParameterConverter<P>? paramConverter, {
  required String? name,
  TransitionType? transitionType,
  ToRouteTitle<P>? toRouteTitle,
}) : super(
        uriTemplate.template,
        handler,
        paramConverter,
        transitionType: transitionType,
        name: name,
        toRouteTitle: (params) => name ?? toRouteTitle?.call(params),
        toRouteUri: (params) {
          final rp = RouteParams.of(params ?? <String, dynamic>{});
          final map = rp.toMap();

          if (map.isNotEmpty) {
            return uriTemplate.expand(map);
          } else {
            return "$uriTemplate";
          }
        },
      );