outputFor method

O outputFor(
  1. String path,
  2. {P? extras}
)

Open a map'd URL set using {@link #map(String, Class)} or {@link #map(String, BundleBuilder)}

path for example, "users/16" or "groups/5/topics/20" extras The {@link P} which contains the extra params to be assigned to the generated {@link O}

Implementation

O outputFor(String path, {P? extras}) {
  final params = paramsForUrl(path);
  final outputBuilder = params.outputBuilder;

  // make params copy
  final openParams = Map<String, String>.from(params.openParams);

  // add global params to path specific params
  for (final entry in _globalParams.entries) {
    if (!openParams.containsKey(entry.key)) {
      // do not override locally set keys
      openParams[entry.key] = entry.value.toString();
    }
  }

  final routeContext =
      AbstractRouteContext<P>(Map.unmodifiable(openParams), extras, path);

  return outputBuilder.outputFor(routeContext);
}