toMap method

  1. @override
Map<String, dynamic> toMap()
override

Convert this schema to a map (without @context). Subclasses must implement this.

Implementation

@override
Map<String, dynamic> toMap() {
  final map = <String, dynamic>{
    '@type': 'WebSite',
    'name': name,
    'url': url,
    if (description != null) 'description': description,
    if (alternateName != null) 'alternateName': alternateName,
    if (inLanguage != null) 'inLanguage': inLanguage,
  };

  if (enableSiteSearch && searchUrlTemplate != null) {
    map['potentialAction'] = {
      '@type': 'SearchAction',
      'target': {'@type': 'EntryPoint', 'urlTemplate': searchUrlTemplate},
      'query-input': 'required name=search_term_string',
    };
  }

  return map;
}