diff --git a/lib/search.dart b/lib/search.dart index 7b0a6da..ff4719d 100644 --- a/lib/search.dart +++ b/lib/search.dart @@ -18,12 +18,12 @@ extension JaDBConnection on DatabaseExecutor { searchKanjiWithDbConnection(this, kanji); /// Search for a kanji in the database. - Future> jadbGetManyKanji(Set kanji) => + Future> jadbGetManyKanji(Iterable kanji) => searchManyKanjiWithDbConnection(this, kanji); /// Filter a list of characters, and return the ones that are listed in the kanji dictionary. Future> filterKanji( - List kanji, { + Iterable kanji, { bool deduplicate = false, }) => filterKanjiWithDbConnection(this, kanji, deduplicate); diff --git a/lib/search/filter_kanji.dart b/lib/search/filter_kanji.dart index 95a0db8..4c46dd0 100644 --- a/lib/search/filter_kanji.dart +++ b/lib/search/filter_kanji.dart @@ -6,7 +6,7 @@ import 'package:sqflite_common/sqflite.dart'; /// If [deduplicate] is true, the returned list will deduplicate the input kanji list before returning the filtered results. Future> filterKanjiWithDbConnection( DatabaseExecutor connection, - List kanji, + Iterable kanji, bool deduplicate, ) async { final Set filteredKanji = await connection @@ -14,7 +14,7 @@ Future> filterKanjiWithDbConnection( SELECT "literal" FROM "${KANJIDICTableNames.character}" WHERE "literal" IN (${kanji.map((_) => '?').join(',')}) - ''', kanji) + ''', kanji.toList()) .then((value) => value.map((e) => e['literal'] as String).toSet()); if (deduplicate) { diff --git a/lib/search/kanji_search.dart b/lib/search/kanji_search.dart index 956ca0e..9ac4d66 100644 --- a/lib/search/kanji_search.dart +++ b/lib/search/kanji_search.dart @@ -274,7 +274,7 @@ Future searchKanjiWithDbConnection( /// Searches for multiple kanji at once, returning a map of kanji to their search results. Future> searchManyKanjiWithDbConnection( DatabaseExecutor connection, - Set kanji, + Iterable kanji, ) async { if (kanji.isEmpty) { return {};