search method
Stream<UserContent>
search(
- String query, {
- Sort sort = Sort.relevance,
- SearchSyntax syntax = SearchSyntax.lucene,
- TimeFilter timeFilter = TimeFilter.all,
- 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);
}