loadEvents method
Future<List<Nip01Event> >
loadEvents({
- List<
String> ? ids, - List<
String> ? pubKeys, - List<
int> ? kinds, - Map<
String, List< ? tags,String> > - int? since,
- int? until,
- String? search,
- int? limit,
override
Load visible events from cache with flexible filtering.
Parameters:
ids: event idspubKeys: author pubkeyskinds: event kindstags: tag filters, e.g.{'p': ['pubkey1'], 'e': ['eventid1']}since/until: created_at boundssearch: content search stringlimit: maximum number of returned events
Visibility rules apply here:
- only the latest visible replaceable/addressable winner is returned
- expired events are filtered out
- author-deleted events are filtered out
Implementation
@override
Future<List<Nip01Event>> loadEvents({
List<String>? ids,
List<String>? pubKeys,
List<int>? kinds,
Map<String, List<String>>? tags,
int? since,
int? until,
String? search,
int? limit,
}) async {
final candidates = await _loadRawEvents(
ids: ids,
pubKeys: pubKeys,
kinds: kinds,
tags: tags,
since: since,
until: until,
search: search,
);
var events = await _visibility.filterVisible(candidates);
events.sort((a, b) => b.createdAt.compareTo(a.createdAt));
if (limit != null && limit > 0 && events.length > limit) {
events = events.take(limit).toList();
}
return events;
}