lib/search/filter_kanji: init
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
import 'package:jadb/_data_ingestion/kanjidic/table_names.dart';
|
||||
import 'package:sqflite_common/sqflite.dart';
|
||||
|
||||
Future<List<String>> filterKanjiWithDbConnection(
|
||||
DatabaseExecutor connection,
|
||||
List<String> kanji,
|
||||
bool deduplicate,
|
||||
) async {
|
||||
final Set<String> filteredKanji = await connection.rawQuery(
|
||||
'''
|
||||
SELECT "literal"
|
||||
FROM "${KANJIDICTableNames.character}"
|
||||
WHERE "literal" IN (${kanji.map((_) => '?').join(',')})
|
||||
''',
|
||||
kanji,
|
||||
).then((value) => value.map((e) => e['literal'] as String).toSet());
|
||||
|
||||
if (deduplicate) {
|
||||
return filteredKanji.toList();
|
||||
} else {
|
||||
return kanji.where((k) => !filteredKanji.contains(k)).toList();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user