toDocument method

RouteDocument toDocument({
  1. MdcHtmlRenderer? renderer,
  2. Uri? canonicalOrigin,
})

Renders this page as a semantic route document.

Implementation

RouteDocument toDocument({MdcHtmlRenderer? renderer, Uri? canonicalOrigin}) {
  if (canonicalOrigin != null &&
      (!canonicalOrigin.hasScheme ||
          (canonicalOrigin.scheme != 'http' &&
              canonicalOrigin.scheme != 'https') ||
          canonicalOrigin.host.isEmpty ||
          canonicalOrigin.userInfo.isNotEmpty ||
          (canonicalOrigin.path.isNotEmpty && canonicalOrigin.path != '/') ||
          canonicalOrigin.hasQuery ||
          canonicalOrigin.hasFragment)) {
    throw ArgumentError.value(
      canonicalOrigin,
      'canonicalOrigin',
      'Must be an absolute HTTP(S) origin without path, query, or fragment.',
    );
  }
  return RouteDocument(
    language: language,
    title: title,
    description: description,
    canonical: canonicalOrigin?.resolveUri(location).toString(),
    body: (renderer ?? MdcHtmlRenderer()).render(content),
  );
}