searchMetadatas method
Search for metadata by name, nip05
Implementation
@override
Future<Iterable<Metadata>> searchMetadatas(String search, int limit) async {
// Use a Set to track unique Metadata objects
final Set<Metadata> uniqueResults = {};
for (final metadata in metadatas.values) {
if ((metadata.name != null && metadata.name!.contains(search)) ||
(metadata.nip05 != null && metadata.nip05!.contains(search))) {
uniqueResults.add(metadata);
}
}
// Convert to list, sort by updatedAt, and take the limit
final sortedResults = uniqueResults.toList()
..sort((a, b) => (b.updatedAt ?? 0).compareTo(a.updatedAt ?? 0));
return sortedResults.take(limit);
}