search method

Stream<UserContent> search(
  1. String query, {
  2. Sort sort = Sort.relevance,
  3. SearchSyntax syntax = SearchSyntax.lucene,
  4. TimeFilter timeFilter = TimeFilter.all,
  5. Map<String, String>? params,
})

Returns a Stream of UserContent that match query.

query is the query string to be searched for. sort can be one of: relevance, hot, top, new, comments. syntax can be one of: 'cloudsearch', 'lucene', 'plain'. timeFilter can be one of: all, day, hour, month, week, year.

Implementation

Stream<UserContent> search(String query,
    {Sort sort = Sort.relevance,
    SearchSyntax syntax = SearchSyntax.lucene,
    TimeFilter timeFilter = TimeFilter.all,
    Map<String, String>? params}) {
  final timeStr = timeFilterToString(timeFilter);
  final isNotAll = !(_name.toLowerCase() == 'all');
  final data = (params != null)
      ? Map<String, String>.from(params)
      : <String, String>{};
  data['q'] = query;
  data['restrict_sr'] = isNotAll.toString();
  data['sort'] = sortToString(sort);
  data['syntax'] = searchSyntaxToString(syntax);
  data['t'] = timeStr;
  return ListingGenerator.createBasicGenerator(reddit,
      apiPath['search'].replaceAll(SubredditRef._subredditRegExp, _name),
      params: data);
}