lib/search/filter_kanji: init

This commit is contained in:
2025-05-22 19:45:10 +02:00
parent 0ea8331298
commit fdd15df344
2 changed files with 31 additions and 0 deletions
+23
View File
@@ -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();
}
}