30 lines
677 B
Dart
30 lines
677 B
Dart
import 'package:jadb/_data_ingestion/radkfile/table_names.dart';
|
|
import 'package:sqflite_common/sqlite_api.dart';
|
|
|
|
Future<void> seedRADKFILEData(
|
|
Iterable<String> blocks,
|
|
Database db,
|
|
) async {
|
|
final b = db.batch();
|
|
|
|
for (final block in blocks) {
|
|
final String radical = block[1];
|
|
final List<String> kanjiList = block
|
|
.replaceFirst(RegExp(r'.*\n'), '')
|
|
.split('')
|
|
..removeWhere((e) => e == '' || e == '\n');
|
|
|
|
for (final kanji in kanjiList.toSet()) {
|
|
b.insert(
|
|
RADKFILETableNames.radkfile,
|
|
{
|
|
'radical': radical,
|
|
'kanji': kanji,
|
|
},
|
|
);
|
|
}
|
|
}
|
|
|
|
await b.commit(noResult: true);
|
|
}
|