diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d8c09e1..14c7d2a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,6 +15,9 @@ jobs: test: runs-on: ubuntu-latest steps: + - name: Install sqlite3 + run: sudo apt-get install -y sqlite3 libsqlite3-dev + - uses: actions/checkout@v4 - name: Flutter set up diff --git a/.gitignore b/.gitignore index 709c932..a5ab476 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,15 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ +migrate_working_dir/ + # https://dart.dev/guides/libraries/private-files # Created by `dart pub` .dart_tool/ diff --git a/lib/sagase_dictionary.dart b/lib/sagase_dictionary.dart index ce431a7..832f5b0 100644 --- a/lib/sagase_dictionary.dart +++ b/lib/sagase_dictionary.dart @@ -5,7 +5,8 @@ export 'src/database.dart'; export 'src/datamodels/dictionary_item_ids_result.dart'; export 'src/datamodels/dictionary_item.dart'; export 'src/datamodels/dictionary_list.dart'; -export 'src/datamodels/flashcard_sets.dart' show FlashcardSet; +export 'src/datamodels/flashcard_sets.dart' + show FlashcardSet, FlashcardSetReport; export 'src/datamodels/japanese_text_token.dart'; export 'src/datamodels/kanjis.dart' show Kanji, KanjiReading; export 'src/datamodels/my_dictionary_lists.dart' show MyDictionaryList; diff --git a/lib/src/dao/flashcard_sets_dao.dart b/lib/src/dao/flashcard_sets_dao.dart index 1882e73..c156f16 100644 --- a/lib/src/dao/flashcard_sets_dao.dart +++ b/lib/src/dao/flashcard_sets_dao.dart @@ -6,7 +6,7 @@ import 'package:sagase_dictionary/src/utils/string_utils.dart'; part 'flashcard_sets_dao.g.dart'; -@DriftAccessor(tables: [FlashcardSets]) +@DriftAccessor(tables: [FlashcardSets, FlashcardSetReports]) class FlashcardSetsDao extends DatabaseAccessor with _$FlashcardSetsDaoMixin { FlashcardSetsDao(super.db); @@ -35,6 +35,8 @@ class FlashcardSetsDao extends DatabaseAccessor } Future deleteFlashcardSet(FlashcardSet flashcardSet) async { + await deleteFlashcardSetReports(flashcardSet); + await (db.delete(db.flashcardSets) ..where((set) => set.id.equals(flashcardSet.id))) .go(); @@ -57,8 +59,6 @@ class FlashcardSetsDao extends DatabaseAccessor Future importBackup(String source) async { final flashcardSet = FlashcardSet.fromBackupJson(source); - flashcardSet.name = flashcardSet.name.sanitizeName(); - if (flashcardSet.name.isEmpty) flashcardSet.name = 'Flashcard set'; // Remove predefined dictionary lists that don't exist for (int i = 0; i < flashcardSet.predefinedDictionaryLists.length; i++) { @@ -79,4 +79,80 @@ class FlashcardSetsDao extends DatabaseAccessor // Add flashcard set itself await setFlashcardSet(flashcardSet); } + + Future createFlashcardSetReport( + FlashcardSet flashcardSet, + int date, + ) async { + int id = await db.into(db.flashcardSetReports).insert( + FlashcardSetReportsCompanion( + flashcardSetId: Value(flashcardSet.id), + date: Value(date), + ), + ); + + return (db.select(db.flashcardSetReports) + ..where((report) => report.id.equals(id))) + .getSingle(); + } + + Future setFlashcardSetReport( + FlashcardSetReport flashcardSetReport, + ) async { + await db + .into(db.flashcardSetReports) + .insert(flashcardSetReport, mode: InsertMode.insertOrReplace); + } + + Future getFlashcardSetReport( + FlashcardSet flashcardSet, + int date, + ) async { + return (db.select(db.flashcardSetReports) + ..where((report) => Expression.and([ + report.flashcardSetId.equals(flashcardSet.id), + report.date.equals(date), + ]))) + .getSingleOrNull(); + } + + Future getRecentFlashcardSetReport( + FlashcardSet flashcardSet, + ) async { + return (db.select(db.flashcardSetReports) + ..where((report) => report.flashcardSetId.equals(flashcardSet.id)) + ..orderBy([(report) => OrderingTerm.desc(report.date)]) + ..limit(1)) + .getSingleOrNull(); + } + + Future> getAllFlashcardSetReports() async { + return db.select(db.flashcardSetReports).get(); + } + + Future> getFlashcardSetReportRange( + FlashcardSet flashcardSet, + int startDate, + int endDate, + ) async { + return (db.select(db.flashcardSetReports) + ..where((report) => Expression.and([ + report.flashcardSetId.equals(flashcardSet.id), + report.date.isBiggerOrEqualValue(startDate), + report.date.isSmallerOrEqualValue(endDate), + ])) + ..orderBy([(report) => OrderingTerm.asc(report.date)])) + .get(); + } + + Future deleteFlashcardSetReports(FlashcardSet flashcardSet) async { + await (db.delete(db.flashcardSetReports) + ..where((report) => report.flashcardSetId.equals(flashcardSet.id))) + .go(); + } + + Future deleteAll() async { + await db.delete(db.flashcardSets).go(); + await db.delete(db.flashcardSetReports).go(); + } } diff --git a/lib/src/dao/flashcard_sets_dao.g.dart b/lib/src/dao/flashcard_sets_dao.g.dart index b38291c..7500af6 100644 --- a/lib/src/dao/flashcard_sets_dao.g.dart +++ b/lib/src/dao/flashcard_sets_dao.g.dart @@ -5,4 +5,6 @@ part of 'flashcard_sets_dao.dart'; // ignore_for_file: type=lint mixin _$FlashcardSetsDaoMixin on DatabaseAccessor { $FlashcardSetsTable get flashcardSets => attachedDatabase.flashcardSets; + $FlashcardSetReportsTable get flashcardSetReports => + attachedDatabase.flashcardSetReports; } diff --git a/lib/src/dao/kanjis_dao.dart b/lib/src/dao/kanjis_dao.dart index b8022ff..da3f67c 100644 --- a/lib/src/dao/kanjis_dao.dart +++ b/lib/src/dao/kanjis_dao.dart @@ -14,13 +14,13 @@ class KanjisDao extends DatabaseAccessor with _$KanjisDaoMixin { KanjisDao(super.db); - Future get(int id, {FrontType? frontType}) async { + Future get(int id, {FrontType? frontType}) async { final baseQuery = db.select(db.kanjis)..where((row) => row.id.equals(id)); - late Kanji kanji; + Kanji? kanji; if (frontType == null) { // Get kanji only - kanji = await baseQuery.getSingle(); + kanji = await baseQuery.getSingleOrNull(); } else { // If front type is given get that spaced repetition data too kanji = await baseQuery @@ -37,15 +37,17 @@ class KanjisDao extends DatabaseAccessor with _$KanjisDaoMixin { ..spacedRepetitionData = row.readTableOrNull(db.spacedRepetitionDatas), ) - .getSingle(); + .getSingleOrNull(); } + if (kanji == null) return null; + List onReadings = []; List kunReadings = []; List nanori = []; final readings = await (db.select(db.kanjiReadings) - ..where((reading) => reading.kanjiId.equals(kanji.id)) + ..where((reading) => reading.kanjiId.equals(kanji!.id)) ..orderBy([(reading) => OrderingTerm.asc(reading.id)])) .get(); @@ -69,7 +71,7 @@ class KanjisDao extends DatabaseAccessor with _$KanjisDaoMixin { ..nanori = nanori.isEmpty ? null : nanori; } - Future getKanji(String kanji, {FrontType? frontType}) async { + Future getKanji(String kanji, {FrontType? frontType}) async { return get(kanji.kanjiCodePoint(), frontType: frontType); } @@ -144,7 +146,8 @@ class KanjisDao extends DatabaseAccessor with _$KanjisDaoMixin { // Put the results in the same order as the input List kanjiList = []; for (final id in idList) { - kanjiList.add(kanjiMap[id]!); + final kanji = kanjiMap[id]; + if (kanji != null) kanjiList.add(kanji); } return kanjiList; @@ -231,11 +234,12 @@ class KanjisDao extends DatabaseAccessor with _$KanjisDaoMixin { } Future> search(String text) async { - final cleanedText = RegExp.escape(text).toLowerCase(); + final cleanedText = RegExp.escape(text).toLowerCase().removeDiacritics(); // If given a single kanji character return only that if (cleanedText.length == 1 && _kanaKit.isKanji(cleanedText)) { - return [await getKanji(cleanedText)]; + final kanji = await getKanji(cleanedText); + if (kanji != null) return [kanji]; } if (_kanaKit.isRomaji(cleanedText)) { diff --git a/lib/src/dao/my_dictionary_lists_dao.dart b/lib/src/dao/my_dictionary_lists_dao.dart index 45b2864..09ac811 100644 --- a/lib/src/dao/my_dictionary_lists_dao.dart +++ b/lib/src/dao/my_dictionary_lists_dao.dart @@ -9,7 +9,7 @@ import 'package:sagase_dictionary/src/utils/string_utils.dart'; part 'my_dictionary_lists_dao.g.dart'; -@DriftAccessor(tables: [MyDictionaryLists]) +@DriftAccessor(tables: [MyDictionaryLists, MyDictionaryListItems]) class MyDictionaryListsDao extends DatabaseAccessor with _$MyDictionaryListsDaoMixin { MyDictionaryListsDao(super.db); @@ -242,6 +242,15 @@ class MyDictionaryListsDao extends DatabaseAccessor for (final kanji in kanjiList.reversed) { await addDictionaryItem(dictionaryList, kanji); } + + // Set original timestamp + await (db.update(db.myDictionaryLists) + ..where((list) => list.id.equals(dictionaryList.id))) + .write( + MyDictionaryListsCompanion( + timestamp: Value(dictionaryList.timestamp), + ), + ); } Future importShare(String source) async { @@ -274,4 +283,9 @@ class MyDictionaryListsDao extends DatabaseAccessor return myList; }); } + + Future deleteAll() async { + await db.delete(db.myDictionaryLists).go(); + await db.delete(db.myDictionaryListItems).go(); + } } diff --git a/lib/src/dao/my_dictionary_lists_dao.g.dart b/lib/src/dao/my_dictionary_lists_dao.g.dart index 81f1196..6837942 100644 --- a/lib/src/dao/my_dictionary_lists_dao.g.dart +++ b/lib/src/dao/my_dictionary_lists_dao.g.dart @@ -6,4 +6,6 @@ part of 'my_dictionary_lists_dao.dart'; mixin _$MyDictionaryListsDaoMixin on DatabaseAccessor { $MyDictionaryListsTable get myDictionaryLists => attachedDatabase.myDictionaryLists; + $MyDictionaryListItemsTable get myDictionaryListItems => + attachedDatabase.myDictionaryListItems; } diff --git a/lib/src/dao/spaced_repetition_datas_dao.dart b/lib/src/dao/spaced_repetition_datas_dao.dart index 1e0c3e3..10c6ca0 100644 --- a/lib/src/dao/spaced_repetition_datas_dao.dart +++ b/lib/src/dao/spaced_repetition_datas_dao.dart @@ -35,4 +35,8 @@ class SpacedRepetitionDatasDao extends DatabaseAccessor Future> getAll() async { return db.select(db.spacedRepetitionDatas).get(); } + + Future deleteAll() async { + await db.delete(db.spacedRepetitionDatas).go(); + } } diff --git a/lib/src/dao/text_analysis_history_items_dao.dart b/lib/src/dao/text_analysis_history_items_dao.dart new file mode 100644 index 0000000..234762c --- /dev/null +++ b/lib/src/dao/text_analysis_history_items_dao.dart @@ -0,0 +1,48 @@ +import 'package:drift/drift.dart'; +import 'package:sagase_dictionary/src/database.dart'; +import 'package:sagase_dictionary/src/datamodels/text_analysis_history_items.dart'; + +part 'text_analysis_history_items_dao.g.dart'; + +@DriftAccessor(tables: [TextAnalysisHistoryItems]) +class TextAnalysisHistoryItemsDao extends DatabaseAccessor + with _$TextAnalysisHistoryItemsDaoMixin { + TextAnalysisHistoryItemsDao(super.db); + + Future create(String analysisText) async { + int id = await db.into(db.textAnalysisHistoryItems).insert( + TextAnalysisHistoryItemsCompanion(analysisText: Value(analysisText))); + + return (db.select(db.textAnalysisHistoryItems) + ..where((item) => item.id.equals(id))) + .getSingle(); + } + + Future set(TextAnalysisHistoryItem textAnalysisHistoryItem) async { + await db.into(db.textAnalysisHistoryItems).insert( + textAnalysisHistoryItem.toCompanion(true), + mode: InsertMode.insertOrReplace, + ); + } + + Future> getAll() async { + // TODO maybe remove old items? + + return (db.select(db.textAnalysisHistoryItems) + ..orderBy([(item) => OrderingTerm.desc(item.id)]) + ..limit(50)) + .get(); + } + + Future deleteItem( + TextAnalysisHistoryItem textAnalysisHistoryItem, + ) async { + await (db.delete(db.textAnalysisHistoryItems) + ..where((item) => item.id.equals(textAnalysisHistoryItem.id))) + .go(); + } + + Future deleteAll() async { + await db.textAnalysisHistoryItems.deleteAll(); + } +} diff --git a/lib/src/dao/text_analysis_history_items_dao.g.dart b/lib/src/dao/text_analysis_history_items_dao.g.dart new file mode 100644 index 0000000..f7747f9 --- /dev/null +++ b/lib/src/dao/text_analysis_history_items_dao.g.dart @@ -0,0 +1,9 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'text_analysis_history_items_dao.dart'; + +// ignore_for_file: type=lint +mixin _$TextAnalysisHistoryItemsDaoMixin on DatabaseAccessor { + $TextAnalysisHistoryItemsTable get textAnalysisHistoryItems => + attachedDatabase.textAnalysisHistoryItems; +} diff --git a/lib/src/dao/vocabs_dao.dart b/lib/src/dao/vocabs_dao.dart index ec7e99c..59108f7 100644 --- a/lib/src/dao/vocabs_dao.dart +++ b/lib/src/dao/vocabs_dao.dart @@ -379,7 +379,7 @@ class VocabsDao extends DatabaseAccessor with _$VocabsDaoMixin { } Future> search(String text) async { - final cleanedText = RegExp.escape(text).toLowerCase(); + final cleanedText = RegExp.escape(text).toLowerCase().removeDiacritics(); if (_kanaKit.isRomaji(cleanedText)) { // Romaji @@ -643,7 +643,7 @@ class VocabsDao extends DatabaseAccessor with _$VocabsDaoMixin { outer: for (var vocab in vocabList) { for (int i = 0; i < vocab.definitions.length; i++) { - final definition = vocab.definitions[i].definition; + final definition = vocab.definitions[i].definition.removeDiacritics(); if (definition.contains(searchTextRegExp)) { if (i == 0) { int foundIndex = definition.indexOf(startingRegExp); diff --git a/lib/src/database.dart b/lib/src/database.dart index 8d88879..efd9a56 100644 --- a/lib/src/database.dart +++ b/lib/src/database.dart @@ -8,6 +8,7 @@ import 'package:sagase_dictionary/src/dao/proper_nouns_dao.dart'; import 'package:sagase_dictionary/src/dao/radicals_dao.dart'; import 'package:sagase_dictionary/src/dao/search_history_items_dao.dart'; import 'package:sagase_dictionary/src/dao/spaced_repetition_datas_dao.dart'; +import 'package:sagase_dictionary/src/dao/text_analysis_history_items_dao.dart'; import 'package:sagase_dictionary/src/dao/vocabs_dao.dart'; import 'package:sagase_dictionary/src/datamodels/dictionary_infos.dart'; import 'package:sagase_dictionary/src/datamodels/flashcard_sets.dart'; @@ -18,6 +19,7 @@ import 'package:sagase_dictionary/src/datamodels/proper_nouns.dart'; import 'package:sagase_dictionary/src/datamodels/radicals.dart'; import 'package:sagase_dictionary/src/datamodels/search_history_items.dart'; import 'package:sagase_dictionary/src/datamodels/spaced_repetition_datas.dart'; +import 'package:sagase_dictionary/src/datamodels/text_analysis_history_items.dart'; import 'package:sagase_dictionary/src/datamodels/vocabs.dart'; import 'package:drift/native.dart'; // Start imports required for the generated database.g.dart @@ -31,6 +33,7 @@ part 'database.g.dart'; tables: [ DictionaryInfos, FlashcardSets, + FlashcardSetReports, Kanjis, KanjiReadings, KanjiMeaningWords, @@ -42,6 +45,7 @@ part 'database.g.dart'; Radicals, SearchHistoryItems, SpacedRepetitionDatas, + TextAnalysisHistoryItems, Vocabs, VocabWritings, VocabReadings, @@ -65,6 +69,7 @@ part 'database.g.dart'; RadicalsDao, SearchHistoryItemsDao, SpacedRepetitionDatasDao, + TextAnalysisHistoryItemsDao, VocabsDao, ], ) diff --git a/lib/src/database.g.dart b/lib/src/database.g.dart index 7e4c7db..2d06f86 100644 --- a/lib/src/database.g.dart +++ b/lib/src/database.g.dart @@ -191,6 +191,18 @@ class VocabWriting extends DataClass implements Insertable { : this.writingSearchForm, info: info.present ? info.value : this.info, ); + VocabWriting copyWithCompanion(VocabWritingsCompanion data) { + return VocabWriting( + id: data.id.present ? data.id.value : this.id, + vocabId: data.vocabId.present ? data.vocabId.value : this.vocabId, + writing: data.writing.present ? data.writing.value : this.writing, + writingSearchForm: data.writingSearchForm.present + ? data.writingSearchForm.value + : this.writingSearchForm, + info: data.info.present ? data.info.value : this.info, + ); + } + @override String toString() { return (StringBuffer('VocabWriting(') @@ -623,6 +635,30 @@ class VocabReading extends DataClass implements Insertable { pitchAccents: pitchAccents.present ? pitchAccents.value : this.pitchAccents, ); + VocabReading copyWithCompanion(VocabReadingsCompanion data) { + return VocabReading( + id: data.id.present ? data.id.value : this.id, + vocabId: data.vocabId.present ? data.vocabId.value : this.vocabId, + reading: data.reading.present ? data.reading.value : this.reading, + readingSearchForm: data.readingSearchForm.present + ? data.readingSearchForm.value + : this.readingSearchForm, + readingRomaji: data.readingRomaji.present + ? data.readingRomaji.value + : this.readingRomaji, + readingRomajiSimplified: data.readingRomajiSimplified.present + ? data.readingRomajiSimplified.value + : this.readingRomajiSimplified, + associatedWritings: data.associatedWritings.present + ? data.associatedWritings.value + : this.associatedWritings, + info: data.info.present ? data.info.value : this.info, + pitchAccents: data.pitchAccents.present + ? data.pitchAccents.value + : this.pitchAccents, + ); + } + @override String toString() { return (StringBuffer('VocabReading(') @@ -1443,6 +1479,32 @@ class VocabDefinition extends DataClass implements Insertable { : this.crossReferences, antonyms: antonyms.present ? antonyms.value : this.antonyms, ); + VocabDefinition copyWithCompanion(VocabDefinitionsCompanion data) { + return VocabDefinition( + id: data.id.present ? data.id.value : this.id, + vocabId: data.vocabId.present ? data.vocabId.value : this.vocabId, + definition: + data.definition.present ? data.definition.value : this.definition, + additionalInfo: data.additionalInfo.present + ? data.additionalInfo.value + : this.additionalInfo, + pos: data.pos.present ? data.pos.value : this.pos, + appliesTo: data.appliesTo.present ? data.appliesTo.value : this.appliesTo, + fields: data.fields.present ? data.fields.value : this.fields, + miscInfo: data.miscInfo.present ? data.miscInfo.value : this.miscInfo, + dialects: data.dialects.present ? data.dialects.value : this.dialects, + examples: data.examples.present ? data.examples.value : this.examples, + languageSource: data.languageSource.present + ? data.languageSource.value + : this.languageSource, + waseieigo: data.waseieigo.present ? data.waseieigo.value : this.waseieigo, + crossReferences: data.crossReferences.present + ? data.crossReferences.value + : this.crossReferences, + antonyms: data.antonyms.present ? data.antonyms.value : this.antonyms, + ); + } + @override String toString() { return (StringBuffer('VocabDefinition(') @@ -1703,6 +1765,15 @@ class $VocabDefinitionWordsTable extends VocabDefinitionWords final GeneratedDatabase attachedDatabase; final String? _alias; $VocabDefinitionWordsTable(this.attachedDatabase, [this._alias]); + static const VerificationMeta _idMeta = const VerificationMeta('id'); + @override + late final GeneratedColumn id = GeneratedColumn( + 'id', aliasedName, false, + hasAutoIncrement: true, + type: DriftSqlType.int, + requiredDuringInsert: false, + defaultConstraints: + GeneratedColumn.constraintIsAlways('PRIMARY KEY AUTOINCREMENT')); static const VerificationMeta _wordMeta = const VerificationMeta('word'); @override late final GeneratedColumn word = GeneratedColumn( @@ -1715,7 +1786,7 @@ class $VocabDefinitionWordsTable extends VocabDefinitionWords 'vocab_id', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: true); @override - List get $columns => [word, vocabId]; + List get $columns => [id, word, vocabId]; @override String get aliasedName => _alias ?? actualTableName; @override @@ -1727,6 +1798,9 @@ class $VocabDefinitionWordsTable extends VocabDefinitionWords {bool isInserting = false}) { final context = VerificationContext(); final data = instance.toColumns(true); + if (data.containsKey('id')) { + context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); + } if (data.containsKey('word')) { context.handle( _wordMeta, word.isAcceptableOrUnknown(data['word']!, _wordMeta)); @@ -1743,11 +1817,13 @@ class $VocabDefinitionWordsTable extends VocabDefinitionWords } @override - Set get $primaryKey => const {}; + Set get $primaryKey => {id}; @override VocabDefinitionWord map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return VocabDefinitionWord( + id: attachedDatabase.typeMapping + .read(DriftSqlType.int, data['${effectivePrefix}id'])!, word: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}word'])!, vocabId: attachedDatabase.typeMapping @@ -1763,12 +1839,15 @@ class $VocabDefinitionWordsTable extends VocabDefinitionWords class VocabDefinitionWord extends DataClass implements Insertable { + final int id; final String word; final int vocabId; - const VocabDefinitionWord({required this.word, required this.vocabId}); + const VocabDefinitionWord( + {required this.id, required this.word, required this.vocabId}); @override Map toColumns(bool nullToAbsent) { final map = {}; + map['id'] = Variable(id); map['word'] = Variable(word); map['vocab_id'] = Variable(vocabId); return map; @@ -1776,6 +1855,7 @@ class VocabDefinitionWord extends DataClass VocabDefinitionWordsCompanion toCompanion(bool nullToAbsent) { return VocabDefinitionWordsCompanion( + id: Value(id), word: Value(word), vocabId: Value(vocabId), ); @@ -1785,6 +1865,7 @@ class VocabDefinitionWord extends DataClass {ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return VocabDefinitionWord( + id: serializer.fromJson(json['id']), word: serializer.fromJson(json['word']), vocabId: serializer.fromJson(json['vocabId']), ); @@ -1793,19 +1874,30 @@ class VocabDefinitionWord extends DataClass Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { + 'id': serializer.toJson(id), 'word': serializer.toJson(word), 'vocabId': serializer.toJson(vocabId), }; } - VocabDefinitionWord copyWith({String? word, int? vocabId}) => + VocabDefinitionWord copyWith({int? id, String? word, int? vocabId}) => VocabDefinitionWord( + id: id ?? this.id, word: word ?? this.word, vocabId: vocabId ?? this.vocabId, ); + VocabDefinitionWord copyWithCompanion(VocabDefinitionWordsCompanion data) { + return VocabDefinitionWord( + id: data.id.present ? data.id.value : this.id, + word: data.word.present ? data.word.value : this.word, + vocabId: data.vocabId.present ? data.vocabId.value : this.vocabId, + ); + } + @override String toString() { return (StringBuffer('VocabDefinitionWord(') + ..write('id: $id, ') ..write('word: $word, ') ..write('vocabId: $vocabId') ..write(')')) @@ -1813,73 +1905,74 @@ class VocabDefinitionWord extends DataClass } @override - int get hashCode => Object.hash(word, vocabId); + int get hashCode => Object.hash(id, word, vocabId); @override bool operator ==(Object other) => identical(this, other) || (other is VocabDefinitionWord && + other.id == this.id && other.word == this.word && other.vocabId == this.vocabId); } class VocabDefinitionWordsCompanion extends UpdateCompanion { + final Value id; final Value word; final Value vocabId; - final Value rowid; const VocabDefinitionWordsCompanion({ + this.id = const Value.absent(), this.word = const Value.absent(), this.vocabId = const Value.absent(), - this.rowid = const Value.absent(), }); VocabDefinitionWordsCompanion.insert({ + this.id = const Value.absent(), required String word, required int vocabId, - this.rowid = const Value.absent(), }) : word = Value(word), vocabId = Value(vocabId); static Insertable custom({ + Expression? id, Expression? word, Expression? vocabId, - Expression? rowid, }) { return RawValuesInsertable({ + if (id != null) 'id': id, if (word != null) 'word': word, if (vocabId != null) 'vocab_id': vocabId, - if (rowid != null) 'rowid': rowid, }); } VocabDefinitionWordsCompanion copyWith( - {Value? word, Value? vocabId, Value? rowid}) { + {Value? id, Value? word, Value? vocabId}) { return VocabDefinitionWordsCompanion( + id: id ?? this.id, word: word ?? this.word, vocabId: vocabId ?? this.vocabId, - rowid: rowid ?? this.rowid, ); } @override Map toColumns(bool nullToAbsent) { final map = {}; + if (id.present) { + map['id'] = Variable(id.value); + } if (word.present) { map['word'] = Variable(word.value); } if (vocabId.present) { map['vocab_id'] = Variable(vocabId.value); } - if (rowid.present) { - map['rowid'] = Variable(rowid.value); - } return map; } @override String toString() { return (StringBuffer('VocabDefinitionWordsCompanion(') + ..write('id: $id, ') ..write('word: $word, ') - ..write('vocabId: $vocabId, ') - ..write('rowid: $rowid') + ..write('vocabId: $vocabId') ..write(')')) .toString(); } @@ -2508,6 +2601,15 @@ class $KanjiMeaningWordsTable extends KanjiMeaningWords final GeneratedDatabase attachedDatabase; final String? _alias; $KanjiMeaningWordsTable(this.attachedDatabase, [this._alias]); + static const VerificationMeta _idMeta = const VerificationMeta('id'); + @override + late final GeneratedColumn id = GeneratedColumn( + 'id', aliasedName, false, + hasAutoIncrement: true, + type: DriftSqlType.int, + requiredDuringInsert: false, + defaultConstraints: + GeneratedColumn.constraintIsAlways('PRIMARY KEY AUTOINCREMENT')); static const VerificationMeta _wordMeta = const VerificationMeta('word'); @override late final GeneratedColumn word = GeneratedColumn( @@ -2520,7 +2622,7 @@ class $KanjiMeaningWordsTable extends KanjiMeaningWords 'kanji_id', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: true); @override - List get $columns => [word, kanjiId]; + List get $columns => [id, word, kanjiId]; @override String get aliasedName => _alias ?? actualTableName; @override @@ -2531,6 +2633,9 @@ class $KanjiMeaningWordsTable extends KanjiMeaningWords {bool isInserting = false}) { final context = VerificationContext(); final data = instance.toColumns(true); + if (data.containsKey('id')) { + context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); + } if (data.containsKey('word')) { context.handle( _wordMeta, word.isAcceptableOrUnknown(data['word']!, _wordMeta)); @@ -2547,11 +2652,13 @@ class $KanjiMeaningWordsTable extends KanjiMeaningWords } @override - Set get $primaryKey => const {}; + Set get $primaryKey => {id}; @override KanjiMeaningWord map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return KanjiMeaningWord( + id: attachedDatabase.typeMapping + .read(DriftSqlType.int, data['${effectivePrefix}id'])!, word: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}word'])!, kanjiId: attachedDatabase.typeMapping @@ -2567,12 +2674,15 @@ class $KanjiMeaningWordsTable extends KanjiMeaningWords class KanjiMeaningWord extends DataClass implements Insertable { + final int id; final String word; final int kanjiId; - const KanjiMeaningWord({required this.word, required this.kanjiId}); + const KanjiMeaningWord( + {required this.id, required this.word, required this.kanjiId}); @override Map toColumns(bool nullToAbsent) { final map = {}; + map['id'] = Variable(id); map['word'] = Variable(word); map['kanji_id'] = Variable(kanjiId); return map; @@ -2580,6 +2690,7 @@ class KanjiMeaningWord extends DataClass KanjiMeaningWordsCompanion toCompanion(bool nullToAbsent) { return KanjiMeaningWordsCompanion( + id: Value(id), word: Value(word), kanjiId: Value(kanjiId), ); @@ -2589,6 +2700,7 @@ class KanjiMeaningWord extends DataClass {ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return KanjiMeaningWord( + id: serializer.fromJson(json['id']), word: serializer.fromJson(json['word']), kanjiId: serializer.fromJson(json['kanjiId']), ); @@ -2597,18 +2709,30 @@ class KanjiMeaningWord extends DataClass Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { + 'id': serializer.toJson(id), 'word': serializer.toJson(word), 'kanjiId': serializer.toJson(kanjiId), }; } - KanjiMeaningWord copyWith({String? word, int? kanjiId}) => KanjiMeaningWord( + KanjiMeaningWord copyWith({int? id, String? word, int? kanjiId}) => + KanjiMeaningWord( + id: id ?? this.id, word: word ?? this.word, kanjiId: kanjiId ?? this.kanjiId, ); + KanjiMeaningWord copyWithCompanion(KanjiMeaningWordsCompanion data) { + return KanjiMeaningWord( + id: data.id.present ? data.id.value : this.id, + word: data.word.present ? data.word.value : this.word, + kanjiId: data.kanjiId.present ? data.kanjiId.value : this.kanjiId, + ); + } + @override String toString() { return (StringBuffer('KanjiMeaningWord(') + ..write('id: $id, ') ..write('word: $word, ') ..write('kanjiId: $kanjiId') ..write(')')) @@ -2616,72 +2740,264 @@ class KanjiMeaningWord extends DataClass } @override - int get hashCode => Object.hash(word, kanjiId); + int get hashCode => Object.hash(id, word, kanjiId); @override bool operator ==(Object other) => identical(this, other) || (other is KanjiMeaningWord && + other.id == this.id && other.word == this.word && other.kanjiId == this.kanjiId); } class KanjiMeaningWordsCompanion extends UpdateCompanion { + final Value id; final Value word; final Value kanjiId; - final Value rowid; const KanjiMeaningWordsCompanion({ + this.id = const Value.absent(), this.word = const Value.absent(), this.kanjiId = const Value.absent(), - this.rowid = const Value.absent(), }); KanjiMeaningWordsCompanion.insert({ + this.id = const Value.absent(), required String word, required int kanjiId, - this.rowid = const Value.absent(), }) : word = Value(word), kanjiId = Value(kanjiId); static Insertable custom({ + Expression? id, Expression? word, Expression? kanjiId, - Expression? rowid, }) { return RawValuesInsertable({ + if (id != null) 'id': id, if (word != null) 'word': word, if (kanjiId != null) 'kanji_id': kanjiId, - if (rowid != null) 'rowid': rowid, }); } KanjiMeaningWordsCompanion copyWith( - {Value? word, Value? kanjiId, Value? rowid}) { + {Value? id, Value? word, Value? kanjiId}) { return KanjiMeaningWordsCompanion( + id: id ?? this.id, word: word ?? this.word, kanjiId: kanjiId ?? this.kanjiId, - rowid: rowid ?? this.rowid, ); } @override Map toColumns(bool nullToAbsent) { final map = {}; + if (id.present) { + map['id'] = Variable(id.value); + } if (word.present) { map['word'] = Variable(word.value); } if (kanjiId.present) { map['kanji_id'] = Variable(kanjiId.value); } - if (rowid.present) { - map['rowid'] = Variable(rowid.value); - } return map; } @override String toString() { return (StringBuffer('KanjiMeaningWordsCompanion(') + ..write('id: $id, ') ..write('word: $word, ') - ..write('kanjiId: $kanjiId, ') - ..write('rowid: $rowid') + ..write('kanjiId: $kanjiId') + ..write(')')) + .toString(); + } +} + +class $TextAnalysisHistoryItemsTable extends TextAnalysisHistoryItems + with TableInfo<$TextAnalysisHistoryItemsTable, TextAnalysisHistoryItem> { + @override + final GeneratedDatabase attachedDatabase; + final String? _alias; + $TextAnalysisHistoryItemsTable(this.attachedDatabase, [this._alias]); + static const VerificationMeta _idMeta = const VerificationMeta('id'); + @override + late final GeneratedColumn id = GeneratedColumn( + 'id', aliasedName, false, + hasAutoIncrement: true, + type: DriftSqlType.int, + requiredDuringInsert: false, + defaultConstraints: + GeneratedColumn.constraintIsAlways('PRIMARY KEY AUTOINCREMENT')); + static const VerificationMeta _analysisTextMeta = + const VerificationMeta('analysisText'); + @override + late final GeneratedColumn analysisText = GeneratedColumn( + 'analysis_text', aliasedName, false, + type: DriftSqlType.string, requiredDuringInsert: true); + @override + List get $columns => [id, analysisText]; + @override + String get aliasedName => _alias ?? actualTableName; + @override + String get actualTableName => $name; + static const String $name = 'text_analysis_history_items'; + @override + VerificationContext validateIntegrity( + Insertable instance, + {bool isInserting = false}) { + final context = VerificationContext(); + final data = instance.toColumns(true); + if (data.containsKey('id')) { + context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); + } + if (data.containsKey('analysis_text')) { + context.handle( + _analysisTextMeta, + analysisText.isAcceptableOrUnknown( + data['analysis_text']!, _analysisTextMeta)); + } else if (isInserting) { + context.missing(_analysisTextMeta); + } + return context; + } + + @override + Set get $primaryKey => {id}; + @override + TextAnalysisHistoryItem map(Map data, + {String? tablePrefix}) { + final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; + return TextAnalysisHistoryItem( + id: attachedDatabase.typeMapping + .read(DriftSqlType.int, data['${effectivePrefix}id'])!, + analysisText: attachedDatabase.typeMapping + .read(DriftSqlType.string, data['${effectivePrefix}analysis_text'])!, + ); + } + + @override + $TextAnalysisHistoryItemsTable createAlias(String alias) { + return $TextAnalysisHistoryItemsTable(attachedDatabase, alias); + } +} + +class TextAnalysisHistoryItem extends DataClass + implements Insertable { + final int id; + final String analysisText; + const TextAnalysisHistoryItem({required this.id, required this.analysisText}); + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + map['id'] = Variable(id); + map['analysis_text'] = Variable(analysisText); + return map; + } + + TextAnalysisHistoryItemsCompanion toCompanion(bool nullToAbsent) { + return TextAnalysisHistoryItemsCompanion( + id: Value(id), + analysisText: Value(analysisText), + ); + } + + factory TextAnalysisHistoryItem.fromJson(Map json, + {ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return TextAnalysisHistoryItem( + id: serializer.fromJson(json['id']), + analysisText: serializer.fromJson(json['analysisText']), + ); + } + @override + Map toJson({ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return { + 'id': serializer.toJson(id), + 'analysisText': serializer.toJson(analysisText), + }; + } + + TextAnalysisHistoryItem copyWith({int? id, String? analysisText}) => + TextAnalysisHistoryItem( + id: id ?? this.id, + analysisText: analysisText ?? this.analysisText, + ); + TextAnalysisHistoryItem copyWithCompanion( + TextAnalysisHistoryItemsCompanion data) { + return TextAnalysisHistoryItem( + id: data.id.present ? data.id.value : this.id, + analysisText: data.analysisText.present + ? data.analysisText.value + : this.analysisText, + ); + } + + @override + String toString() { + return (StringBuffer('TextAnalysisHistoryItem(') + ..write('id: $id, ') + ..write('analysisText: $analysisText') + ..write(')')) + .toString(); + } + + @override + int get hashCode => Object.hash(id, analysisText); + @override + bool operator ==(Object other) => + identical(this, other) || + (other is TextAnalysisHistoryItem && + other.id == this.id && + other.analysisText == this.analysisText); +} + +class TextAnalysisHistoryItemsCompanion + extends UpdateCompanion { + final Value id; + final Value analysisText; + const TextAnalysisHistoryItemsCompanion({ + this.id = const Value.absent(), + this.analysisText = const Value.absent(), + }); + TextAnalysisHistoryItemsCompanion.insert({ + this.id = const Value.absent(), + required String analysisText, + }) : analysisText = Value(analysisText); + static Insertable custom({ + Expression? id, + Expression? analysisText, + }) { + return RawValuesInsertable({ + if (id != null) 'id': id, + if (analysisText != null) 'analysis_text': analysisText, + }); + } + + TextAnalysisHistoryItemsCompanion copyWith( + {Value? id, Value? analysisText}) { + return TextAnalysisHistoryItemsCompanion( + id: id ?? this.id, + analysisText: analysisText ?? this.analysisText, + ); + } + + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + if (id.present) { + map['id'] = Variable(id.value); + } + if (analysisText.present) { + map['analysis_text'] = Variable(analysisText.value); + } + return map; + } + + @override + String toString() { + return (StringBuffer('TextAnalysisHistoryItemsCompanion(') + ..write('id: $id, ') + ..write('analysisText: $analysisText') ..write(')')) .toString(); } @@ -3035,16 +3351,8 @@ class $SearchHistoryItemsTable extends SearchHistoryItems late final GeneratedColumn searchText = GeneratedColumn( 'search_text', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true); - static const VerificationMeta _timestampMeta = - const VerificationMeta('timestamp'); - @override - late final GeneratedColumn timestamp = GeneratedColumn( - 'timestamp', aliasedName, false, - type: DriftSqlType.dateTime, - requiredDuringInsert: false, - defaultValue: currentDateAndTime); @override - List get $columns => [id, searchText, timestamp]; + List get $columns => [id, searchText]; @override String get aliasedName => _alias ?? actualTableName; @override @@ -3066,10 +3374,6 @@ class $SearchHistoryItemsTable extends SearchHistoryItems } else if (isInserting) { context.missing(_searchTextMeta); } - if (data.containsKey('timestamp')) { - context.handle(_timestampMeta, - timestamp.isAcceptableOrUnknown(data['timestamp']!, _timestampMeta)); - } return context; } @@ -3083,8 +3387,6 @@ class $SearchHistoryItemsTable extends SearchHistoryItems .read(DriftSqlType.int, data['${effectivePrefix}id'])!, searchText: attachedDatabase.typeMapping .read(DriftSqlType.string, data['${effectivePrefix}search_text'])!, - timestamp: attachedDatabase.typeMapping - .read(DriftSqlType.dateTime, data['${effectivePrefix}timestamp'])!, ); } @@ -3098,15 +3400,12 @@ class SearchHistoryItem extends DataClass implements Insertable { final int id; final String searchText; - final DateTime timestamp; - const SearchHistoryItem( - {required this.id, required this.searchText, required this.timestamp}); + const SearchHistoryItem({required this.id, required this.searchText}); @override Map toColumns(bool nullToAbsent) { final map = {}; map['id'] = Variable(id); map['search_text'] = Variable(searchText); - map['timestamp'] = Variable(timestamp); return map; } @@ -3114,7 +3413,6 @@ class SearchHistoryItem extends DataClass return SearchHistoryItemsCompanion( id: Value(id), searchText: Value(searchText), - timestamp: Value(timestamp), ); } @@ -3124,7 +3422,6 @@ class SearchHistoryItem extends DataClass return SearchHistoryItem( id: serializer.fromJson(json['id']), searchText: serializer.fromJson(json['searchText']), - timestamp: serializer.fromJson(json['timestamp']), ); } @override @@ -3133,70 +3430,67 @@ class SearchHistoryItem extends DataClass return { 'id': serializer.toJson(id), 'searchText': serializer.toJson(searchText), - 'timestamp': serializer.toJson(timestamp), }; } - SearchHistoryItem copyWith( - {int? id, String? searchText, DateTime? timestamp}) => + SearchHistoryItem copyWith({int? id, String? searchText}) => SearchHistoryItem( id: id ?? this.id, searchText: searchText ?? this.searchText, - timestamp: timestamp ?? this.timestamp, ); + SearchHistoryItem copyWithCompanion(SearchHistoryItemsCompanion data) { + return SearchHistoryItem( + id: data.id.present ? data.id.value : this.id, + searchText: + data.searchText.present ? data.searchText.value : this.searchText, + ); + } + @override String toString() { return (StringBuffer('SearchHistoryItem(') ..write('id: $id, ') - ..write('searchText: $searchText, ') - ..write('timestamp: $timestamp') + ..write('searchText: $searchText') ..write(')')) .toString(); } @override - int get hashCode => Object.hash(id, searchText, timestamp); + int get hashCode => Object.hash(id, searchText); @override bool operator ==(Object other) => identical(this, other) || (other is SearchHistoryItem && other.id == this.id && - other.searchText == this.searchText && - other.timestamp == this.timestamp); + other.searchText == this.searchText); } class SearchHistoryItemsCompanion extends UpdateCompanion { final Value id; final Value searchText; - final Value timestamp; const SearchHistoryItemsCompanion({ this.id = const Value.absent(), this.searchText = const Value.absent(), - this.timestamp = const Value.absent(), }); SearchHistoryItemsCompanion.insert({ this.id = const Value.absent(), required String searchText, - this.timestamp = const Value.absent(), }) : searchText = Value(searchText); static Insertable custom({ Expression? id, Expression? searchText, - Expression? timestamp, }) { return RawValuesInsertable({ if (id != null) 'id': id, if (searchText != null) 'search_text': searchText, - if (timestamp != null) 'timestamp': timestamp, }); } SearchHistoryItemsCompanion copyWith( - {Value? id, Value? searchText, Value? timestamp}) { + {Value? id, Value? searchText}) { return SearchHistoryItemsCompanion( id: id ?? this.id, searchText: searchText ?? this.searchText, - timestamp: timestamp ?? this.timestamp, ); } @@ -3209,9 +3503,6 @@ class SearchHistoryItemsCompanion extends UpdateCompanion { if (searchText.present) { map['search_text'] = Variable(searchText.value); } - if (timestamp.present) { - map['timestamp'] = Variable(timestamp.value); - } return map; } @@ -3219,8 +3510,7 @@ class SearchHistoryItemsCompanion extends UpdateCompanion { String toString() { return (StringBuffer('SearchHistoryItemsCompanion(') ..write('id: $id, ') - ..write('searchText: $searchText, ') - ..write('timestamp: $timestamp') + ..write('searchText: $searchText') ..write(')')) .toString(); } @@ -3581,6 +3871,24 @@ class Radical extends DataClass implements Insertable { variants: variants.present ? variants.value : this.variants, variantOf: variantOf.present ? variantOf.value : this.variantOf, ); + Radical copyWithCompanion(RadicalsCompanion data) { + return Radical( + id: data.id.present ? data.id.value : this.id, + radical: data.radical.present ? data.radical.value : this.radical, + kangxiId: data.kangxiId.present ? data.kangxiId.value : this.kangxiId, + strokeCount: + data.strokeCount.present ? data.strokeCount.value : this.strokeCount, + meaning: data.meaning.present ? data.meaning.value : this.meaning, + reading: data.reading.present ? data.reading.value : this.reading, + position: data.position.present ? data.position.value : this.position, + importance: + data.importance.present ? data.importance.value : this.importance, + strokes: data.strokes.present ? data.strokes.value : this.strokes, + variants: data.variants.present ? data.variants.value : this.variants, + variantOf: data.variantOf.present ? data.variantOf.value : this.variantOf, + ); + } + @override String toString() { return (StringBuffer('Radical(') @@ -4215,6 +4523,16 @@ class ProperNounRomajiWord extends DataClass word: word ?? this.word, properNounId: properNounId ?? this.properNounId, ); + ProperNounRomajiWord copyWithCompanion(ProperNounRomajiWordsCompanion data) { + return ProperNounRomajiWord( + id: data.id.present ? data.id.value : this.id, + word: data.word.present ? data.word.value : this.word, + properNounId: data.properNounId.present + ? data.properNounId.value + : this.properNounId, + ); + } + @override String toString() { return (StringBuffer('ProperNounRomajiWord(') @@ -4318,7 +4636,7 @@ class $PredefinedDictionaryListsTable extends PredefinedDictionaryLists @override late final GeneratedColumn name = GeneratedColumn( 'name', aliasedName, false, - check: () => name.length.isBiggerThan(Constant(0)), + check: () => ComparableExpr(name.length).isBiggerThan(Constant(0)), type: DriftSqlType.string, requiredDuringInsert: true); static const VerificationMeta _vocabMeta = const VerificationMeta('vocab'); @@ -4491,7 +4809,7 @@ class $MyDictionaryListsTable extends MyDictionaryLists @override late final GeneratedColumn name = GeneratedColumn( 'name', aliasedName, false, - check: () => name.length.isBiggerThan(Constant(0)), + check: () => ComparableExpr(name.length).isBiggerThan(Constant(0)), type: DriftSqlType.string, requiredDuringInsert: true); static const VerificationMeta _timestampMeta = @@ -4773,6 +5091,15 @@ class MyDictionaryListItem extends DataClass vocabId: vocabId ?? this.vocabId, kanjiId: kanjiId ?? this.kanjiId, ); + MyDictionaryListItem copyWithCompanion(MyDictionaryListItemsCompanion data) { + return MyDictionaryListItem( + id: data.id.present ? data.id.value : this.id, + listId: data.listId.present ? data.listId.value : this.listId, + vocabId: data.vocabId.present ? data.vocabId.value : this.vocabId, + kanjiId: data.kanjiId.present ? data.kanjiId.value : this.kanjiId, + ); + } + @override String toString() { return (StringBuffer('MyDictionaryListItem(') @@ -4981,22 +5308,6 @@ class $FlashcardSetsTable extends FlashcardSets type: DriftSqlType.dateTime, requiredDuringInsert: false, defaultValue: currentDateAndTime); - static const VerificationMeta _flashcardsCompletedTodayMeta = - const VerificationMeta('flashcardsCompletedToday'); - @override - late final GeneratedColumn flashcardsCompletedToday = - GeneratedColumn('flashcards_completed_today', aliasedName, false, - type: DriftSqlType.int, - requiredDuringInsert: false, - defaultValue: const Constant(0)); - static const VerificationMeta _newFlashcardsCompletedTodayMeta = - const VerificationMeta('newFlashcardsCompletedToday'); - @override - late final GeneratedColumn newFlashcardsCompletedToday = - GeneratedColumn('new_flashcards_completed_today', aliasedName, false, - type: DriftSqlType.int, - requiredDuringInsert: false, - defaultValue: const Constant(0)); static const VerificationMeta _predefinedDictionaryListsMeta = const VerificationMeta('predefinedDictionaryLists'); @override @@ -5019,6 +5330,13 @@ class $FlashcardSetsTable extends FlashcardSets defaultValue: const Constant('[]')) .withConverter>( $FlashcardSetsTable.$convertermyDictionaryLists); + static const VerificationMeta _streakMeta = const VerificationMeta('streak'); + @override + late final GeneratedColumn streak = GeneratedColumn( + 'streak', aliasedName, false, + type: DriftSqlType.int, + requiredDuringInsert: false, + defaultValue: const Constant(0)); @override List get $columns => [ id, @@ -5032,10 +5350,9 @@ class $FlashcardSetsTable extends FlashcardSets kanjiShowReading, vocabShowPartsOfSpeech, timestamp, - flashcardsCompletedToday, - newFlashcardsCompletedToday, predefinedDictionaryLists, - myDictionaryLists + myDictionaryLists, + streak ]; @override String get aliasedName => _alias ?? actualTableName; @@ -5105,23 +5422,13 @@ class $FlashcardSetsTable extends FlashcardSets context.handle(_timestampMeta, timestamp.isAcceptableOrUnknown(data['timestamp']!, _timestampMeta)); } - if (data.containsKey('flashcards_completed_today')) { - context.handle( - _flashcardsCompletedTodayMeta, - flashcardsCompletedToday.isAcceptableOrUnknown( - data['flashcards_completed_today']!, - _flashcardsCompletedTodayMeta)); - } - if (data.containsKey('new_flashcards_completed_today')) { - context.handle( - _newFlashcardsCompletedTodayMeta, - newFlashcardsCompletedToday.isAcceptableOrUnknown( - data['new_flashcards_completed_today']!, - _newFlashcardsCompletedTodayMeta)); - } context.handle( _predefinedDictionaryListsMeta, const VerificationResult.success()); context.handle(_myDictionaryListsMeta, const VerificationResult.success()); + if (data.containsKey('streak')) { + context.handle(_streakMeta, + streak.isAcceptableOrUnknown(data['streak']!, _streakMeta)); + } return context; } @@ -5158,12 +5465,6 @@ class $FlashcardSetsTable extends FlashcardSets data['${effectivePrefix}vocab_show_parts_of_speech'])!, timestamp: attachedDatabase.typeMapping .read(DriftSqlType.dateTime, data['${effectivePrefix}timestamp'])!, - flashcardsCompletedToday: attachedDatabase.typeMapping.read( - DriftSqlType.int, - data['${effectivePrefix}flashcards_completed_today'])!, - newFlashcardsCompletedToday: attachedDatabase.typeMapping.read( - DriftSqlType.int, - data['${effectivePrefix}new_flashcards_completed_today'])!, predefinedDictionaryLists: $FlashcardSetsTable .$converterpredefinedDictionaryLists .fromSql(attachedDatabase.typeMapping.read(DriftSqlType.string, @@ -5171,6 +5472,8 @@ class $FlashcardSetsTable extends FlashcardSets myDictionaryLists: $FlashcardSetsTable.$convertermyDictionaryLists .fromSql(attachedDatabase.typeMapping.read(DriftSqlType.string, data['${effectivePrefix}my_dictionary_lists'])!), + streak: attachedDatabase.typeMapping + .read(DriftSqlType.int, data['${effectivePrefix}streak'])!, ); } @@ -5199,10 +5502,9 @@ class FlashcardSetsCompanion extends UpdateCompanion { final Value kanjiShowReading; final Value vocabShowPartsOfSpeech; final Value timestamp; - final Value flashcardsCompletedToday; - final Value newFlashcardsCompletedToday; final Value> predefinedDictionaryLists; final Value> myDictionaryLists; + final Value streak; const FlashcardSetsCompanion({ this.id = const Value.absent(), this.name = const Value.absent(), @@ -5215,10 +5517,9 @@ class FlashcardSetsCompanion extends UpdateCompanion { this.kanjiShowReading = const Value.absent(), this.vocabShowPartsOfSpeech = const Value.absent(), this.timestamp = const Value.absent(), - this.flashcardsCompletedToday = const Value.absent(), - this.newFlashcardsCompletedToday = const Value.absent(), this.predefinedDictionaryLists = const Value.absent(), this.myDictionaryLists = const Value.absent(), + this.streak = const Value.absent(), }); FlashcardSetsCompanion.insert({ this.id = const Value.absent(), @@ -5232,10 +5533,9 @@ class FlashcardSetsCompanion extends UpdateCompanion { this.kanjiShowReading = const Value.absent(), this.vocabShowPartsOfSpeech = const Value.absent(), this.timestamp = const Value.absent(), - this.flashcardsCompletedToday = const Value.absent(), - this.newFlashcardsCompletedToday = const Value.absent(), this.predefinedDictionaryLists = const Value.absent(), this.myDictionaryLists = const Value.absent(), + this.streak = const Value.absent(), }) : name = Value(name); static Insertable custom({ Expression? id, @@ -5249,10 +5549,9 @@ class FlashcardSetsCompanion extends UpdateCompanion { Expression? kanjiShowReading, Expression? vocabShowPartsOfSpeech, Expression? timestamp, - Expression? flashcardsCompletedToday, - Expression? newFlashcardsCompletedToday, Expression? predefinedDictionaryLists, Expression? myDictionaryLists, + Expression? streak, }) { return RawValuesInsertable({ if (id != null) 'id': id, @@ -5271,13 +5570,10 @@ class FlashcardSetsCompanion extends UpdateCompanion { if (vocabShowPartsOfSpeech != null) 'vocab_show_parts_of_speech': vocabShowPartsOfSpeech, if (timestamp != null) 'timestamp': timestamp, - if (flashcardsCompletedToday != null) - 'flashcards_completed_today': flashcardsCompletedToday, - if (newFlashcardsCompletedToday != null) - 'new_flashcards_completed_today': newFlashcardsCompletedToday, if (predefinedDictionaryLists != null) 'predefined_dictionary_lists': predefinedDictionaryLists, if (myDictionaryLists != null) 'my_dictionary_lists': myDictionaryLists, + if (streak != null) 'streak': streak, }); } @@ -5293,10 +5589,9 @@ class FlashcardSetsCompanion extends UpdateCompanion { Value? kanjiShowReading, Value? vocabShowPartsOfSpeech, Value? timestamp, - Value? flashcardsCompletedToday, - Value? newFlashcardsCompletedToday, Value>? predefinedDictionaryLists, - Value>? myDictionaryLists}) { + Value>? myDictionaryLists, + Value? streak}) { return FlashcardSetsCompanion( id: id ?? this.id, name: name ?? this.name, @@ -5313,13 +5608,10 @@ class FlashcardSetsCompanion extends UpdateCompanion { vocabShowPartsOfSpeech: vocabShowPartsOfSpeech ?? this.vocabShowPartsOfSpeech, timestamp: timestamp ?? this.timestamp, - flashcardsCompletedToday: - flashcardsCompletedToday ?? this.flashcardsCompletedToday, - newFlashcardsCompletedToday: - newFlashcardsCompletedToday ?? this.newFlashcardsCompletedToday, predefinedDictionaryLists: predefinedDictionaryLists ?? this.predefinedDictionaryLists, myDictionaryLists: myDictionaryLists ?? this.myDictionaryLists, + streak: streak ?? this.streak, ); } @@ -5365,14 +5657,6 @@ class FlashcardSetsCompanion extends UpdateCompanion { if (timestamp.present) { map['timestamp'] = Variable(timestamp.value); } - if (flashcardsCompletedToday.present) { - map['flashcards_completed_today'] = - Variable(flashcardsCompletedToday.value); - } - if (newFlashcardsCompletedToday.present) { - map['new_flashcards_completed_today'] = - Variable(newFlashcardsCompletedToday.value); - } if (predefinedDictionaryLists.present) { map['predefined_dictionary_lists'] = Variable($FlashcardSetsTable .$converterpredefinedDictionaryLists @@ -5383,6 +5667,9 @@ class FlashcardSetsCompanion extends UpdateCompanion { .$convertermyDictionaryLists .toSql(myDictionaryLists.value)); } + if (streak.present) { + map['streak'] = Variable(streak.value); + } return map; } @@ -5400,10 +5687,251 @@ class FlashcardSetsCompanion extends UpdateCompanion { ..write('kanjiShowReading: $kanjiShowReading, ') ..write('vocabShowPartsOfSpeech: $vocabShowPartsOfSpeech, ') ..write('timestamp: $timestamp, ') - ..write('flashcardsCompletedToday: $flashcardsCompletedToday, ') - ..write('newFlashcardsCompletedToday: $newFlashcardsCompletedToday, ') ..write('predefinedDictionaryLists: $predefinedDictionaryLists, ') - ..write('myDictionaryLists: $myDictionaryLists') + ..write('myDictionaryLists: $myDictionaryLists, ') + ..write('streak: $streak') + ..write(')')) + .toString(); + } +} + +class $FlashcardSetReportsTable extends FlashcardSetReports + with TableInfo<$FlashcardSetReportsTable, FlashcardSetReport> { + @override + final GeneratedDatabase attachedDatabase; + final String? _alias; + $FlashcardSetReportsTable(this.attachedDatabase, [this._alias]); + static const VerificationMeta _idMeta = const VerificationMeta('id'); + @override + late final GeneratedColumn id = GeneratedColumn( + 'id', aliasedName, false, + hasAutoIncrement: true, + type: DriftSqlType.int, + requiredDuringInsert: false, + defaultConstraints: + GeneratedColumn.constraintIsAlways('PRIMARY KEY AUTOINCREMENT')); + static const VerificationMeta _flashcardSetIdMeta = + const VerificationMeta('flashcardSetId'); + @override + late final GeneratedColumn flashcardSetId = GeneratedColumn( + 'flashcard_set_id', aliasedName, false, + type: DriftSqlType.int, requiredDuringInsert: true); + static const VerificationMeta _dateMeta = const VerificationMeta('date'); + @override + late final GeneratedColumn date = GeneratedColumn( + 'date', aliasedName, false, + type: DriftSqlType.int, requiredDuringInsert: true); + static const VerificationMeta _dueFlashcardsCompletedMeta = + const VerificationMeta('dueFlashcardsCompleted'); + @override + late final GeneratedColumn dueFlashcardsCompleted = GeneratedColumn( + 'due_flashcards_completed', aliasedName, false, + type: DriftSqlType.int, + requiredDuringInsert: false, + defaultValue: const Constant(0)); + static const VerificationMeta _dueFlashcardsGotWrongMeta = + const VerificationMeta('dueFlashcardsGotWrong'); + @override + late final GeneratedColumn dueFlashcardsGotWrong = GeneratedColumn( + 'due_flashcards_got_wrong', aliasedName, false, + type: DriftSqlType.int, + requiredDuringInsert: false, + defaultValue: const Constant(0)); + static const VerificationMeta _newFlashcardsCompletedMeta = + const VerificationMeta('newFlashcardsCompleted'); + @override + late final GeneratedColumn newFlashcardsCompleted = GeneratedColumn( + 'new_flashcards_completed', aliasedName, false, + type: DriftSqlType.int, + requiredDuringInsert: false, + defaultValue: const Constant(0)); + @override + List get $columns => [ + id, + flashcardSetId, + date, + dueFlashcardsCompleted, + dueFlashcardsGotWrong, + newFlashcardsCompleted + ]; + @override + String get aliasedName => _alias ?? actualTableName; + @override + String get actualTableName => $name; + static const String $name = 'flashcard_set_reports'; + @override + VerificationContext validateIntegrity(Insertable instance, + {bool isInserting = false}) { + final context = VerificationContext(); + final data = instance.toColumns(true); + if (data.containsKey('id')) { + context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); + } + if (data.containsKey('flashcard_set_id')) { + context.handle( + _flashcardSetIdMeta, + flashcardSetId.isAcceptableOrUnknown( + data['flashcard_set_id']!, _flashcardSetIdMeta)); + } else if (isInserting) { + context.missing(_flashcardSetIdMeta); + } + if (data.containsKey('date')) { + context.handle( + _dateMeta, date.isAcceptableOrUnknown(data['date']!, _dateMeta)); + } else if (isInserting) { + context.missing(_dateMeta); + } + if (data.containsKey('due_flashcards_completed')) { + context.handle( + _dueFlashcardsCompletedMeta, + dueFlashcardsCompleted.isAcceptableOrUnknown( + data['due_flashcards_completed']!, _dueFlashcardsCompletedMeta)); + } + if (data.containsKey('due_flashcards_got_wrong')) { + context.handle( + _dueFlashcardsGotWrongMeta, + dueFlashcardsGotWrong.isAcceptableOrUnknown( + data['due_flashcards_got_wrong']!, _dueFlashcardsGotWrongMeta)); + } + if (data.containsKey('new_flashcards_completed')) { + context.handle( + _newFlashcardsCompletedMeta, + newFlashcardsCompleted.isAcceptableOrUnknown( + data['new_flashcards_completed']!, _newFlashcardsCompletedMeta)); + } + return context; + } + + @override + Set get $primaryKey => {id}; + @override + FlashcardSetReport map(Map data, {String? tablePrefix}) { + final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; + return FlashcardSetReport( + id: attachedDatabase.typeMapping + .read(DriftSqlType.int, data['${effectivePrefix}id'])!, + flashcardSetId: attachedDatabase.typeMapping + .read(DriftSqlType.int, data['${effectivePrefix}flashcard_set_id'])!, + date: attachedDatabase.typeMapping + .read(DriftSqlType.int, data['${effectivePrefix}date'])!, + dueFlashcardsCompleted: attachedDatabase.typeMapping.read( + DriftSqlType.int, + data['${effectivePrefix}due_flashcards_completed'])!, + dueFlashcardsGotWrong: attachedDatabase.typeMapping.read(DriftSqlType.int, + data['${effectivePrefix}due_flashcards_got_wrong'])!, + newFlashcardsCompleted: attachedDatabase.typeMapping.read( + DriftSqlType.int, + data['${effectivePrefix}new_flashcards_completed'])!, + ); + } + + @override + $FlashcardSetReportsTable createAlias(String alias) { + return $FlashcardSetReportsTable(attachedDatabase, alias); + } +} + +class FlashcardSetReportsCompanion extends UpdateCompanion { + final Value id; + final Value flashcardSetId; + final Value date; + final Value dueFlashcardsCompleted; + final Value dueFlashcardsGotWrong; + final Value newFlashcardsCompleted; + const FlashcardSetReportsCompanion({ + this.id = const Value.absent(), + this.flashcardSetId = const Value.absent(), + this.date = const Value.absent(), + this.dueFlashcardsCompleted = const Value.absent(), + this.dueFlashcardsGotWrong = const Value.absent(), + this.newFlashcardsCompleted = const Value.absent(), + }); + FlashcardSetReportsCompanion.insert({ + this.id = const Value.absent(), + required int flashcardSetId, + required int date, + this.dueFlashcardsCompleted = const Value.absent(), + this.dueFlashcardsGotWrong = const Value.absent(), + this.newFlashcardsCompleted = const Value.absent(), + }) : flashcardSetId = Value(flashcardSetId), + date = Value(date); + static Insertable custom({ + Expression? id, + Expression? flashcardSetId, + Expression? date, + Expression? dueFlashcardsCompleted, + Expression? dueFlashcardsGotWrong, + Expression? newFlashcardsCompleted, + }) { + return RawValuesInsertable({ + if (id != null) 'id': id, + if (flashcardSetId != null) 'flashcard_set_id': flashcardSetId, + if (date != null) 'date': date, + if (dueFlashcardsCompleted != null) + 'due_flashcards_completed': dueFlashcardsCompleted, + if (dueFlashcardsGotWrong != null) + 'due_flashcards_got_wrong': dueFlashcardsGotWrong, + if (newFlashcardsCompleted != null) + 'new_flashcards_completed': newFlashcardsCompleted, + }); + } + + FlashcardSetReportsCompanion copyWith( + {Value? id, + Value? flashcardSetId, + Value? date, + Value? dueFlashcardsCompleted, + Value? dueFlashcardsGotWrong, + Value? newFlashcardsCompleted}) { + return FlashcardSetReportsCompanion( + id: id ?? this.id, + flashcardSetId: flashcardSetId ?? this.flashcardSetId, + date: date ?? this.date, + dueFlashcardsCompleted: + dueFlashcardsCompleted ?? this.dueFlashcardsCompleted, + dueFlashcardsGotWrong: + dueFlashcardsGotWrong ?? this.dueFlashcardsGotWrong, + newFlashcardsCompleted: + newFlashcardsCompleted ?? this.newFlashcardsCompleted, + ); + } + + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + if (id.present) { + map['id'] = Variable(id.value); + } + if (flashcardSetId.present) { + map['flashcard_set_id'] = Variable(flashcardSetId.value); + } + if (date.present) { + map['date'] = Variable(date.value); + } + if (dueFlashcardsCompleted.present) { + map['due_flashcards_completed'] = + Variable(dueFlashcardsCompleted.value); + } + if (dueFlashcardsGotWrong.present) { + map['due_flashcards_got_wrong'] = + Variable(dueFlashcardsGotWrong.value); + } + if (newFlashcardsCompleted.present) { + map['new_flashcards_completed'] = + Variable(newFlashcardsCompleted.value); + } + return map; + } + + @override + String toString() { + return (StringBuffer('FlashcardSetReportsCompanion(') + ..write('id: $id, ') + ..write('flashcardSetId: $flashcardSetId, ') + ..write('date: $date, ') + ..write('dueFlashcardsCompleted: $dueFlashcardsCompleted, ') + ..write('dueFlashcardsGotWrong: $dueFlashcardsGotWrong, ') + ..write('newFlashcardsCompleted: $newFlashcardsCompleted') ..write(')')) .toString(); } @@ -5511,6 +6039,13 @@ class DictionaryInfo extends DataClass implements Insertable { id: id ?? this.id, version: version ?? this.version, ); + DictionaryInfo copyWithCompanion(DictionaryInfosCompanion data) { + return DictionaryInfo( + id: data.id.present ? data.id.value : this.id, + version: data.version.present ? data.version.value : this.version, + ); + } + @override String toString() { return (StringBuffer('DictionaryInfo(') @@ -5593,7 +6128,7 @@ class DictionaryInfosCompanion extends UpdateCompanion { abstract class _$AppDatabase extends GeneratedDatabase { _$AppDatabase(QueryExecutor e) : super(e); - _$AppDatabaseManager get managers => _$AppDatabaseManager(this); + $AppDatabaseManager get managers => $AppDatabaseManager(this); late final $VocabWritingsTable vocabWritings = $VocabWritingsTable(this); late final Index iXVocabWritingsWritingSearchForm = Index( 'IX_vocab_writings_writing_search_form', @@ -5643,6 +6178,8 @@ abstract class _$AppDatabase extends GeneratedDatabase { late final Index iXKanjiMeaningWordsWord = Index( 'IX_kanji_meaning_words_word', 'CREATE INDEX IX_kanji_meaning_words_word ON kanji_meaning_words (word)'); + late final $TextAnalysisHistoryItemsTable textAnalysisHistoryItems = + $TextAnalysisHistoryItemsTable(this); late final $SpacedRepetitionDatasTable spacedRepetitionDatas = $SpacedRepetitionDatasTable(this); late final $SearchHistoryItemsTable searchHistoryItems = @@ -5671,6 +6208,11 @@ abstract class _$AppDatabase extends GeneratedDatabase { 'IX_my_dictionary_list_items_list_id', 'CREATE INDEX IX_my_dictionary_list_items_list_id ON my_dictionary_list_items (list_id)'); late final $FlashcardSetsTable flashcardSets = $FlashcardSetsTable(this); + late final $FlashcardSetReportsTable flashcardSetReports = + $FlashcardSetReportsTable(this); + late final Index uXFlashcardSetReportsFlashcardSetIdAndDate = Index( + 'UX_flashcard_set_reports_flashcard_set_id_and_date', + 'CREATE UNIQUE INDEX UX_flashcard_set_reports_flashcard_set_id_and_date ON flashcard_set_reports (flashcard_set_id, date)'); late final $DictionaryInfosTable dictionaryInfos = $DictionaryInfosTable(this); late final Index iXSpacedRepetitionDatasVocabId = Index( @@ -5720,6 +6262,8 @@ abstract class _$AppDatabase extends GeneratedDatabase { SearchHistoryItemsDao(this as AppDatabase); late final SpacedRepetitionDatasDao spacedRepetitionDatasDao = SpacedRepetitionDatasDao(this as AppDatabase); + late final TextAnalysisHistoryItemsDao textAnalysisHistoryItemsDao = + TextAnalysisHistoryItemsDao(this as AppDatabase); late final VocabsDao vocabsDao = VocabsDao(this as AppDatabase); @override Iterable> get allTables => @@ -5749,6 +6293,7 @@ abstract class _$AppDatabase extends GeneratedDatabase { iXKanjiReadingsReading, iXKanjiReadingsReadingRomaji, iXKanjiMeaningWordsWord, + textAnalysisHistoryItems, spacedRepetitionDatas, searchHistoryItems, radicals, @@ -5763,6 +6308,8 @@ abstract class _$AppDatabase extends GeneratedDatabase { myDictionaryListItems, iXMyDictionaryListItemsListId, flashcardSets, + flashcardSetReports, + uXFlashcardSetReportsFlashcardSetIdAndDate, dictionaryInfos, iXSpacedRepetitionDatasVocabId, iXSpacedRepetitionDatasKanjiId, @@ -5778,7 +6325,7 @@ abstract class _$AppDatabase extends GeneratedDatabase { ]; } -typedef $$VocabWritingsTableInsertCompanionBuilder = VocabWritingsCompanion +typedef $$VocabWritingsTableCreateCompanionBuilder = VocabWritingsCompanion Function({ Value id, required int vocabId, @@ -5795,68 +6342,6 @@ typedef $$VocabWritingsTableUpdateCompanionBuilder = VocabWritingsCompanion Value?> info, }); -class $$VocabWritingsTableTableManager extends RootTableManager< - _$AppDatabase, - $VocabWritingsTable, - VocabWriting, - $$VocabWritingsTableFilterComposer, - $$VocabWritingsTableOrderingComposer, - $$VocabWritingsTableProcessedTableManager, - $$VocabWritingsTableInsertCompanionBuilder, - $$VocabWritingsTableUpdateCompanionBuilder> { - $$VocabWritingsTableTableManager(_$AppDatabase db, $VocabWritingsTable table) - : super(TableManagerState( - db: db, - table: table, - filteringComposer: - $$VocabWritingsTableFilterComposer(ComposerState(db, table)), - orderingComposer: - $$VocabWritingsTableOrderingComposer(ComposerState(db, table)), - getChildManagerBuilder: (p) => - $$VocabWritingsTableProcessedTableManager(p), - getUpdateCompanionBuilder: ({ - Value id = const Value.absent(), - Value vocabId = const Value.absent(), - Value writing = const Value.absent(), - Value writingSearchForm = const Value.absent(), - Value?> info = const Value.absent(), - }) => - VocabWritingsCompanion( - id: id, - vocabId: vocabId, - writing: writing, - writingSearchForm: writingSearchForm, - info: info, - ), - getInsertCompanionBuilder: ({ - Value id = const Value.absent(), - required int vocabId, - required String writing, - Value writingSearchForm = const Value.absent(), - Value?> info = const Value.absent(), - }) => - VocabWritingsCompanion.insert( - id: id, - vocabId: vocabId, - writing: writing, - writingSearchForm: writingSearchForm, - info: info, - ), - )); -} - -class $$VocabWritingsTableProcessedTableManager extends ProcessedTableManager< - _$AppDatabase, - $VocabWritingsTable, - VocabWriting, - $$VocabWritingsTableFilterComposer, - $$VocabWritingsTableOrderingComposer, - $$VocabWritingsTableProcessedTableManager, - $$VocabWritingsTableInsertCompanionBuilder, - $$VocabWritingsTableUpdateCompanionBuilder> { - $$VocabWritingsTableProcessedTableManager(super.$state); -} - class $$VocabWritingsTableFilterComposer extends FilterComposer<_$AppDatabase, $VocabWritingsTable> { $$VocabWritingsTableFilterComposer(super.$state); @@ -5917,7 +6402,78 @@ class $$VocabWritingsTableOrderingComposer ColumnOrderings(column, joinBuilders: joinBuilders)); } -typedef $$VocabReadingsTableInsertCompanionBuilder = VocabReadingsCompanion +class $$VocabWritingsTableTableManager extends RootTableManager< + _$AppDatabase, + $VocabWritingsTable, + VocabWriting, + $$VocabWritingsTableFilterComposer, + $$VocabWritingsTableOrderingComposer, + $$VocabWritingsTableCreateCompanionBuilder, + $$VocabWritingsTableUpdateCompanionBuilder, + ( + VocabWriting, + BaseReferences<_$AppDatabase, $VocabWritingsTable, VocabWriting> + ), + VocabWriting, + PrefetchHooks Function()> { + $$VocabWritingsTableTableManager(_$AppDatabase db, $VocabWritingsTable table) + : super(TableManagerState( + db: db, + table: table, + filteringComposer: + $$VocabWritingsTableFilterComposer(ComposerState(db, table)), + orderingComposer: + $$VocabWritingsTableOrderingComposer(ComposerState(db, table)), + updateCompanionCallback: ({ + Value id = const Value.absent(), + Value vocabId = const Value.absent(), + Value writing = const Value.absent(), + Value writingSearchForm = const Value.absent(), + Value?> info = const Value.absent(), + }) => + VocabWritingsCompanion( + id: id, + vocabId: vocabId, + writing: writing, + writingSearchForm: writingSearchForm, + info: info, + ), + createCompanionCallback: ({ + Value id = const Value.absent(), + required int vocabId, + required String writing, + Value writingSearchForm = const Value.absent(), + Value?> info = const Value.absent(), + }) => + VocabWritingsCompanion.insert( + id: id, + vocabId: vocabId, + writing: writing, + writingSearchForm: writingSearchForm, + info: info, + ), + withReferenceMapper: (p0) => p0 + .map((e) => (e.readTable(table), BaseReferences(db, table, e))) + .toList(), + prefetchHooksCallback: null, + )); +} + +typedef $$VocabWritingsTableProcessedTableManager = ProcessedTableManager< + _$AppDatabase, + $VocabWritingsTable, + VocabWriting, + $$VocabWritingsTableFilterComposer, + $$VocabWritingsTableOrderingComposer, + $$VocabWritingsTableCreateCompanionBuilder, + $$VocabWritingsTableUpdateCompanionBuilder, + ( + VocabWriting, + BaseReferences<_$AppDatabase, $VocabWritingsTable, VocabWriting> + ), + VocabWriting, + PrefetchHooks Function()>; +typedef $$VocabReadingsTableCreateCompanionBuilder = VocabReadingsCompanion Function({ Value id, required int vocabId, @@ -5942,84 +6498,6 @@ typedef $$VocabReadingsTableUpdateCompanionBuilder = VocabReadingsCompanion Value?> pitchAccents, }); -class $$VocabReadingsTableTableManager extends RootTableManager< - _$AppDatabase, - $VocabReadingsTable, - VocabReading, - $$VocabReadingsTableFilterComposer, - $$VocabReadingsTableOrderingComposer, - $$VocabReadingsTableProcessedTableManager, - $$VocabReadingsTableInsertCompanionBuilder, - $$VocabReadingsTableUpdateCompanionBuilder> { - $$VocabReadingsTableTableManager(_$AppDatabase db, $VocabReadingsTable table) - : super(TableManagerState( - db: db, - table: table, - filteringComposer: - $$VocabReadingsTableFilterComposer(ComposerState(db, table)), - orderingComposer: - $$VocabReadingsTableOrderingComposer(ComposerState(db, table)), - getChildManagerBuilder: (p) => - $$VocabReadingsTableProcessedTableManager(p), - getUpdateCompanionBuilder: ({ - Value id = const Value.absent(), - Value vocabId = const Value.absent(), - Value reading = const Value.absent(), - Value readingSearchForm = const Value.absent(), - Value readingRomaji = const Value.absent(), - Value readingRomajiSimplified = const Value.absent(), - Value?> associatedWritings = const Value.absent(), - Value?> info = const Value.absent(), - Value?> pitchAccents = const Value.absent(), - }) => - VocabReadingsCompanion( - id: id, - vocabId: vocabId, - reading: reading, - readingSearchForm: readingSearchForm, - readingRomaji: readingRomaji, - readingRomajiSimplified: readingRomajiSimplified, - associatedWritings: associatedWritings, - info: info, - pitchAccents: pitchAccents, - ), - getInsertCompanionBuilder: ({ - Value id = const Value.absent(), - required int vocabId, - required String reading, - Value readingSearchForm = const Value.absent(), - required String readingRomaji, - Value readingRomajiSimplified = const Value.absent(), - Value?> associatedWritings = const Value.absent(), - Value?> info = const Value.absent(), - Value?> pitchAccents = const Value.absent(), - }) => - VocabReadingsCompanion.insert( - id: id, - vocabId: vocabId, - reading: reading, - readingSearchForm: readingSearchForm, - readingRomaji: readingRomaji, - readingRomajiSimplified: readingRomajiSimplified, - associatedWritings: associatedWritings, - info: info, - pitchAccents: pitchAccents, - ), - )); -} - -class $$VocabReadingsTableProcessedTableManager extends ProcessedTableManager< - _$AppDatabase, - $VocabReadingsTable, - VocabReading, - $$VocabReadingsTableFilterComposer, - $$VocabReadingsTableOrderingComposer, - $$VocabReadingsTableProcessedTableManager, - $$VocabReadingsTableInsertCompanionBuilder, - $$VocabReadingsTableUpdateCompanionBuilder> { - $$VocabReadingsTableProcessedTableManager(super.$state); -} - class $$VocabReadingsTableFilterComposer extends FilterComposer<_$AppDatabase, $VocabReadingsTable> { $$VocabReadingsTableFilterComposer(super.$state); @@ -6125,164 +6603,114 @@ class $$VocabReadingsTableOrderingComposer ColumnOrderings(column, joinBuilders: joinBuilders)); } -typedef $$VocabDefinitionsTableInsertCompanionBuilder - = VocabDefinitionsCompanion Function({ - Value id, - required int vocabId, - required String definition, - Value additionalInfo, - Value?> pos, - Value?> appliesTo, - Value?> fields, - Value?> miscInfo, - Value?> dialects, - Value?> examples, - Value?> languageSource, - required bool waseieigo, - Value?> crossReferences, - Value?> antonyms, -}); -typedef $$VocabDefinitionsTableUpdateCompanionBuilder - = VocabDefinitionsCompanion Function({ - Value id, - Value vocabId, - Value definition, - Value additionalInfo, - Value?> pos, - Value?> appliesTo, - Value?> fields, - Value?> miscInfo, - Value?> dialects, - Value?> examples, - Value?> languageSource, - Value waseieigo, - Value?> crossReferences, - Value?> antonyms, -}); - -class $$VocabDefinitionsTableTableManager extends RootTableManager< +class $$VocabReadingsTableTableManager extends RootTableManager< _$AppDatabase, - $VocabDefinitionsTable, - VocabDefinition, - $$VocabDefinitionsTableFilterComposer, - $$VocabDefinitionsTableOrderingComposer, - $$VocabDefinitionsTableProcessedTableManager, - $$VocabDefinitionsTableInsertCompanionBuilder, - $$VocabDefinitionsTableUpdateCompanionBuilder> { - $$VocabDefinitionsTableTableManager( - _$AppDatabase db, $VocabDefinitionsTable table) + $VocabReadingsTable, + VocabReading, + $$VocabReadingsTableFilterComposer, + $$VocabReadingsTableOrderingComposer, + $$VocabReadingsTableCreateCompanionBuilder, + $$VocabReadingsTableUpdateCompanionBuilder, + ( + VocabReading, + BaseReferences<_$AppDatabase, $VocabReadingsTable, VocabReading> + ), + VocabReading, + PrefetchHooks Function()> { + $$VocabReadingsTableTableManager(_$AppDatabase db, $VocabReadingsTable table) : super(TableManagerState( db: db, table: table, filteringComposer: - $$VocabDefinitionsTableFilterComposer(ComposerState(db, table)), + $$VocabReadingsTableFilterComposer(ComposerState(db, table)), orderingComposer: - $$VocabDefinitionsTableOrderingComposer(ComposerState(db, table)), - getChildManagerBuilder: (p) => - $$VocabDefinitionsTableProcessedTableManager(p), - getUpdateCompanionBuilder: ({ + $$VocabReadingsTableOrderingComposer(ComposerState(db, table)), + updateCompanionCallback: ({ Value id = const Value.absent(), Value vocabId = const Value.absent(), - Value definition = const Value.absent(), - Value additionalInfo = const Value.absent(), - Value?> pos = const Value.absent(), - Value?> appliesTo = const Value.absent(), - Value?> fields = const Value.absent(), - Value?> miscInfo = const Value.absent(), - Value?> dialects = const Value.absent(), - Value?> examples = const Value.absent(), - Value?> languageSource = const Value.absent(), - Value waseieigo = const Value.absent(), - Value?> crossReferences = const Value.absent(), - Value?> antonyms = const Value.absent(), + Value reading = const Value.absent(), + Value readingSearchForm = const Value.absent(), + Value readingRomaji = const Value.absent(), + Value readingRomajiSimplified = const Value.absent(), + Value?> associatedWritings = const Value.absent(), + Value?> info = const Value.absent(), + Value?> pitchAccents = const Value.absent(), }) => - VocabDefinitionsCompanion( + VocabReadingsCompanion( id: id, vocabId: vocabId, - definition: definition, - additionalInfo: additionalInfo, - pos: pos, - appliesTo: appliesTo, - fields: fields, - miscInfo: miscInfo, - dialects: dialects, - examples: examples, - languageSource: languageSource, - waseieigo: waseieigo, - crossReferences: crossReferences, - antonyms: antonyms, + reading: reading, + readingSearchForm: readingSearchForm, + readingRomaji: readingRomaji, + readingRomajiSimplified: readingRomajiSimplified, + associatedWritings: associatedWritings, + info: info, + pitchAccents: pitchAccents, ), - getInsertCompanionBuilder: ({ + createCompanionCallback: ({ Value id = const Value.absent(), required int vocabId, - required String definition, - Value additionalInfo = const Value.absent(), - Value?> pos = const Value.absent(), - Value?> appliesTo = const Value.absent(), - Value?> fields = const Value.absent(), - Value?> miscInfo = const Value.absent(), - Value?> dialects = const Value.absent(), - Value?> examples = const Value.absent(), - Value?> languageSource = const Value.absent(), - required bool waseieigo, - Value?> crossReferences = const Value.absent(), - Value?> antonyms = const Value.absent(), + required String reading, + Value readingSearchForm = const Value.absent(), + required String readingRomaji, + Value readingRomajiSimplified = const Value.absent(), + Value?> associatedWritings = const Value.absent(), + Value?> info = const Value.absent(), + Value?> pitchAccents = const Value.absent(), }) => - VocabDefinitionsCompanion.insert( + VocabReadingsCompanion.insert( id: id, vocabId: vocabId, - definition: definition, - additionalInfo: additionalInfo, - pos: pos, - appliesTo: appliesTo, - fields: fields, - miscInfo: miscInfo, - dialects: dialects, - examples: examples, - languageSource: languageSource, - waseieigo: waseieigo, - crossReferences: crossReferences, - antonyms: antonyms, + reading: reading, + readingSearchForm: readingSearchForm, + readingRomaji: readingRomaji, + readingRomajiSimplified: readingRomajiSimplified, + associatedWritings: associatedWritings, + info: info, + pitchAccents: pitchAccents, ), + withReferenceMapper: (p0) => p0 + .map((e) => (e.readTable(table), BaseReferences(db, table, e))) + .toList(), + prefetchHooksCallback: null, )); } -class $$VocabDefinitionsTableProcessedTableManager - extends ProcessedTableManager< - _$AppDatabase, - $VocabDefinitionsTable, - VocabDefinition, - $$VocabDefinitionsTableFilterComposer, - $$VocabDefinitionsTableOrderingComposer, - $$VocabDefinitionsTableProcessedTableManager, - $$VocabDefinitionsTableInsertCompanionBuilder, - $$VocabDefinitionsTableUpdateCompanionBuilder> { - $$VocabDefinitionsTableProcessedTableManager(super.$state); -} +typedef $$VocabReadingsTableProcessedTableManager = ProcessedTableManager< + _$AppDatabase, + $VocabReadingsTable, + VocabReading, + $$VocabReadingsTableFilterComposer, + $$VocabReadingsTableOrderingComposer, + $$VocabReadingsTableCreateCompanionBuilder, + $$VocabReadingsTableUpdateCompanionBuilder, + ( + VocabReading, + BaseReferences<_$AppDatabase, $VocabReadingsTable, VocabReading> + ), + VocabReading, + PrefetchHooks Function()>; +typedef $$VocabsTableCreateCompanionBuilder = VocabsCompanion Function({ + Value id, + Value?> pos, + Value common, + Value frequencyScore, +}); +typedef $$VocabsTableUpdateCompanionBuilder = VocabsCompanion Function({ + Value id, + Value?> pos, + Value common, + Value frequencyScore, +}); -class $$VocabDefinitionsTableFilterComposer - extends FilterComposer<_$AppDatabase, $VocabDefinitionsTable> { - $$VocabDefinitionsTableFilterComposer(super.$state); +class $$VocabsTableFilterComposer + extends FilterComposer<_$AppDatabase, $VocabsTable> { + $$VocabsTableFilterComposer(super.$state); ColumnFilters get id => $state.composableBuilder( column: $state.table.id, builder: (column, joinBuilders) => ColumnFilters(column, joinBuilders: joinBuilders)); - ColumnFilters get vocabId => $state.composableBuilder( - column: $state.table.vocabId, - builder: (column, joinBuilders) => - ColumnFilters(column, joinBuilders: joinBuilders)); - - ColumnFilters get definition => $state.composableBuilder( - column: $state.table.definition, - builder: (column, joinBuilders) => - ColumnFilters(column, joinBuilders: joinBuilders)); - - ColumnFilters get additionalInfo => $state.composableBuilder( - column: $state.table.additionalInfo, - builder: (column, joinBuilders) => - ColumnFilters(column, joinBuilders: joinBuilders)); - ColumnWithTypeConverterFilters?, List, String> get pos => $state.composableBuilder( @@ -6291,30 +6719,192 @@ class $$VocabDefinitionsTableFilterComposer column, joinBuilders: joinBuilders)); - ColumnWithTypeConverterFilters?, List, String> - get appliesTo => $state.composableBuilder( - column: $state.table.appliesTo, - builder: (column, joinBuilders) => ColumnWithTypeConverterFilters( - column, - joinBuilders: joinBuilders)); - - ColumnWithTypeConverterFilters?, List, String> - get fields => $state.composableBuilder( - column: $state.table.fields, - builder: (column, joinBuilders) => ColumnWithTypeConverterFilters( - column, - joinBuilders: joinBuilders)); + ColumnFilters get common => $state.composableBuilder( + column: $state.table.common, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); - ColumnWithTypeConverterFilters?, - List, String> - get miscInfo => $state.composableBuilder( - column: $state.table.miscInfo, - builder: (column, joinBuilders) => ColumnWithTypeConverterFilters( - column, - joinBuilders: joinBuilders)); + ColumnFilters get frequencyScore => $state.composableBuilder( + column: $state.table.frequencyScore, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); +} - ColumnWithTypeConverterFilters?, List, String> - get dialects => $state.composableBuilder( +class $$VocabsTableOrderingComposer + extends OrderingComposer<_$AppDatabase, $VocabsTable> { + $$VocabsTableOrderingComposer(super.$state); + ColumnOrderings get id => $state.composableBuilder( + column: $state.table.id, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get pos => $state.composableBuilder( + column: $state.table.pos, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get common => $state.composableBuilder( + column: $state.table.common, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get frequencyScore => $state.composableBuilder( + column: $state.table.frequencyScore, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); +} + +class $$VocabsTableTableManager extends RootTableManager< + _$AppDatabase, + $VocabsTable, + Vocab, + $$VocabsTableFilterComposer, + $$VocabsTableOrderingComposer, + $$VocabsTableCreateCompanionBuilder, + $$VocabsTableUpdateCompanionBuilder, + (Vocab, BaseReferences<_$AppDatabase, $VocabsTable, Vocab>), + Vocab, + PrefetchHooks Function()> { + $$VocabsTableTableManager(_$AppDatabase db, $VocabsTable table) + : super(TableManagerState( + db: db, + table: table, + filteringComposer: + $$VocabsTableFilterComposer(ComposerState(db, table)), + orderingComposer: + $$VocabsTableOrderingComposer(ComposerState(db, table)), + updateCompanionCallback: ({ + Value id = const Value.absent(), + Value?> pos = const Value.absent(), + Value common = const Value.absent(), + Value frequencyScore = const Value.absent(), + }) => + VocabsCompanion( + id: id, + pos: pos, + common: common, + frequencyScore: frequencyScore, + ), + createCompanionCallback: ({ + Value id = const Value.absent(), + Value?> pos = const Value.absent(), + Value common = const Value.absent(), + Value frequencyScore = const Value.absent(), + }) => + VocabsCompanion.insert( + id: id, + pos: pos, + common: common, + frequencyScore: frequencyScore, + ), + withReferenceMapper: (p0) => p0 + .map((e) => (e.readTable(table), BaseReferences(db, table, e))) + .toList(), + prefetchHooksCallback: null, + )); +} + +typedef $$VocabsTableProcessedTableManager = ProcessedTableManager< + _$AppDatabase, + $VocabsTable, + Vocab, + $$VocabsTableFilterComposer, + $$VocabsTableOrderingComposer, + $$VocabsTableCreateCompanionBuilder, + $$VocabsTableUpdateCompanionBuilder, + (Vocab, BaseReferences<_$AppDatabase, $VocabsTable, Vocab>), + Vocab, + PrefetchHooks Function()>; +typedef $$VocabDefinitionsTableCreateCompanionBuilder + = VocabDefinitionsCompanion Function({ + Value id, + required int vocabId, + required String definition, + Value additionalInfo, + Value?> pos, + Value?> appliesTo, + Value?> fields, + Value?> miscInfo, + Value?> dialects, + Value?> examples, + Value?> languageSource, + required bool waseieigo, + Value?> crossReferences, + Value?> antonyms, +}); +typedef $$VocabDefinitionsTableUpdateCompanionBuilder + = VocabDefinitionsCompanion Function({ + Value id, + Value vocabId, + Value definition, + Value additionalInfo, + Value?> pos, + Value?> appliesTo, + Value?> fields, + Value?> miscInfo, + Value?> dialects, + Value?> examples, + Value?> languageSource, + Value waseieigo, + Value?> crossReferences, + Value?> antonyms, +}); + +class $$VocabDefinitionsTableFilterComposer + extends FilterComposer<_$AppDatabase, $VocabDefinitionsTable> { + $$VocabDefinitionsTableFilterComposer(super.$state); + ColumnFilters get id => $state.composableBuilder( + column: $state.table.id, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get vocabId => $state.composableBuilder( + column: $state.table.vocabId, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get definition => $state.composableBuilder( + column: $state.table.definition, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get additionalInfo => $state.composableBuilder( + column: $state.table.additionalInfo, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnWithTypeConverterFilters?, List, + String> + get pos => $state.composableBuilder( + column: $state.table.pos, + builder: (column, joinBuilders) => ColumnWithTypeConverterFilters( + column, + joinBuilders: joinBuilders)); + + ColumnWithTypeConverterFilters?, List, String> + get appliesTo => $state.composableBuilder( + column: $state.table.appliesTo, + builder: (column, joinBuilders) => ColumnWithTypeConverterFilters( + column, + joinBuilders: joinBuilders)); + + ColumnWithTypeConverterFilters?, List, String> + get fields => $state.composableBuilder( + column: $state.table.fields, + builder: (column, joinBuilders) => ColumnWithTypeConverterFilters( + column, + joinBuilders: joinBuilders)); + + ColumnWithTypeConverterFilters?, + List, String> + get miscInfo => $state.composableBuilder( + column: $state.table.miscInfo, + builder: (column, joinBuilders) => ColumnWithTypeConverterFilters( + column, + joinBuilders: joinBuilders)); + + ColumnWithTypeConverterFilters?, List, String> + get dialects => $state.composableBuilder( column: $state.table.dialects, builder: (column, joinBuilders) => ColumnWithTypeConverterFilters( column, @@ -6432,78 +7022,135 @@ class $$VocabDefinitionsTableOrderingComposer ColumnOrderings(column, joinBuilders: joinBuilders)); } -typedef $$VocabDefinitionWordsTableInsertCompanionBuilder - = VocabDefinitionWordsCompanion Function({ - required String word, - required int vocabId, - Value rowid, -}); -typedef $$VocabDefinitionWordsTableUpdateCompanionBuilder - = VocabDefinitionWordsCompanion Function({ - Value word, - Value vocabId, - Value rowid, -}); - -class $$VocabDefinitionWordsTableTableManager extends RootTableManager< +class $$VocabDefinitionsTableTableManager extends RootTableManager< _$AppDatabase, - $VocabDefinitionWordsTable, - VocabDefinitionWord, - $$VocabDefinitionWordsTableFilterComposer, - $$VocabDefinitionWordsTableOrderingComposer, - $$VocabDefinitionWordsTableProcessedTableManager, - $$VocabDefinitionWordsTableInsertCompanionBuilder, - $$VocabDefinitionWordsTableUpdateCompanionBuilder> { - $$VocabDefinitionWordsTableTableManager( - _$AppDatabase db, $VocabDefinitionWordsTable table) + $VocabDefinitionsTable, + VocabDefinition, + $$VocabDefinitionsTableFilterComposer, + $$VocabDefinitionsTableOrderingComposer, + $$VocabDefinitionsTableCreateCompanionBuilder, + $$VocabDefinitionsTableUpdateCompanionBuilder, + ( + VocabDefinition, + BaseReferences<_$AppDatabase, $VocabDefinitionsTable, VocabDefinition> + ), + VocabDefinition, + PrefetchHooks Function()> { + $$VocabDefinitionsTableTableManager( + _$AppDatabase db, $VocabDefinitionsTable table) : super(TableManagerState( db: db, table: table, - filteringComposer: $$VocabDefinitionWordsTableFilterComposer( - ComposerState(db, table)), - orderingComposer: $$VocabDefinitionWordsTableOrderingComposer( - ComposerState(db, table)), - getChildManagerBuilder: (p) => - $$VocabDefinitionWordsTableProcessedTableManager(p), - getUpdateCompanionBuilder: ({ - Value word = const Value.absent(), + filteringComposer: + $$VocabDefinitionsTableFilterComposer(ComposerState(db, table)), + orderingComposer: + $$VocabDefinitionsTableOrderingComposer(ComposerState(db, table)), + updateCompanionCallback: ({ + Value id = const Value.absent(), Value vocabId = const Value.absent(), - Value rowid = const Value.absent(), + Value definition = const Value.absent(), + Value additionalInfo = const Value.absent(), + Value?> pos = const Value.absent(), + Value?> appliesTo = const Value.absent(), + Value?> fields = const Value.absent(), + Value?> miscInfo = const Value.absent(), + Value?> dialects = const Value.absent(), + Value?> examples = const Value.absent(), + Value?> languageSource = const Value.absent(), + Value waseieigo = const Value.absent(), + Value?> crossReferences = const Value.absent(), + Value?> antonyms = const Value.absent(), }) => - VocabDefinitionWordsCompanion( - word: word, + VocabDefinitionsCompanion( + id: id, vocabId: vocabId, - rowid: rowid, + definition: definition, + additionalInfo: additionalInfo, + pos: pos, + appliesTo: appliesTo, + fields: fields, + miscInfo: miscInfo, + dialects: dialects, + examples: examples, + languageSource: languageSource, + waseieigo: waseieigo, + crossReferences: crossReferences, + antonyms: antonyms, ), - getInsertCompanionBuilder: ({ - required String word, + createCompanionCallback: ({ + Value id = const Value.absent(), required int vocabId, - Value rowid = const Value.absent(), + required String definition, + Value additionalInfo = const Value.absent(), + Value?> pos = const Value.absent(), + Value?> appliesTo = const Value.absent(), + Value?> fields = const Value.absent(), + Value?> miscInfo = const Value.absent(), + Value?> dialects = const Value.absent(), + Value?> examples = const Value.absent(), + Value?> languageSource = const Value.absent(), + required bool waseieigo, + Value?> crossReferences = const Value.absent(), + Value?> antonyms = const Value.absent(), }) => - VocabDefinitionWordsCompanion.insert( - word: word, + VocabDefinitionsCompanion.insert( + id: id, vocabId: vocabId, - rowid: rowid, + definition: definition, + additionalInfo: additionalInfo, + pos: pos, + appliesTo: appliesTo, + fields: fields, + miscInfo: miscInfo, + dialects: dialects, + examples: examples, + languageSource: languageSource, + waseieigo: waseieigo, + crossReferences: crossReferences, + antonyms: antonyms, ), + withReferenceMapper: (p0) => p0 + .map((e) => (e.readTable(table), BaseReferences(db, table, e))) + .toList(), + prefetchHooksCallback: null, )); } -class $$VocabDefinitionWordsTableProcessedTableManager - extends ProcessedTableManager< - _$AppDatabase, - $VocabDefinitionWordsTable, - VocabDefinitionWord, - $$VocabDefinitionWordsTableFilterComposer, - $$VocabDefinitionWordsTableOrderingComposer, - $$VocabDefinitionWordsTableProcessedTableManager, - $$VocabDefinitionWordsTableInsertCompanionBuilder, - $$VocabDefinitionWordsTableUpdateCompanionBuilder> { - $$VocabDefinitionWordsTableProcessedTableManager(super.$state); -} +typedef $$VocabDefinitionsTableProcessedTableManager = ProcessedTableManager< + _$AppDatabase, + $VocabDefinitionsTable, + VocabDefinition, + $$VocabDefinitionsTableFilterComposer, + $$VocabDefinitionsTableOrderingComposer, + $$VocabDefinitionsTableCreateCompanionBuilder, + $$VocabDefinitionsTableUpdateCompanionBuilder, + ( + VocabDefinition, + BaseReferences<_$AppDatabase, $VocabDefinitionsTable, VocabDefinition> + ), + VocabDefinition, + PrefetchHooks Function()>; +typedef $$VocabDefinitionWordsTableCreateCompanionBuilder + = VocabDefinitionWordsCompanion Function({ + Value id, + required String word, + required int vocabId, +}); +typedef $$VocabDefinitionWordsTableUpdateCompanionBuilder + = VocabDefinitionWordsCompanion Function({ + Value id, + Value word, + Value vocabId, +}); class $$VocabDefinitionWordsTableFilterComposer extends FilterComposer<_$AppDatabase, $VocabDefinitionWordsTable> { $$VocabDefinitionWordsTableFilterComposer(super.$state); + ColumnFilters get id => $state.composableBuilder( + column: $state.table.id, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + ColumnFilters get word => $state.composableBuilder( column: $state.table.word, builder: (column, joinBuilders) => @@ -6518,712 +7165,2520 @@ class $$VocabDefinitionWordsTableFilterComposer class $$VocabDefinitionWordsTableOrderingComposer extends OrderingComposer<_$AppDatabase, $VocabDefinitionWordsTable> { $$VocabDefinitionWordsTableOrderingComposer(super.$state); - ColumnOrderings get word => $state.composableBuilder( + ColumnOrderings get id => $state.composableBuilder( + column: $state.table.id, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get word => $state.composableBuilder( column: $state.table.word, builder: (column, joinBuilders) => ColumnOrderings(column, joinBuilders: joinBuilders)); - ColumnOrderings get vocabId => $state.composableBuilder( - column: $state.table.vocabId, + ColumnOrderings get vocabId => $state.composableBuilder( + column: $state.table.vocabId, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); +} + +class $$VocabDefinitionWordsTableTableManager extends RootTableManager< + _$AppDatabase, + $VocabDefinitionWordsTable, + VocabDefinitionWord, + $$VocabDefinitionWordsTableFilterComposer, + $$VocabDefinitionWordsTableOrderingComposer, + $$VocabDefinitionWordsTableCreateCompanionBuilder, + $$VocabDefinitionWordsTableUpdateCompanionBuilder, + ( + VocabDefinitionWord, + BaseReferences<_$AppDatabase, $VocabDefinitionWordsTable, + VocabDefinitionWord> + ), + VocabDefinitionWord, + PrefetchHooks Function()> { + $$VocabDefinitionWordsTableTableManager( + _$AppDatabase db, $VocabDefinitionWordsTable table) + : super(TableManagerState( + db: db, + table: table, + filteringComposer: $$VocabDefinitionWordsTableFilterComposer( + ComposerState(db, table)), + orderingComposer: $$VocabDefinitionWordsTableOrderingComposer( + ComposerState(db, table)), + updateCompanionCallback: ({ + Value id = const Value.absent(), + Value word = const Value.absent(), + Value vocabId = const Value.absent(), + }) => + VocabDefinitionWordsCompanion( + id: id, + word: word, + vocabId: vocabId, + ), + createCompanionCallback: ({ + Value id = const Value.absent(), + required String word, + required int vocabId, + }) => + VocabDefinitionWordsCompanion.insert( + id: id, + word: word, + vocabId: vocabId, + ), + withReferenceMapper: (p0) => p0 + .map((e) => (e.readTable(table), BaseReferences(db, table, e))) + .toList(), + prefetchHooksCallback: null, + )); +} + +typedef $$VocabDefinitionWordsTableProcessedTableManager + = ProcessedTableManager< + _$AppDatabase, + $VocabDefinitionWordsTable, + VocabDefinitionWord, + $$VocabDefinitionWordsTableFilterComposer, + $$VocabDefinitionWordsTableOrderingComposer, + $$VocabDefinitionWordsTableCreateCompanionBuilder, + $$VocabDefinitionWordsTableUpdateCompanionBuilder, + ( + VocabDefinitionWord, + BaseReferences<_$AppDatabase, $VocabDefinitionWordsTable, + VocabDefinitionWord> + ), + VocabDefinitionWord, + PrefetchHooks Function()>; +typedef $$KanjisTableCreateCompanionBuilder = KanjisCompanion Function({ + Value id, + required String kanji, + required String radical, + Value?> components, + Value grade, + required int strokeCount, + Value frequency, + Value jlpt, + Value meaning, + Value?> strokes, + Value?> compounds, +}); +typedef $$KanjisTableUpdateCompanionBuilder = KanjisCompanion Function({ + Value id, + Value kanji, + Value radical, + Value?> components, + Value grade, + Value strokeCount, + Value frequency, + Value jlpt, + Value meaning, + Value?> strokes, + Value?> compounds, +}); + +class $$KanjisTableFilterComposer + extends FilterComposer<_$AppDatabase, $KanjisTable> { + $$KanjisTableFilterComposer(super.$state); + ColumnFilters get id => $state.composableBuilder( + column: $state.table.id, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get kanji => $state.composableBuilder( + column: $state.table.kanji, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get radical => $state.composableBuilder( + column: $state.table.radical, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnWithTypeConverterFilters?, List, String> + get components => $state.composableBuilder( + column: $state.table.components, + builder: (column, joinBuilders) => ColumnWithTypeConverterFilters( + column, + joinBuilders: joinBuilders)); + + ColumnWithTypeConverterFilters get grade => + $state.composableBuilder( + column: $state.table.grade, + builder: (column, joinBuilders) => ColumnWithTypeConverterFilters( + column, + joinBuilders: joinBuilders)); + + ColumnFilters get strokeCount => $state.composableBuilder( + column: $state.table.strokeCount, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get frequency => $state.composableBuilder( + column: $state.table.frequency, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnWithTypeConverterFilters get jlpt => + $state.composableBuilder( + column: $state.table.jlpt, + builder: (column, joinBuilders) => ColumnWithTypeConverterFilters( + column, + joinBuilders: joinBuilders)); + + ColumnFilters get meaning => $state.composableBuilder( + column: $state.table.meaning, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnWithTypeConverterFilters?, List, String> + get strokes => $state.composableBuilder( + column: $state.table.strokes, + builder: (column, joinBuilders) => ColumnWithTypeConverterFilters( + column, + joinBuilders: joinBuilders)); + + ColumnWithTypeConverterFilters?, List, String> get compounds => + $state.composableBuilder( + column: $state.table.compounds, + builder: (column, joinBuilders) => ColumnWithTypeConverterFilters( + column, + joinBuilders: joinBuilders)); +} + +class $$KanjisTableOrderingComposer + extends OrderingComposer<_$AppDatabase, $KanjisTable> { + $$KanjisTableOrderingComposer(super.$state); + ColumnOrderings get id => $state.composableBuilder( + column: $state.table.id, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get kanji => $state.composableBuilder( + column: $state.table.kanji, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get radical => $state.composableBuilder( + column: $state.table.radical, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get components => $state.composableBuilder( + column: $state.table.components, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get grade => $state.composableBuilder( + column: $state.table.grade, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get strokeCount => $state.composableBuilder( + column: $state.table.strokeCount, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get frequency => $state.composableBuilder( + column: $state.table.frequency, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get jlpt => $state.composableBuilder( + column: $state.table.jlpt, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get meaning => $state.composableBuilder( + column: $state.table.meaning, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get strokes => $state.composableBuilder( + column: $state.table.strokes, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get compounds => $state.composableBuilder( + column: $state.table.compounds, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); +} + +class $$KanjisTableTableManager extends RootTableManager< + _$AppDatabase, + $KanjisTable, + Kanji, + $$KanjisTableFilterComposer, + $$KanjisTableOrderingComposer, + $$KanjisTableCreateCompanionBuilder, + $$KanjisTableUpdateCompanionBuilder, + (Kanji, BaseReferences<_$AppDatabase, $KanjisTable, Kanji>), + Kanji, + PrefetchHooks Function()> { + $$KanjisTableTableManager(_$AppDatabase db, $KanjisTable table) + : super(TableManagerState( + db: db, + table: table, + filteringComposer: + $$KanjisTableFilterComposer(ComposerState(db, table)), + orderingComposer: + $$KanjisTableOrderingComposer(ComposerState(db, table)), + updateCompanionCallback: ({ + Value id = const Value.absent(), + Value kanji = const Value.absent(), + Value radical = const Value.absent(), + Value?> components = const Value.absent(), + Value grade = const Value.absent(), + Value strokeCount = const Value.absent(), + Value frequency = const Value.absent(), + Value jlpt = const Value.absent(), + Value meaning = const Value.absent(), + Value?> strokes = const Value.absent(), + Value?> compounds = const Value.absent(), + }) => + KanjisCompanion( + id: id, + kanji: kanji, + radical: radical, + components: components, + grade: grade, + strokeCount: strokeCount, + frequency: frequency, + jlpt: jlpt, + meaning: meaning, + strokes: strokes, + compounds: compounds, + ), + createCompanionCallback: ({ + Value id = const Value.absent(), + required String kanji, + required String radical, + Value?> components = const Value.absent(), + Value grade = const Value.absent(), + required int strokeCount, + Value frequency = const Value.absent(), + Value jlpt = const Value.absent(), + Value meaning = const Value.absent(), + Value?> strokes = const Value.absent(), + Value?> compounds = const Value.absent(), + }) => + KanjisCompanion.insert( + id: id, + kanji: kanji, + radical: radical, + components: components, + grade: grade, + strokeCount: strokeCount, + frequency: frequency, + jlpt: jlpt, + meaning: meaning, + strokes: strokes, + compounds: compounds, + ), + withReferenceMapper: (p0) => p0 + .map((e) => (e.readTable(table), BaseReferences(db, table, e))) + .toList(), + prefetchHooksCallback: null, + )); +} + +typedef $$KanjisTableProcessedTableManager = ProcessedTableManager< + _$AppDatabase, + $KanjisTable, + Kanji, + $$KanjisTableFilterComposer, + $$KanjisTableOrderingComposer, + $$KanjisTableCreateCompanionBuilder, + $$KanjisTableUpdateCompanionBuilder, + (Kanji, BaseReferences<_$AppDatabase, $KanjisTable, Kanji>), + Kanji, + PrefetchHooks Function()>; +typedef $$KanjiReadingsTableCreateCompanionBuilder = KanjiReadingsCompanion + Function({ + Value id, + required int kanjiId, + required String reading, + Value readingSearchForm, + required String readingRomaji, + Value readingRomajiSimplified, + required KanjiReadingType type, +}); +typedef $$KanjiReadingsTableUpdateCompanionBuilder = KanjiReadingsCompanion + Function({ + Value id, + Value kanjiId, + Value reading, + Value readingSearchForm, + Value readingRomaji, + Value readingRomajiSimplified, + Value type, +}); + +class $$KanjiReadingsTableFilterComposer + extends FilterComposer<_$AppDatabase, $KanjiReadingsTable> { + $$KanjiReadingsTableFilterComposer(super.$state); + ColumnFilters get id => $state.composableBuilder( + column: $state.table.id, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get kanjiId => $state.composableBuilder( + column: $state.table.kanjiId, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get reading => $state.composableBuilder( + column: $state.table.reading, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get readingSearchForm => $state.composableBuilder( + column: $state.table.readingSearchForm, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get readingRomaji => $state.composableBuilder( + column: $state.table.readingRomaji, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get readingRomajiSimplified => $state.composableBuilder( + column: $state.table.readingRomajiSimplified, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnWithTypeConverterFilters + get type => $state.composableBuilder( + column: $state.table.type, + builder: (column, joinBuilders) => ColumnWithTypeConverterFilters( + column, + joinBuilders: joinBuilders)); +} + +class $$KanjiReadingsTableOrderingComposer + extends OrderingComposer<_$AppDatabase, $KanjiReadingsTable> { + $$KanjiReadingsTableOrderingComposer(super.$state); + ColumnOrderings get id => $state.composableBuilder( + column: $state.table.id, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get kanjiId => $state.composableBuilder( + column: $state.table.kanjiId, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get reading => $state.composableBuilder( + column: $state.table.reading, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get readingSearchForm => $state.composableBuilder( + column: $state.table.readingSearchForm, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get readingRomaji => $state.composableBuilder( + column: $state.table.readingRomaji, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get readingRomajiSimplified => + $state.composableBuilder( + column: $state.table.readingRomajiSimplified, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get type => $state.composableBuilder( + column: $state.table.type, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); +} + +class $$KanjiReadingsTableTableManager extends RootTableManager< + _$AppDatabase, + $KanjiReadingsTable, + KanjiReading, + $$KanjiReadingsTableFilterComposer, + $$KanjiReadingsTableOrderingComposer, + $$KanjiReadingsTableCreateCompanionBuilder, + $$KanjiReadingsTableUpdateCompanionBuilder, + ( + KanjiReading, + BaseReferences<_$AppDatabase, $KanjiReadingsTable, KanjiReading> + ), + KanjiReading, + PrefetchHooks Function()> { + $$KanjiReadingsTableTableManager(_$AppDatabase db, $KanjiReadingsTable table) + : super(TableManagerState( + db: db, + table: table, + filteringComposer: + $$KanjiReadingsTableFilterComposer(ComposerState(db, table)), + orderingComposer: + $$KanjiReadingsTableOrderingComposer(ComposerState(db, table)), + updateCompanionCallback: ({ + Value id = const Value.absent(), + Value kanjiId = const Value.absent(), + Value reading = const Value.absent(), + Value readingSearchForm = const Value.absent(), + Value readingRomaji = const Value.absent(), + Value readingRomajiSimplified = const Value.absent(), + Value type = const Value.absent(), + }) => + KanjiReadingsCompanion( + id: id, + kanjiId: kanjiId, + reading: reading, + readingSearchForm: readingSearchForm, + readingRomaji: readingRomaji, + readingRomajiSimplified: readingRomajiSimplified, + type: type, + ), + createCompanionCallback: ({ + Value id = const Value.absent(), + required int kanjiId, + required String reading, + Value readingSearchForm = const Value.absent(), + required String readingRomaji, + Value readingRomajiSimplified = const Value.absent(), + required KanjiReadingType type, + }) => + KanjiReadingsCompanion.insert( + id: id, + kanjiId: kanjiId, + reading: reading, + readingSearchForm: readingSearchForm, + readingRomaji: readingRomaji, + readingRomajiSimplified: readingRomajiSimplified, + type: type, + ), + withReferenceMapper: (p0) => p0 + .map((e) => (e.readTable(table), BaseReferences(db, table, e))) + .toList(), + prefetchHooksCallback: null, + )); +} + +typedef $$KanjiReadingsTableProcessedTableManager = ProcessedTableManager< + _$AppDatabase, + $KanjiReadingsTable, + KanjiReading, + $$KanjiReadingsTableFilterComposer, + $$KanjiReadingsTableOrderingComposer, + $$KanjiReadingsTableCreateCompanionBuilder, + $$KanjiReadingsTableUpdateCompanionBuilder, + ( + KanjiReading, + BaseReferences<_$AppDatabase, $KanjiReadingsTable, KanjiReading> + ), + KanjiReading, + PrefetchHooks Function()>; +typedef $$KanjiMeaningWordsTableCreateCompanionBuilder + = KanjiMeaningWordsCompanion Function({ + Value id, + required String word, + required int kanjiId, +}); +typedef $$KanjiMeaningWordsTableUpdateCompanionBuilder + = KanjiMeaningWordsCompanion Function({ + Value id, + Value word, + Value kanjiId, +}); + +class $$KanjiMeaningWordsTableFilterComposer + extends FilterComposer<_$AppDatabase, $KanjiMeaningWordsTable> { + $$KanjiMeaningWordsTableFilterComposer(super.$state); + ColumnFilters get id => $state.composableBuilder( + column: $state.table.id, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get word => $state.composableBuilder( + column: $state.table.word, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get kanjiId => $state.composableBuilder( + column: $state.table.kanjiId, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); +} + +class $$KanjiMeaningWordsTableOrderingComposer + extends OrderingComposer<_$AppDatabase, $KanjiMeaningWordsTable> { + $$KanjiMeaningWordsTableOrderingComposer(super.$state); + ColumnOrderings get id => $state.composableBuilder( + column: $state.table.id, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get word => $state.composableBuilder( + column: $state.table.word, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get kanjiId => $state.composableBuilder( + column: $state.table.kanjiId, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); +} + +class $$KanjiMeaningWordsTableTableManager extends RootTableManager< + _$AppDatabase, + $KanjiMeaningWordsTable, + KanjiMeaningWord, + $$KanjiMeaningWordsTableFilterComposer, + $$KanjiMeaningWordsTableOrderingComposer, + $$KanjiMeaningWordsTableCreateCompanionBuilder, + $$KanjiMeaningWordsTableUpdateCompanionBuilder, + ( + KanjiMeaningWord, + BaseReferences<_$AppDatabase, $KanjiMeaningWordsTable, KanjiMeaningWord> + ), + KanjiMeaningWord, + PrefetchHooks Function()> { + $$KanjiMeaningWordsTableTableManager( + _$AppDatabase db, $KanjiMeaningWordsTable table) + : super(TableManagerState( + db: db, + table: table, + filteringComposer: + $$KanjiMeaningWordsTableFilterComposer(ComposerState(db, table)), + orderingComposer: $$KanjiMeaningWordsTableOrderingComposer( + ComposerState(db, table)), + updateCompanionCallback: ({ + Value id = const Value.absent(), + Value word = const Value.absent(), + Value kanjiId = const Value.absent(), + }) => + KanjiMeaningWordsCompanion( + id: id, + word: word, + kanjiId: kanjiId, + ), + createCompanionCallback: ({ + Value id = const Value.absent(), + required String word, + required int kanjiId, + }) => + KanjiMeaningWordsCompanion.insert( + id: id, + word: word, + kanjiId: kanjiId, + ), + withReferenceMapper: (p0) => p0 + .map((e) => (e.readTable(table), BaseReferences(db, table, e))) + .toList(), + prefetchHooksCallback: null, + )); +} + +typedef $$KanjiMeaningWordsTableProcessedTableManager = ProcessedTableManager< + _$AppDatabase, + $KanjiMeaningWordsTable, + KanjiMeaningWord, + $$KanjiMeaningWordsTableFilterComposer, + $$KanjiMeaningWordsTableOrderingComposer, + $$KanjiMeaningWordsTableCreateCompanionBuilder, + $$KanjiMeaningWordsTableUpdateCompanionBuilder, + ( + KanjiMeaningWord, + BaseReferences<_$AppDatabase, $KanjiMeaningWordsTable, KanjiMeaningWord> + ), + KanjiMeaningWord, + PrefetchHooks Function()>; +typedef $$TextAnalysisHistoryItemsTableCreateCompanionBuilder + = TextAnalysisHistoryItemsCompanion Function({ + Value id, + required String analysisText, +}); +typedef $$TextAnalysisHistoryItemsTableUpdateCompanionBuilder + = TextAnalysisHistoryItemsCompanion Function({ + Value id, + Value analysisText, +}); + +class $$TextAnalysisHistoryItemsTableFilterComposer + extends FilterComposer<_$AppDatabase, $TextAnalysisHistoryItemsTable> { + $$TextAnalysisHistoryItemsTableFilterComposer(super.$state); + ColumnFilters get id => $state.composableBuilder( + column: $state.table.id, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get analysisText => $state.composableBuilder( + column: $state.table.analysisText, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); +} + +class $$TextAnalysisHistoryItemsTableOrderingComposer + extends OrderingComposer<_$AppDatabase, $TextAnalysisHistoryItemsTable> { + $$TextAnalysisHistoryItemsTableOrderingComposer(super.$state); + ColumnOrderings get id => $state.composableBuilder( + column: $state.table.id, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get analysisText => $state.composableBuilder( + column: $state.table.analysisText, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); +} + +class $$TextAnalysisHistoryItemsTableTableManager extends RootTableManager< + _$AppDatabase, + $TextAnalysisHistoryItemsTable, + TextAnalysisHistoryItem, + $$TextAnalysisHistoryItemsTableFilterComposer, + $$TextAnalysisHistoryItemsTableOrderingComposer, + $$TextAnalysisHistoryItemsTableCreateCompanionBuilder, + $$TextAnalysisHistoryItemsTableUpdateCompanionBuilder, + ( + TextAnalysisHistoryItem, + BaseReferences<_$AppDatabase, $TextAnalysisHistoryItemsTable, + TextAnalysisHistoryItem> + ), + TextAnalysisHistoryItem, + PrefetchHooks Function()> { + $$TextAnalysisHistoryItemsTableTableManager( + _$AppDatabase db, $TextAnalysisHistoryItemsTable table) + : super(TableManagerState( + db: db, + table: table, + filteringComposer: $$TextAnalysisHistoryItemsTableFilterComposer( + ComposerState(db, table)), + orderingComposer: $$TextAnalysisHistoryItemsTableOrderingComposer( + ComposerState(db, table)), + updateCompanionCallback: ({ + Value id = const Value.absent(), + Value analysisText = const Value.absent(), + }) => + TextAnalysisHistoryItemsCompanion( + id: id, + analysisText: analysisText, + ), + createCompanionCallback: ({ + Value id = const Value.absent(), + required String analysisText, + }) => + TextAnalysisHistoryItemsCompanion.insert( + id: id, + analysisText: analysisText, + ), + withReferenceMapper: (p0) => p0 + .map((e) => (e.readTable(table), BaseReferences(db, table, e))) + .toList(), + prefetchHooksCallback: null, + )); +} + +typedef $$TextAnalysisHistoryItemsTableProcessedTableManager + = ProcessedTableManager< + _$AppDatabase, + $TextAnalysisHistoryItemsTable, + TextAnalysisHistoryItem, + $$TextAnalysisHistoryItemsTableFilterComposer, + $$TextAnalysisHistoryItemsTableOrderingComposer, + $$TextAnalysisHistoryItemsTableCreateCompanionBuilder, + $$TextAnalysisHistoryItemsTableUpdateCompanionBuilder, + ( + TextAnalysisHistoryItem, + BaseReferences<_$AppDatabase, $TextAnalysisHistoryItemsTable, + TextAnalysisHistoryItem> + ), + TextAnalysisHistoryItem, + PrefetchHooks Function()>; +typedef $$SpacedRepetitionDatasTableCreateCompanionBuilder + = SpacedRepetitionDatasCompanion Function({ + required int vocabId, + required int kanjiId, + required FrontType frontType, + required int interval, + required int repetitions, + required double easeFactor, + Value dueDate, + required int totalAnswers, + required int totalWrongAnswers, +}); +typedef $$SpacedRepetitionDatasTableUpdateCompanionBuilder + = SpacedRepetitionDatasCompanion Function({ + Value vocabId, + Value kanjiId, + Value frontType, + Value interval, + Value repetitions, + Value easeFactor, + Value dueDate, + Value totalAnswers, + Value totalWrongAnswers, +}); + +class $$SpacedRepetitionDatasTableFilterComposer + extends FilterComposer<_$AppDatabase, $SpacedRepetitionDatasTable> { + $$SpacedRepetitionDatasTableFilterComposer(super.$state); + ColumnFilters get vocabId => $state.composableBuilder( + column: $state.table.vocabId, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get kanjiId => $state.composableBuilder( + column: $state.table.kanjiId, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnWithTypeConverterFilters get frontType => + $state.composableBuilder( + column: $state.table.frontType, + builder: (column, joinBuilders) => ColumnWithTypeConverterFilters( + column, + joinBuilders: joinBuilders)); + + ColumnFilters get interval => $state.composableBuilder( + column: $state.table.interval, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get repetitions => $state.composableBuilder( + column: $state.table.repetitions, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get easeFactor => $state.composableBuilder( + column: $state.table.easeFactor, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get dueDate => $state.composableBuilder( + column: $state.table.dueDate, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get totalAnswers => $state.composableBuilder( + column: $state.table.totalAnswers, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get totalWrongAnswers => $state.composableBuilder( + column: $state.table.totalWrongAnswers, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); +} + +class $$SpacedRepetitionDatasTableOrderingComposer + extends OrderingComposer<_$AppDatabase, $SpacedRepetitionDatasTable> { + $$SpacedRepetitionDatasTableOrderingComposer(super.$state); + ColumnOrderings get vocabId => $state.composableBuilder( + column: $state.table.vocabId, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get kanjiId => $state.composableBuilder( + column: $state.table.kanjiId, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get frontType => $state.composableBuilder( + column: $state.table.frontType, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get interval => $state.composableBuilder( + column: $state.table.interval, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get repetitions => $state.composableBuilder( + column: $state.table.repetitions, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get easeFactor => $state.composableBuilder( + column: $state.table.easeFactor, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get dueDate => $state.composableBuilder( + column: $state.table.dueDate, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get totalAnswers => $state.composableBuilder( + column: $state.table.totalAnswers, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get totalWrongAnswers => $state.composableBuilder( + column: $state.table.totalWrongAnswers, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); +} + +class $$SpacedRepetitionDatasTableTableManager extends RootTableManager< + _$AppDatabase, + $SpacedRepetitionDatasTable, + SpacedRepetitionData, + $$SpacedRepetitionDatasTableFilterComposer, + $$SpacedRepetitionDatasTableOrderingComposer, + $$SpacedRepetitionDatasTableCreateCompanionBuilder, + $$SpacedRepetitionDatasTableUpdateCompanionBuilder, + ( + SpacedRepetitionData, + BaseReferences<_$AppDatabase, $SpacedRepetitionDatasTable, + SpacedRepetitionData> + ), + SpacedRepetitionData, + PrefetchHooks Function()> { + $$SpacedRepetitionDatasTableTableManager( + _$AppDatabase db, $SpacedRepetitionDatasTable table) + : super(TableManagerState( + db: db, + table: table, + filteringComposer: $$SpacedRepetitionDatasTableFilterComposer( + ComposerState(db, table)), + orderingComposer: $$SpacedRepetitionDatasTableOrderingComposer( + ComposerState(db, table)), + updateCompanionCallback: ({ + Value vocabId = const Value.absent(), + Value kanjiId = const Value.absent(), + Value frontType = const Value.absent(), + Value interval = const Value.absent(), + Value repetitions = const Value.absent(), + Value easeFactor = const Value.absent(), + Value dueDate = const Value.absent(), + Value totalAnswers = const Value.absent(), + Value totalWrongAnswers = const Value.absent(), + }) => + SpacedRepetitionDatasCompanion( + vocabId: vocabId, + kanjiId: kanjiId, + frontType: frontType, + interval: interval, + repetitions: repetitions, + easeFactor: easeFactor, + dueDate: dueDate, + totalAnswers: totalAnswers, + totalWrongAnswers: totalWrongAnswers, + ), + createCompanionCallback: ({ + required int vocabId, + required int kanjiId, + required FrontType frontType, + required int interval, + required int repetitions, + required double easeFactor, + Value dueDate = const Value.absent(), + required int totalAnswers, + required int totalWrongAnswers, + }) => + SpacedRepetitionDatasCompanion.insert( + vocabId: vocabId, + kanjiId: kanjiId, + frontType: frontType, + interval: interval, + repetitions: repetitions, + easeFactor: easeFactor, + dueDate: dueDate, + totalAnswers: totalAnswers, + totalWrongAnswers: totalWrongAnswers, + ), + withReferenceMapper: (p0) => p0 + .map((e) => (e.readTable(table), BaseReferences(db, table, e))) + .toList(), + prefetchHooksCallback: null, + )); +} + +typedef $$SpacedRepetitionDatasTableProcessedTableManager + = ProcessedTableManager< + _$AppDatabase, + $SpacedRepetitionDatasTable, + SpacedRepetitionData, + $$SpacedRepetitionDatasTableFilterComposer, + $$SpacedRepetitionDatasTableOrderingComposer, + $$SpacedRepetitionDatasTableCreateCompanionBuilder, + $$SpacedRepetitionDatasTableUpdateCompanionBuilder, + ( + SpacedRepetitionData, + BaseReferences<_$AppDatabase, $SpacedRepetitionDatasTable, + SpacedRepetitionData> + ), + SpacedRepetitionData, + PrefetchHooks Function()>; +typedef $$SearchHistoryItemsTableCreateCompanionBuilder + = SearchHistoryItemsCompanion Function({ + Value id, + required String searchText, +}); +typedef $$SearchHistoryItemsTableUpdateCompanionBuilder + = SearchHistoryItemsCompanion Function({ + Value id, + Value searchText, +}); + +class $$SearchHistoryItemsTableFilterComposer + extends FilterComposer<_$AppDatabase, $SearchHistoryItemsTable> { + $$SearchHistoryItemsTableFilterComposer(super.$state); + ColumnFilters get id => $state.composableBuilder( + column: $state.table.id, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get searchText => $state.composableBuilder( + column: $state.table.searchText, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); +} + +class $$SearchHistoryItemsTableOrderingComposer + extends OrderingComposer<_$AppDatabase, $SearchHistoryItemsTable> { + $$SearchHistoryItemsTableOrderingComposer(super.$state); + ColumnOrderings get id => $state.composableBuilder( + column: $state.table.id, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get searchText => $state.composableBuilder( + column: $state.table.searchText, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); +} + +class $$SearchHistoryItemsTableTableManager extends RootTableManager< + _$AppDatabase, + $SearchHistoryItemsTable, + SearchHistoryItem, + $$SearchHistoryItemsTableFilterComposer, + $$SearchHistoryItemsTableOrderingComposer, + $$SearchHistoryItemsTableCreateCompanionBuilder, + $$SearchHistoryItemsTableUpdateCompanionBuilder, + ( + SearchHistoryItem, + BaseReferences<_$AppDatabase, $SearchHistoryItemsTable, SearchHistoryItem> + ), + SearchHistoryItem, + PrefetchHooks Function()> { + $$SearchHistoryItemsTableTableManager( + _$AppDatabase db, $SearchHistoryItemsTable table) + : super(TableManagerState( + db: db, + table: table, + filteringComposer: + $$SearchHistoryItemsTableFilterComposer(ComposerState(db, table)), + orderingComposer: $$SearchHistoryItemsTableOrderingComposer( + ComposerState(db, table)), + updateCompanionCallback: ({ + Value id = const Value.absent(), + Value searchText = const Value.absent(), + }) => + SearchHistoryItemsCompanion( + id: id, + searchText: searchText, + ), + createCompanionCallback: ({ + Value id = const Value.absent(), + required String searchText, + }) => + SearchHistoryItemsCompanion.insert( + id: id, + searchText: searchText, + ), + withReferenceMapper: (p0) => p0 + .map((e) => (e.readTable(table), BaseReferences(db, table, e))) + .toList(), + prefetchHooksCallback: null, + )); +} + +typedef $$SearchHistoryItemsTableProcessedTableManager = ProcessedTableManager< + _$AppDatabase, + $SearchHistoryItemsTable, + SearchHistoryItem, + $$SearchHistoryItemsTableFilterComposer, + $$SearchHistoryItemsTableOrderingComposer, + $$SearchHistoryItemsTableCreateCompanionBuilder, + $$SearchHistoryItemsTableUpdateCompanionBuilder, + ( + SearchHistoryItem, + BaseReferences<_$AppDatabase, $SearchHistoryItemsTable, SearchHistoryItem> + ), + SearchHistoryItem, + PrefetchHooks Function()>; +typedef $$RadicalsTableCreateCompanionBuilder = RadicalsCompanion Function({ + Value id, + required String radical, + Value kangxiId, + required int strokeCount, + required String meaning, + required String reading, + Value position, + Value importance, + Value?> strokes, + Value?> variants, + Value variantOf, +}); +typedef $$RadicalsTableUpdateCompanionBuilder = RadicalsCompanion Function({ + Value id, + Value radical, + Value kangxiId, + Value strokeCount, + Value meaning, + Value reading, + Value position, + Value importance, + Value?> strokes, + Value?> variants, + Value variantOf, +}); + +class $$RadicalsTableFilterComposer + extends FilterComposer<_$AppDatabase, $RadicalsTable> { + $$RadicalsTableFilterComposer(super.$state); + ColumnFilters get id => $state.composableBuilder( + column: $state.table.id, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get radical => $state.composableBuilder( + column: $state.table.radical, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get kangxiId => $state.composableBuilder( + column: $state.table.kangxiId, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get strokeCount => $state.composableBuilder( + column: $state.table.strokeCount, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get meaning => $state.composableBuilder( + column: $state.table.meaning, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get reading => $state.composableBuilder( + column: $state.table.reading, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnWithTypeConverterFilters + get position => $state.composableBuilder( + column: $state.table.position, + builder: (column, joinBuilders) => ColumnWithTypeConverterFilters( + column, + joinBuilders: joinBuilders)); + + ColumnWithTypeConverterFilters + get importance => $state.composableBuilder( + column: $state.table.importance, + builder: (column, joinBuilders) => ColumnWithTypeConverterFilters( + column, + joinBuilders: joinBuilders)); + + ColumnWithTypeConverterFilters?, List, String> + get strokes => $state.composableBuilder( + column: $state.table.strokes, + builder: (column, joinBuilders) => ColumnWithTypeConverterFilters( + column, + joinBuilders: joinBuilders)); + + ColumnWithTypeConverterFilters?, List, String> + get variants => $state.composableBuilder( + column: $state.table.variants, + builder: (column, joinBuilders) => ColumnWithTypeConverterFilters( + column, + joinBuilders: joinBuilders)); + + ColumnFilters get variantOf => $state.composableBuilder( + column: $state.table.variantOf, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); +} + +class $$RadicalsTableOrderingComposer + extends OrderingComposer<_$AppDatabase, $RadicalsTable> { + $$RadicalsTableOrderingComposer(super.$state); + ColumnOrderings get id => $state.composableBuilder( + column: $state.table.id, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get radical => $state.composableBuilder( + column: $state.table.radical, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get kangxiId => $state.composableBuilder( + column: $state.table.kangxiId, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get strokeCount => $state.composableBuilder( + column: $state.table.strokeCount, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get meaning => $state.composableBuilder( + column: $state.table.meaning, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get reading => $state.composableBuilder( + column: $state.table.reading, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get position => $state.composableBuilder( + column: $state.table.position, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get importance => $state.composableBuilder( + column: $state.table.importance, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get strokes => $state.composableBuilder( + column: $state.table.strokes, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get variants => $state.composableBuilder( + column: $state.table.variants, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get variantOf => $state.composableBuilder( + column: $state.table.variantOf, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); +} + +class $$RadicalsTableTableManager extends RootTableManager< + _$AppDatabase, + $RadicalsTable, + Radical, + $$RadicalsTableFilterComposer, + $$RadicalsTableOrderingComposer, + $$RadicalsTableCreateCompanionBuilder, + $$RadicalsTableUpdateCompanionBuilder, + (Radical, BaseReferences<_$AppDatabase, $RadicalsTable, Radical>), + Radical, + PrefetchHooks Function()> { + $$RadicalsTableTableManager(_$AppDatabase db, $RadicalsTable table) + : super(TableManagerState( + db: db, + table: table, + filteringComposer: + $$RadicalsTableFilterComposer(ComposerState(db, table)), + orderingComposer: + $$RadicalsTableOrderingComposer(ComposerState(db, table)), + updateCompanionCallback: ({ + Value id = const Value.absent(), + Value radical = const Value.absent(), + Value kangxiId = const Value.absent(), + Value strokeCount = const Value.absent(), + Value meaning = const Value.absent(), + Value reading = const Value.absent(), + Value position = const Value.absent(), + Value importance = const Value.absent(), + Value?> strokes = const Value.absent(), + Value?> variants = const Value.absent(), + Value variantOf = const Value.absent(), + }) => + RadicalsCompanion( + id: id, + radical: radical, + kangxiId: kangxiId, + strokeCount: strokeCount, + meaning: meaning, + reading: reading, + position: position, + importance: importance, + strokes: strokes, + variants: variants, + variantOf: variantOf, + ), + createCompanionCallback: ({ + Value id = const Value.absent(), + required String radical, + Value kangxiId = const Value.absent(), + required int strokeCount, + required String meaning, + required String reading, + Value position = const Value.absent(), + Value importance = const Value.absent(), + Value?> strokes = const Value.absent(), + Value?> variants = const Value.absent(), + Value variantOf = const Value.absent(), + }) => + RadicalsCompanion.insert( + id: id, + radical: radical, + kangxiId: kangxiId, + strokeCount: strokeCount, + meaning: meaning, + reading: reading, + position: position, + importance: importance, + strokes: strokes, + variants: variants, + variantOf: variantOf, + ), + withReferenceMapper: (p0) => p0 + .map((e) => (e.readTable(table), BaseReferences(db, table, e))) + .toList(), + prefetchHooksCallback: null, + )); +} + +typedef $$RadicalsTableProcessedTableManager = ProcessedTableManager< + _$AppDatabase, + $RadicalsTable, + Radical, + $$RadicalsTableFilterComposer, + $$RadicalsTableOrderingComposer, + $$RadicalsTableCreateCompanionBuilder, + $$RadicalsTableUpdateCompanionBuilder, + (Radical, BaseReferences<_$AppDatabase, $RadicalsTable, Radical>), + Radical, + PrefetchHooks Function()>; +typedef $$ProperNounsTableCreateCompanionBuilder = ProperNounsCompanion + Function({ + Value id, + Value writing, + Value writingSearchForm, + required String reading, + Value readingSearchForm, + required String readingRomaji, + Value readingRomajiSimplified, + required String romaji, + required List types, +}); +typedef $$ProperNounsTableUpdateCompanionBuilder = ProperNounsCompanion + Function({ + Value id, + Value writing, + Value writingSearchForm, + Value reading, + Value readingSearchForm, + Value readingRomaji, + Value readingRomajiSimplified, + Value romaji, + Value> types, +}); + +class $$ProperNounsTableFilterComposer + extends FilterComposer<_$AppDatabase, $ProperNounsTable> { + $$ProperNounsTableFilterComposer(super.$state); + ColumnFilters get id => $state.composableBuilder( + column: $state.table.id, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get writing => $state.composableBuilder( + column: $state.table.writing, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get writingSearchForm => $state.composableBuilder( + column: $state.table.writingSearchForm, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get reading => $state.composableBuilder( + column: $state.table.reading, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get readingSearchForm => $state.composableBuilder( + column: $state.table.readingSearchForm, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get readingRomaji => $state.composableBuilder( + column: $state.table.readingRomaji, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get readingRomajiSimplified => $state.composableBuilder( + column: $state.table.readingRomajiSimplified, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get romaji => $state.composableBuilder( + column: $state.table.romaji, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnWithTypeConverterFilters, List, + String> + get types => $state.composableBuilder( + column: $state.table.types, + builder: (column, joinBuilders) => ColumnWithTypeConverterFilters( + column, + joinBuilders: joinBuilders)); +} + +class $$ProperNounsTableOrderingComposer + extends OrderingComposer<_$AppDatabase, $ProperNounsTable> { + $$ProperNounsTableOrderingComposer(super.$state); + ColumnOrderings get id => $state.composableBuilder( + column: $state.table.id, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get writing => $state.composableBuilder( + column: $state.table.writing, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get writingSearchForm => $state.composableBuilder( + column: $state.table.writingSearchForm, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get reading => $state.composableBuilder( + column: $state.table.reading, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get readingSearchForm => $state.composableBuilder( + column: $state.table.readingSearchForm, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get readingRomaji => $state.composableBuilder( + column: $state.table.readingRomaji, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get readingRomajiSimplified => + $state.composableBuilder( + column: $state.table.readingRomajiSimplified, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get romaji => $state.composableBuilder( + column: $state.table.romaji, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get types => $state.composableBuilder( + column: $state.table.types, builder: (column, joinBuilders) => ColumnOrderings(column, joinBuilders: joinBuilders)); } -typedef $$KanjiMeaningWordsTableInsertCompanionBuilder - = KanjiMeaningWordsCompanion Function({ +class $$ProperNounsTableTableManager extends RootTableManager< + _$AppDatabase, + $ProperNounsTable, + ProperNoun, + $$ProperNounsTableFilterComposer, + $$ProperNounsTableOrderingComposer, + $$ProperNounsTableCreateCompanionBuilder, + $$ProperNounsTableUpdateCompanionBuilder, + (ProperNoun, BaseReferences<_$AppDatabase, $ProperNounsTable, ProperNoun>), + ProperNoun, + PrefetchHooks Function()> { + $$ProperNounsTableTableManager(_$AppDatabase db, $ProperNounsTable table) + : super(TableManagerState( + db: db, + table: table, + filteringComposer: + $$ProperNounsTableFilterComposer(ComposerState(db, table)), + orderingComposer: + $$ProperNounsTableOrderingComposer(ComposerState(db, table)), + updateCompanionCallback: ({ + Value id = const Value.absent(), + Value writing = const Value.absent(), + Value writingSearchForm = const Value.absent(), + Value reading = const Value.absent(), + Value readingSearchForm = const Value.absent(), + Value readingRomaji = const Value.absent(), + Value readingRomajiSimplified = const Value.absent(), + Value romaji = const Value.absent(), + Value> types = const Value.absent(), + }) => + ProperNounsCompanion( + id: id, + writing: writing, + writingSearchForm: writingSearchForm, + reading: reading, + readingSearchForm: readingSearchForm, + readingRomaji: readingRomaji, + readingRomajiSimplified: readingRomajiSimplified, + romaji: romaji, + types: types, + ), + createCompanionCallback: ({ + Value id = const Value.absent(), + Value writing = const Value.absent(), + Value writingSearchForm = const Value.absent(), + required String reading, + Value readingSearchForm = const Value.absent(), + required String readingRomaji, + Value readingRomajiSimplified = const Value.absent(), + required String romaji, + required List types, + }) => + ProperNounsCompanion.insert( + id: id, + writing: writing, + writingSearchForm: writingSearchForm, + reading: reading, + readingSearchForm: readingSearchForm, + readingRomaji: readingRomaji, + readingRomajiSimplified: readingRomajiSimplified, + romaji: romaji, + types: types, + ), + withReferenceMapper: (p0) => p0 + .map((e) => (e.readTable(table), BaseReferences(db, table, e))) + .toList(), + prefetchHooksCallback: null, + )); +} + +typedef $$ProperNounsTableProcessedTableManager = ProcessedTableManager< + _$AppDatabase, + $ProperNounsTable, + ProperNoun, + $$ProperNounsTableFilterComposer, + $$ProperNounsTableOrderingComposer, + $$ProperNounsTableCreateCompanionBuilder, + $$ProperNounsTableUpdateCompanionBuilder, + (ProperNoun, BaseReferences<_$AppDatabase, $ProperNounsTable, ProperNoun>), + ProperNoun, + PrefetchHooks Function()>; +typedef $$ProperNounRomajiWordsTableCreateCompanionBuilder + = ProperNounRomajiWordsCompanion Function({ + Value id, required String word, - required int kanjiId, - Value rowid, + required int properNounId, }); -typedef $$KanjiMeaningWordsTableUpdateCompanionBuilder - = KanjiMeaningWordsCompanion Function({ +typedef $$ProperNounRomajiWordsTableUpdateCompanionBuilder + = ProperNounRomajiWordsCompanion Function({ + Value id, Value word, - Value kanjiId, - Value rowid, + Value properNounId, }); -class $$KanjiMeaningWordsTableTableManager extends RootTableManager< +class $$ProperNounRomajiWordsTableFilterComposer + extends FilterComposer<_$AppDatabase, $ProperNounRomajiWordsTable> { + $$ProperNounRomajiWordsTableFilterComposer(super.$state); + ColumnFilters get id => $state.composableBuilder( + column: $state.table.id, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get word => $state.composableBuilder( + column: $state.table.word, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get properNounId => $state.composableBuilder( + column: $state.table.properNounId, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); +} + +class $$ProperNounRomajiWordsTableOrderingComposer + extends OrderingComposer<_$AppDatabase, $ProperNounRomajiWordsTable> { + $$ProperNounRomajiWordsTableOrderingComposer(super.$state); + ColumnOrderings get id => $state.composableBuilder( + column: $state.table.id, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get word => $state.composableBuilder( + column: $state.table.word, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get properNounId => $state.composableBuilder( + column: $state.table.properNounId, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); +} + +class $$ProperNounRomajiWordsTableTableManager extends RootTableManager< _$AppDatabase, - $KanjiMeaningWordsTable, - KanjiMeaningWord, - $$KanjiMeaningWordsTableFilterComposer, - $$KanjiMeaningWordsTableOrderingComposer, - $$KanjiMeaningWordsTableProcessedTableManager, - $$KanjiMeaningWordsTableInsertCompanionBuilder, - $$KanjiMeaningWordsTableUpdateCompanionBuilder> { - $$KanjiMeaningWordsTableTableManager( - _$AppDatabase db, $KanjiMeaningWordsTable table) + $ProperNounRomajiWordsTable, + ProperNounRomajiWord, + $$ProperNounRomajiWordsTableFilterComposer, + $$ProperNounRomajiWordsTableOrderingComposer, + $$ProperNounRomajiWordsTableCreateCompanionBuilder, + $$ProperNounRomajiWordsTableUpdateCompanionBuilder, + ( + ProperNounRomajiWord, + BaseReferences<_$AppDatabase, $ProperNounRomajiWordsTable, + ProperNounRomajiWord> + ), + ProperNounRomajiWord, + PrefetchHooks Function()> { + $$ProperNounRomajiWordsTableTableManager( + _$AppDatabase db, $ProperNounRomajiWordsTable table) : super(TableManagerState( db: db, table: table, - filteringComposer: - $$KanjiMeaningWordsTableFilterComposer(ComposerState(db, table)), - orderingComposer: $$KanjiMeaningWordsTableOrderingComposer( + filteringComposer: $$ProperNounRomajiWordsTableFilterComposer( + ComposerState(db, table)), + orderingComposer: $$ProperNounRomajiWordsTableOrderingComposer( ComposerState(db, table)), - getChildManagerBuilder: (p) => - $$KanjiMeaningWordsTableProcessedTableManager(p), - getUpdateCompanionBuilder: ({ + updateCompanionCallback: ({ + Value id = const Value.absent(), Value word = const Value.absent(), - Value kanjiId = const Value.absent(), - Value rowid = const Value.absent(), + Value properNounId = const Value.absent(), }) => - KanjiMeaningWordsCompanion( + ProperNounRomajiWordsCompanion( + id: id, word: word, - kanjiId: kanjiId, - rowid: rowid, + properNounId: properNounId, ), - getInsertCompanionBuilder: ({ + createCompanionCallback: ({ + Value id = const Value.absent(), required String word, - required int kanjiId, - Value rowid = const Value.absent(), + required int properNounId, }) => - KanjiMeaningWordsCompanion.insert( + ProperNounRomajiWordsCompanion.insert( + id: id, word: word, - kanjiId: kanjiId, - rowid: rowid, + properNounId: properNounId, ), + withReferenceMapper: (p0) => p0 + .map((e) => (e.readTable(table), BaseReferences(db, table, e))) + .toList(), + prefetchHooksCallback: null, )); } -class $$KanjiMeaningWordsTableProcessedTableManager - extends ProcessedTableManager< +typedef $$ProperNounRomajiWordsTableProcessedTableManager + = ProcessedTableManager< _$AppDatabase, - $KanjiMeaningWordsTable, - KanjiMeaningWord, - $$KanjiMeaningWordsTableFilterComposer, - $$KanjiMeaningWordsTableOrderingComposer, - $$KanjiMeaningWordsTableProcessedTableManager, - $$KanjiMeaningWordsTableInsertCompanionBuilder, - $$KanjiMeaningWordsTableUpdateCompanionBuilder> { - $$KanjiMeaningWordsTableProcessedTableManager(super.$state); + $ProperNounRomajiWordsTable, + ProperNounRomajiWord, + $$ProperNounRomajiWordsTableFilterComposer, + $$ProperNounRomajiWordsTableOrderingComposer, + $$ProperNounRomajiWordsTableCreateCompanionBuilder, + $$ProperNounRomajiWordsTableUpdateCompanionBuilder, + ( + ProperNounRomajiWord, + BaseReferences<_$AppDatabase, $ProperNounRomajiWordsTable, + ProperNounRomajiWord> + ), + ProperNounRomajiWord, + PrefetchHooks Function()>; +typedef $$PredefinedDictionaryListsTableCreateCompanionBuilder + = PredefinedDictionaryListsCompanion Function({ + Value id, + required String name, + required List vocab, + required List kanji, +}); +typedef $$PredefinedDictionaryListsTableUpdateCompanionBuilder + = PredefinedDictionaryListsCompanion Function({ + Value id, + Value name, + Value> vocab, + Value> kanji, +}); + +class $$PredefinedDictionaryListsTableFilterComposer + extends FilterComposer<_$AppDatabase, $PredefinedDictionaryListsTable> { + $$PredefinedDictionaryListsTableFilterComposer(super.$state); + ColumnFilters get id => $state.composableBuilder( + column: $state.table.id, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get name => $state.composableBuilder( + column: $state.table.name, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnWithTypeConverterFilters, List, String> get vocab => + $state.composableBuilder( + column: $state.table.vocab, + builder: (column, joinBuilders) => ColumnWithTypeConverterFilters( + column, + joinBuilders: joinBuilders)); + + ColumnWithTypeConverterFilters, List, String> get kanji => + $state.composableBuilder( + column: $state.table.kanji, + builder: (column, joinBuilders) => ColumnWithTypeConverterFilters( + column, + joinBuilders: joinBuilders)); } -class $$KanjiMeaningWordsTableFilterComposer - extends FilterComposer<_$AppDatabase, $KanjiMeaningWordsTable> { - $$KanjiMeaningWordsTableFilterComposer(super.$state); - ColumnFilters get word => $state.composableBuilder( - column: $state.table.word, +class $$PredefinedDictionaryListsTableOrderingComposer + extends OrderingComposer<_$AppDatabase, $PredefinedDictionaryListsTable> { + $$PredefinedDictionaryListsTableOrderingComposer(super.$state); + ColumnOrderings get id => $state.composableBuilder( + column: $state.table.id, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get name => $state.composableBuilder( + column: $state.table.name, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get vocab => $state.composableBuilder( + column: $state.table.vocab, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get kanji => $state.composableBuilder( + column: $state.table.kanji, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); +} + +class $$PredefinedDictionaryListsTableTableManager extends RootTableManager< + _$AppDatabase, + $PredefinedDictionaryListsTable, + PredefinedDictionaryList, + $$PredefinedDictionaryListsTableFilterComposer, + $$PredefinedDictionaryListsTableOrderingComposer, + $$PredefinedDictionaryListsTableCreateCompanionBuilder, + $$PredefinedDictionaryListsTableUpdateCompanionBuilder, + ( + PredefinedDictionaryList, + BaseReferences<_$AppDatabase, $PredefinedDictionaryListsTable, + PredefinedDictionaryList> + ), + PredefinedDictionaryList, + PrefetchHooks Function()> { + $$PredefinedDictionaryListsTableTableManager( + _$AppDatabase db, $PredefinedDictionaryListsTable table) + : super(TableManagerState( + db: db, + table: table, + filteringComposer: $$PredefinedDictionaryListsTableFilterComposer( + ComposerState(db, table)), + orderingComposer: $$PredefinedDictionaryListsTableOrderingComposer( + ComposerState(db, table)), + updateCompanionCallback: ({ + Value id = const Value.absent(), + Value name = const Value.absent(), + Value> vocab = const Value.absent(), + Value> kanji = const Value.absent(), + }) => + PredefinedDictionaryListsCompanion( + id: id, + name: name, + vocab: vocab, + kanji: kanji, + ), + createCompanionCallback: ({ + Value id = const Value.absent(), + required String name, + required List vocab, + required List kanji, + }) => + PredefinedDictionaryListsCompanion.insert( + id: id, + name: name, + vocab: vocab, + kanji: kanji, + ), + withReferenceMapper: (p0) => p0 + .map((e) => (e.readTable(table), BaseReferences(db, table, e))) + .toList(), + prefetchHooksCallback: null, + )); +} + +typedef $$PredefinedDictionaryListsTableProcessedTableManager + = ProcessedTableManager< + _$AppDatabase, + $PredefinedDictionaryListsTable, + PredefinedDictionaryList, + $$PredefinedDictionaryListsTableFilterComposer, + $$PredefinedDictionaryListsTableOrderingComposer, + $$PredefinedDictionaryListsTableCreateCompanionBuilder, + $$PredefinedDictionaryListsTableUpdateCompanionBuilder, + ( + PredefinedDictionaryList, + BaseReferences<_$AppDatabase, $PredefinedDictionaryListsTable, + PredefinedDictionaryList> + ), + PredefinedDictionaryList, + PrefetchHooks Function()>; +typedef $$MyDictionaryListsTableCreateCompanionBuilder + = MyDictionaryListsCompanion Function({ + Value id, + required String name, + Value timestamp, +}); +typedef $$MyDictionaryListsTableUpdateCompanionBuilder + = MyDictionaryListsCompanion Function({ + Value id, + Value name, + Value timestamp, +}); + +class $$MyDictionaryListsTableFilterComposer + extends FilterComposer<_$AppDatabase, $MyDictionaryListsTable> { + $$MyDictionaryListsTableFilterComposer(super.$state); + ColumnFilters get id => $state.composableBuilder( + column: $state.table.id, builder: (column, joinBuilders) => ColumnFilters(column, joinBuilders: joinBuilders)); - ColumnFilters get kanjiId => $state.composableBuilder( - column: $state.table.kanjiId, + ColumnFilters get name => $state.composableBuilder( + column: $state.table.name, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get timestamp => $state.composableBuilder( + column: $state.table.timestamp, builder: (column, joinBuilders) => ColumnFilters(column, joinBuilders: joinBuilders)); } -class $$KanjiMeaningWordsTableOrderingComposer - extends OrderingComposer<_$AppDatabase, $KanjiMeaningWordsTable> { - $$KanjiMeaningWordsTableOrderingComposer(super.$state); - ColumnOrderings get word => $state.composableBuilder( - column: $state.table.word, +class $$MyDictionaryListsTableOrderingComposer + extends OrderingComposer<_$AppDatabase, $MyDictionaryListsTable> { + $$MyDictionaryListsTableOrderingComposer(super.$state); + ColumnOrderings get id => $state.composableBuilder( + column: $state.table.id, builder: (column, joinBuilders) => ColumnOrderings(column, joinBuilders: joinBuilders)); - ColumnOrderings get kanjiId => $state.composableBuilder( - column: $state.table.kanjiId, + ColumnOrderings get name => $state.composableBuilder( + column: $state.table.name, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get timestamp => $state.composableBuilder( + column: $state.table.timestamp, builder: (column, joinBuilders) => ColumnOrderings(column, joinBuilders: joinBuilders)); } -typedef $$SearchHistoryItemsTableInsertCompanionBuilder - = SearchHistoryItemsCompanion Function({ - Value id, - required String searchText, - Value timestamp, -}); -typedef $$SearchHistoryItemsTableUpdateCompanionBuilder - = SearchHistoryItemsCompanion Function({ - Value id, - Value searchText, - Value timestamp, -}); - -class $$SearchHistoryItemsTableTableManager extends RootTableManager< +class $$MyDictionaryListsTableTableManager extends RootTableManager< _$AppDatabase, - $SearchHistoryItemsTable, - SearchHistoryItem, - $$SearchHistoryItemsTableFilterComposer, - $$SearchHistoryItemsTableOrderingComposer, - $$SearchHistoryItemsTableProcessedTableManager, - $$SearchHistoryItemsTableInsertCompanionBuilder, - $$SearchHistoryItemsTableUpdateCompanionBuilder> { - $$SearchHistoryItemsTableTableManager( - _$AppDatabase db, $SearchHistoryItemsTable table) + $MyDictionaryListsTable, + MyDictionaryList, + $$MyDictionaryListsTableFilterComposer, + $$MyDictionaryListsTableOrderingComposer, + $$MyDictionaryListsTableCreateCompanionBuilder, + $$MyDictionaryListsTableUpdateCompanionBuilder, + ( + MyDictionaryList, + BaseReferences<_$AppDatabase, $MyDictionaryListsTable, MyDictionaryList> + ), + MyDictionaryList, + PrefetchHooks Function()> { + $$MyDictionaryListsTableTableManager( + _$AppDatabase db, $MyDictionaryListsTable table) : super(TableManagerState( db: db, table: table, filteringComposer: - $$SearchHistoryItemsTableFilterComposer(ComposerState(db, table)), - orderingComposer: $$SearchHistoryItemsTableOrderingComposer( + $$MyDictionaryListsTableFilterComposer(ComposerState(db, table)), + orderingComposer: $$MyDictionaryListsTableOrderingComposer( ComposerState(db, table)), - getChildManagerBuilder: (p) => - $$SearchHistoryItemsTableProcessedTableManager(p), - getUpdateCompanionBuilder: ({ + updateCompanionCallback: ({ Value id = const Value.absent(), - Value searchText = const Value.absent(), + Value name = const Value.absent(), Value timestamp = const Value.absent(), }) => - SearchHistoryItemsCompanion( + MyDictionaryListsCompanion( id: id, - searchText: searchText, + name: name, timestamp: timestamp, ), - getInsertCompanionBuilder: ({ + createCompanionCallback: ({ Value id = const Value.absent(), - required String searchText, + required String name, Value timestamp = const Value.absent(), }) => - SearchHistoryItemsCompanion.insert( + MyDictionaryListsCompanion.insert( id: id, - searchText: searchText, + name: name, timestamp: timestamp, ), + withReferenceMapper: (p0) => p0 + .map((e) => (e.readTable(table), BaseReferences(db, table, e))) + .toList(), + prefetchHooksCallback: null, )); } -class $$SearchHistoryItemsTableProcessedTableManager - extends ProcessedTableManager< - _$AppDatabase, - $SearchHistoryItemsTable, - SearchHistoryItem, - $$SearchHistoryItemsTableFilterComposer, - $$SearchHistoryItemsTableOrderingComposer, - $$SearchHistoryItemsTableProcessedTableManager, - $$SearchHistoryItemsTableInsertCompanionBuilder, - $$SearchHistoryItemsTableUpdateCompanionBuilder> { - $$SearchHistoryItemsTableProcessedTableManager(super.$state); -} +typedef $$MyDictionaryListsTableProcessedTableManager = ProcessedTableManager< + _$AppDatabase, + $MyDictionaryListsTable, + MyDictionaryList, + $$MyDictionaryListsTableFilterComposer, + $$MyDictionaryListsTableOrderingComposer, + $$MyDictionaryListsTableCreateCompanionBuilder, + $$MyDictionaryListsTableUpdateCompanionBuilder, + ( + MyDictionaryList, + BaseReferences<_$AppDatabase, $MyDictionaryListsTable, MyDictionaryList> + ), + MyDictionaryList, + PrefetchHooks Function()>; +typedef $$MyDictionaryListItemsTableCreateCompanionBuilder + = MyDictionaryListItemsCompanion Function({ + Value id, + required int listId, + required int vocabId, + required int kanjiId, +}); +typedef $$MyDictionaryListItemsTableUpdateCompanionBuilder + = MyDictionaryListItemsCompanion Function({ + Value id, + Value listId, + Value vocabId, + Value kanjiId, +}); -class $$SearchHistoryItemsTableFilterComposer - extends FilterComposer<_$AppDatabase, $SearchHistoryItemsTable> { - $$SearchHistoryItemsTableFilterComposer(super.$state); +class $$MyDictionaryListItemsTableFilterComposer + extends FilterComposer<_$AppDatabase, $MyDictionaryListItemsTable> { + $$MyDictionaryListItemsTableFilterComposer(super.$state); ColumnFilters get id => $state.composableBuilder( column: $state.table.id, builder: (column, joinBuilders) => ColumnFilters(column, joinBuilders: joinBuilders)); - ColumnFilters get searchText => $state.composableBuilder( - column: $state.table.searchText, + ColumnFilters get listId => $state.composableBuilder( + column: $state.table.listId, builder: (column, joinBuilders) => ColumnFilters(column, joinBuilders: joinBuilders)); - ColumnFilters get timestamp => $state.composableBuilder( - column: $state.table.timestamp, + ColumnFilters get vocabId => $state.composableBuilder( + column: $state.table.vocabId, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get kanjiId => $state.composableBuilder( + column: $state.table.kanjiId, builder: (column, joinBuilders) => ColumnFilters(column, joinBuilders: joinBuilders)); } -class $$SearchHistoryItemsTableOrderingComposer - extends OrderingComposer<_$AppDatabase, $SearchHistoryItemsTable> { - $$SearchHistoryItemsTableOrderingComposer(super.$state); +class $$MyDictionaryListItemsTableOrderingComposer + extends OrderingComposer<_$AppDatabase, $MyDictionaryListItemsTable> { + $$MyDictionaryListItemsTableOrderingComposer(super.$state); ColumnOrderings get id => $state.composableBuilder( column: $state.table.id, builder: (column, joinBuilders) => ColumnOrderings(column, joinBuilders: joinBuilders)); - ColumnOrderings get searchText => $state.composableBuilder( - column: $state.table.searchText, + ColumnOrderings get listId => $state.composableBuilder( + column: $state.table.listId, builder: (column, joinBuilders) => ColumnOrderings(column, joinBuilders: joinBuilders)); - ColumnOrderings get timestamp => $state.composableBuilder( - column: $state.table.timestamp, + ColumnOrderings get vocabId => $state.composableBuilder( + column: $state.table.vocabId, builder: (column, joinBuilders) => ColumnOrderings(column, joinBuilders: joinBuilders)); -} -typedef $$RadicalsTableInsertCompanionBuilder = RadicalsCompanion Function({ - Value id, - required String radical, - Value kangxiId, - required int strokeCount, - required String meaning, - required String reading, - Value position, - Value importance, - Value?> strokes, - Value?> variants, - Value variantOf, -}); -typedef $$RadicalsTableUpdateCompanionBuilder = RadicalsCompanion Function({ - Value id, - Value radical, - Value kangxiId, - Value strokeCount, - Value meaning, - Value reading, - Value position, - Value importance, - Value?> strokes, - Value?> variants, - Value variantOf, -}); + ColumnOrderings get kanjiId => $state.composableBuilder( + column: $state.table.kanjiId, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); +} -class $$RadicalsTableTableManager extends RootTableManager< +class $$MyDictionaryListItemsTableTableManager extends RootTableManager< _$AppDatabase, - $RadicalsTable, - Radical, - $$RadicalsTableFilterComposer, - $$RadicalsTableOrderingComposer, - $$RadicalsTableProcessedTableManager, - $$RadicalsTableInsertCompanionBuilder, - $$RadicalsTableUpdateCompanionBuilder> { - $$RadicalsTableTableManager(_$AppDatabase db, $RadicalsTable table) + $MyDictionaryListItemsTable, + MyDictionaryListItem, + $$MyDictionaryListItemsTableFilterComposer, + $$MyDictionaryListItemsTableOrderingComposer, + $$MyDictionaryListItemsTableCreateCompanionBuilder, + $$MyDictionaryListItemsTableUpdateCompanionBuilder, + ( + MyDictionaryListItem, + BaseReferences<_$AppDatabase, $MyDictionaryListItemsTable, + MyDictionaryListItem> + ), + MyDictionaryListItem, + PrefetchHooks Function()> { + $$MyDictionaryListItemsTableTableManager( + _$AppDatabase db, $MyDictionaryListItemsTable table) : super(TableManagerState( db: db, table: table, - filteringComposer: - $$RadicalsTableFilterComposer(ComposerState(db, table)), - orderingComposer: - $$RadicalsTableOrderingComposer(ComposerState(db, table)), - getChildManagerBuilder: (p) => - $$RadicalsTableProcessedTableManager(p), - getUpdateCompanionBuilder: ({ + filteringComposer: $$MyDictionaryListItemsTableFilterComposer( + ComposerState(db, table)), + orderingComposer: $$MyDictionaryListItemsTableOrderingComposer( + ComposerState(db, table)), + updateCompanionCallback: ({ Value id = const Value.absent(), - Value radical = const Value.absent(), - Value kangxiId = const Value.absent(), - Value strokeCount = const Value.absent(), - Value meaning = const Value.absent(), - Value reading = const Value.absent(), - Value position = const Value.absent(), - Value importance = const Value.absent(), - Value?> strokes = const Value.absent(), - Value?> variants = const Value.absent(), - Value variantOf = const Value.absent(), + Value listId = const Value.absent(), + Value vocabId = const Value.absent(), + Value kanjiId = const Value.absent(), }) => - RadicalsCompanion( + MyDictionaryListItemsCompanion( id: id, - radical: radical, - kangxiId: kangxiId, - strokeCount: strokeCount, - meaning: meaning, - reading: reading, - position: position, - importance: importance, - strokes: strokes, - variants: variants, - variantOf: variantOf, + listId: listId, + vocabId: vocabId, + kanjiId: kanjiId, ), - getInsertCompanionBuilder: ({ + createCompanionCallback: ({ Value id = const Value.absent(), - required String radical, - Value kangxiId = const Value.absent(), - required int strokeCount, - required String meaning, - required String reading, - Value position = const Value.absent(), - Value importance = const Value.absent(), - Value?> strokes = const Value.absent(), - Value?> variants = const Value.absent(), - Value variantOf = const Value.absent(), + required int listId, + required int vocabId, + required int kanjiId, }) => - RadicalsCompanion.insert( + MyDictionaryListItemsCompanion.insert( id: id, - radical: radical, - kangxiId: kangxiId, - strokeCount: strokeCount, - meaning: meaning, - reading: reading, - position: position, - importance: importance, - strokes: strokes, - variants: variants, - variantOf: variantOf, + listId: listId, + vocabId: vocabId, + kanjiId: kanjiId, ), + withReferenceMapper: (p0) => p0 + .map((e) => (e.readTable(table), BaseReferences(db, table, e))) + .toList(), + prefetchHooksCallback: null, )); } -class $$RadicalsTableProcessedTableManager extends ProcessedTableManager< - _$AppDatabase, - $RadicalsTable, - Radical, - $$RadicalsTableFilterComposer, - $$RadicalsTableOrderingComposer, - $$RadicalsTableProcessedTableManager, - $$RadicalsTableInsertCompanionBuilder, - $$RadicalsTableUpdateCompanionBuilder> { - $$RadicalsTableProcessedTableManager(super.$state); -} +typedef $$MyDictionaryListItemsTableProcessedTableManager + = ProcessedTableManager< + _$AppDatabase, + $MyDictionaryListItemsTable, + MyDictionaryListItem, + $$MyDictionaryListItemsTableFilterComposer, + $$MyDictionaryListItemsTableOrderingComposer, + $$MyDictionaryListItemsTableCreateCompanionBuilder, + $$MyDictionaryListItemsTableUpdateCompanionBuilder, + ( + MyDictionaryListItem, + BaseReferences<_$AppDatabase, $MyDictionaryListItemsTable, + MyDictionaryListItem> + ), + MyDictionaryListItem, + PrefetchHooks Function()>; +typedef $$FlashcardSetsTableCreateCompanionBuilder = FlashcardSetsCompanion + Function({ + Value id, + required String name, + Value usingSpacedRepetition, + Value frontType, + Value vocabShowReading, + Value vocabShowReadingIfRareKanji, + Value vocabShowAlternatives, + Value vocabShowPitchAccent, + Value kanjiShowReading, + Value vocabShowPartsOfSpeech, + Value timestamp, + Value> predefinedDictionaryLists, + Value> myDictionaryLists, + Value streak, +}); +typedef $$FlashcardSetsTableUpdateCompanionBuilder = FlashcardSetsCompanion + Function({ + Value id, + Value name, + Value usingSpacedRepetition, + Value frontType, + Value vocabShowReading, + Value vocabShowReadingIfRareKanji, + Value vocabShowAlternatives, + Value vocabShowPitchAccent, + Value kanjiShowReading, + Value vocabShowPartsOfSpeech, + Value timestamp, + Value> predefinedDictionaryLists, + Value> myDictionaryLists, + Value streak, +}); -class $$RadicalsTableFilterComposer - extends FilterComposer<_$AppDatabase, $RadicalsTable> { - $$RadicalsTableFilterComposer(super.$state); +class $$FlashcardSetsTableFilterComposer + extends FilterComposer<_$AppDatabase, $FlashcardSetsTable> { + $$FlashcardSetsTableFilterComposer(super.$state); ColumnFilters get id => $state.composableBuilder( column: $state.table.id, builder: (column, joinBuilders) => ColumnFilters(column, joinBuilders: joinBuilders)); - ColumnFilters get radical => $state.composableBuilder( - column: $state.table.radical, + ColumnFilters get name => $state.composableBuilder( + column: $state.table.name, builder: (column, joinBuilders) => ColumnFilters(column, joinBuilders: joinBuilders)); - ColumnFilters get kangxiId => $state.composableBuilder( - column: $state.table.kangxiId, + ColumnFilters get usingSpacedRepetition => $state.composableBuilder( + column: $state.table.usingSpacedRepetition, builder: (column, joinBuilders) => ColumnFilters(column, joinBuilders: joinBuilders)); - ColumnFilters get strokeCount => $state.composableBuilder( - column: $state.table.strokeCount, + ColumnWithTypeConverterFilters get frontType => + $state.composableBuilder( + column: $state.table.frontType, + builder: (column, joinBuilders) => ColumnWithTypeConverterFilters( + column, + joinBuilders: joinBuilders)); + + ColumnFilters get vocabShowReading => $state.composableBuilder( + column: $state.table.vocabShowReading, builder: (column, joinBuilders) => ColumnFilters(column, joinBuilders: joinBuilders)); - ColumnFilters get meaning => $state.composableBuilder( - column: $state.table.meaning, + ColumnFilters get vocabShowReadingIfRareKanji => + $state.composableBuilder( + column: $state.table.vocabShowReadingIfRareKanji, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get vocabShowAlternatives => $state.composableBuilder( + column: $state.table.vocabShowAlternatives, builder: (column, joinBuilders) => ColumnFilters(column, joinBuilders: joinBuilders)); - ColumnFilters get reading => $state.composableBuilder( - column: $state.table.reading, + ColumnFilters get vocabShowPitchAccent => $state.composableBuilder( + column: $state.table.vocabShowPitchAccent, builder: (column, joinBuilders) => ColumnFilters(column, joinBuilders: joinBuilders)); - ColumnWithTypeConverterFilters - get position => $state.composableBuilder( - column: $state.table.position, - builder: (column, joinBuilders) => ColumnWithTypeConverterFilters( - column, - joinBuilders: joinBuilders)); + ColumnFilters get kanjiShowReading => $state.composableBuilder( + column: $state.table.kanjiShowReading, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); - ColumnWithTypeConverterFilters - get importance => $state.composableBuilder( - column: $state.table.importance, - builder: (column, joinBuilders) => ColumnWithTypeConverterFilters( - column, - joinBuilders: joinBuilders)); + ColumnFilters get vocabShowPartsOfSpeech => $state.composableBuilder( + column: $state.table.vocabShowPartsOfSpeech, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); - ColumnWithTypeConverterFilters?, List, String> - get strokes => $state.composableBuilder( - column: $state.table.strokes, + ColumnFilters get timestamp => $state.composableBuilder( + column: $state.table.timestamp, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnWithTypeConverterFilters, List, String> + get predefinedDictionaryLists => $state.composableBuilder( + column: $state.table.predefinedDictionaryLists, builder: (column, joinBuilders) => ColumnWithTypeConverterFilters( column, joinBuilders: joinBuilders)); - ColumnWithTypeConverterFilters?, List, String> - get variants => $state.composableBuilder( - column: $state.table.variants, + ColumnWithTypeConverterFilters, List, String> + get myDictionaryLists => $state.composableBuilder( + column: $state.table.myDictionaryLists, builder: (column, joinBuilders) => ColumnWithTypeConverterFilters( column, joinBuilders: joinBuilders)); - ColumnFilters get variantOf => $state.composableBuilder( - column: $state.table.variantOf, + ColumnFilters get streak => $state.composableBuilder( + column: $state.table.streak, builder: (column, joinBuilders) => ColumnFilters(column, joinBuilders: joinBuilders)); } -class $$RadicalsTableOrderingComposer - extends OrderingComposer<_$AppDatabase, $RadicalsTable> { - $$RadicalsTableOrderingComposer(super.$state); +class $$FlashcardSetsTableOrderingComposer + extends OrderingComposer<_$AppDatabase, $FlashcardSetsTable> { + $$FlashcardSetsTableOrderingComposer(super.$state); ColumnOrderings get id => $state.composableBuilder( column: $state.table.id, builder: (column, joinBuilders) => ColumnOrderings(column, joinBuilders: joinBuilders)); - ColumnOrderings get radical => $state.composableBuilder( - column: $state.table.radical, + ColumnOrderings get name => $state.composableBuilder( + column: $state.table.name, builder: (column, joinBuilders) => ColumnOrderings(column, joinBuilders: joinBuilders)); - ColumnOrderings get kangxiId => $state.composableBuilder( - column: $state.table.kangxiId, + ColumnOrderings get usingSpacedRepetition => $state.composableBuilder( + column: $state.table.usingSpacedRepetition, builder: (column, joinBuilders) => ColumnOrderings(column, joinBuilders: joinBuilders)); - ColumnOrderings get strokeCount => $state.composableBuilder( - column: $state.table.strokeCount, + ColumnOrderings get frontType => $state.composableBuilder( + column: $state.table.frontType, builder: (column, joinBuilders) => ColumnOrderings(column, joinBuilders: joinBuilders)); - ColumnOrderings get meaning => $state.composableBuilder( - column: $state.table.meaning, + ColumnOrderings get vocabShowReading => $state.composableBuilder( + column: $state.table.vocabShowReading, builder: (column, joinBuilders) => ColumnOrderings(column, joinBuilders: joinBuilders)); - ColumnOrderings get reading => $state.composableBuilder( - column: $state.table.reading, + ColumnOrderings get vocabShowReadingIfRareKanji => $state + .composableBuilder( + column: $state.table.vocabShowReadingIfRareKanji, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get vocabShowAlternatives => $state.composableBuilder( + column: $state.table.vocabShowAlternatives, builder: (column, joinBuilders) => ColumnOrderings(column, joinBuilders: joinBuilders)); - ColumnOrderings get position => $state.composableBuilder( - column: $state.table.position, + ColumnOrderings get vocabShowPitchAccent => $state.composableBuilder( + column: $state.table.vocabShowPitchAccent, builder: (column, joinBuilders) => ColumnOrderings(column, joinBuilders: joinBuilders)); - ColumnOrderings get importance => $state.composableBuilder( - column: $state.table.importance, + ColumnOrderings get kanjiShowReading => $state.composableBuilder( + column: $state.table.kanjiShowReading, builder: (column, joinBuilders) => ColumnOrderings(column, joinBuilders: joinBuilders)); - ColumnOrderings get strokes => $state.composableBuilder( - column: $state.table.strokes, + ColumnOrderings get vocabShowPartsOfSpeech => $state.composableBuilder( + column: $state.table.vocabShowPartsOfSpeech, builder: (column, joinBuilders) => ColumnOrderings(column, joinBuilders: joinBuilders)); - ColumnOrderings get variants => $state.composableBuilder( - column: $state.table.variants, + ColumnOrderings get timestamp => $state.composableBuilder( + column: $state.table.timestamp, builder: (column, joinBuilders) => ColumnOrderings(column, joinBuilders: joinBuilders)); - ColumnOrderings get variantOf => $state.composableBuilder( - column: $state.table.variantOf, + ColumnOrderings get predefinedDictionaryLists => $state + .composableBuilder( + column: $state.table.predefinedDictionaryLists, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get myDictionaryLists => $state.composableBuilder( + column: $state.table.myDictionaryLists, builder: (column, joinBuilders) => ColumnOrderings(column, joinBuilders: joinBuilders)); -} -typedef $$ProperNounRomajiWordsTableInsertCompanionBuilder - = ProperNounRomajiWordsCompanion Function({ - Value id, - required String word, - required int properNounId, -}); -typedef $$ProperNounRomajiWordsTableUpdateCompanionBuilder - = ProperNounRomajiWordsCompanion Function({ - Value id, - Value word, - Value properNounId, -}); + ColumnOrderings get streak => $state.composableBuilder( + column: $state.table.streak, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); +} -class $$ProperNounRomajiWordsTableTableManager extends RootTableManager< +class $$FlashcardSetsTableTableManager extends RootTableManager< _$AppDatabase, - $ProperNounRomajiWordsTable, - ProperNounRomajiWord, - $$ProperNounRomajiWordsTableFilterComposer, - $$ProperNounRomajiWordsTableOrderingComposer, - $$ProperNounRomajiWordsTableProcessedTableManager, - $$ProperNounRomajiWordsTableInsertCompanionBuilder, - $$ProperNounRomajiWordsTableUpdateCompanionBuilder> { - $$ProperNounRomajiWordsTableTableManager( - _$AppDatabase db, $ProperNounRomajiWordsTable table) + $FlashcardSetsTable, + FlashcardSet, + $$FlashcardSetsTableFilterComposer, + $$FlashcardSetsTableOrderingComposer, + $$FlashcardSetsTableCreateCompanionBuilder, + $$FlashcardSetsTableUpdateCompanionBuilder, + ( + FlashcardSet, + BaseReferences<_$AppDatabase, $FlashcardSetsTable, FlashcardSet> + ), + FlashcardSet, + PrefetchHooks Function()> { + $$FlashcardSetsTableTableManager(_$AppDatabase db, $FlashcardSetsTable table) : super(TableManagerState( db: db, table: table, - filteringComposer: $$ProperNounRomajiWordsTableFilterComposer( - ComposerState(db, table)), - orderingComposer: $$ProperNounRomajiWordsTableOrderingComposer( - ComposerState(db, table)), - getChildManagerBuilder: (p) => - $$ProperNounRomajiWordsTableProcessedTableManager(p), - getUpdateCompanionBuilder: ({ + filteringComposer: + $$FlashcardSetsTableFilterComposer(ComposerState(db, table)), + orderingComposer: + $$FlashcardSetsTableOrderingComposer(ComposerState(db, table)), + updateCompanionCallback: ({ Value id = const Value.absent(), - Value word = const Value.absent(), - Value properNounId = const Value.absent(), + Value name = const Value.absent(), + Value usingSpacedRepetition = const Value.absent(), + Value frontType = const Value.absent(), + Value vocabShowReading = const Value.absent(), + Value vocabShowReadingIfRareKanji = const Value.absent(), + Value vocabShowAlternatives = const Value.absent(), + Value vocabShowPitchAccent = const Value.absent(), + Value kanjiShowReading = const Value.absent(), + Value vocabShowPartsOfSpeech = const Value.absent(), + Value timestamp = const Value.absent(), + Value> predefinedDictionaryLists = const Value.absent(), + Value> myDictionaryLists = const Value.absent(), + Value streak = const Value.absent(), }) => - ProperNounRomajiWordsCompanion( + FlashcardSetsCompanion( id: id, - word: word, - properNounId: properNounId, + name: name, + usingSpacedRepetition: usingSpacedRepetition, + frontType: frontType, + vocabShowReading: vocabShowReading, + vocabShowReadingIfRareKanji: vocabShowReadingIfRareKanji, + vocabShowAlternatives: vocabShowAlternatives, + vocabShowPitchAccent: vocabShowPitchAccent, + kanjiShowReading: kanjiShowReading, + vocabShowPartsOfSpeech: vocabShowPartsOfSpeech, + timestamp: timestamp, + predefinedDictionaryLists: predefinedDictionaryLists, + myDictionaryLists: myDictionaryLists, + streak: streak, ), - getInsertCompanionBuilder: ({ + createCompanionCallback: ({ Value id = const Value.absent(), - required String word, - required int properNounId, + required String name, + Value usingSpacedRepetition = const Value.absent(), + Value frontType = const Value.absent(), + Value vocabShowReading = const Value.absent(), + Value vocabShowReadingIfRareKanji = const Value.absent(), + Value vocabShowAlternatives = const Value.absent(), + Value vocabShowPitchAccent = const Value.absent(), + Value kanjiShowReading = const Value.absent(), + Value vocabShowPartsOfSpeech = const Value.absent(), + Value timestamp = const Value.absent(), + Value> predefinedDictionaryLists = const Value.absent(), + Value> myDictionaryLists = const Value.absent(), + Value streak = const Value.absent(), }) => - ProperNounRomajiWordsCompanion.insert( + FlashcardSetsCompanion.insert( id: id, - word: word, - properNounId: properNounId, + name: name, + usingSpacedRepetition: usingSpacedRepetition, + frontType: frontType, + vocabShowReading: vocabShowReading, + vocabShowReadingIfRareKanji: vocabShowReadingIfRareKanji, + vocabShowAlternatives: vocabShowAlternatives, + vocabShowPitchAccent: vocabShowPitchAccent, + kanjiShowReading: kanjiShowReading, + vocabShowPartsOfSpeech: vocabShowPartsOfSpeech, + timestamp: timestamp, + predefinedDictionaryLists: predefinedDictionaryLists, + myDictionaryLists: myDictionaryLists, + streak: streak, ), + withReferenceMapper: (p0) => p0 + .map((e) => (e.readTable(table), BaseReferences(db, table, e))) + .toList(), + prefetchHooksCallback: null, )); } -class $$ProperNounRomajiWordsTableProcessedTableManager - extends ProcessedTableManager< - _$AppDatabase, - $ProperNounRomajiWordsTable, - ProperNounRomajiWord, - $$ProperNounRomajiWordsTableFilterComposer, - $$ProperNounRomajiWordsTableOrderingComposer, - $$ProperNounRomajiWordsTableProcessedTableManager, - $$ProperNounRomajiWordsTableInsertCompanionBuilder, - $$ProperNounRomajiWordsTableUpdateCompanionBuilder> { - $$ProperNounRomajiWordsTableProcessedTableManager(super.$state); -} +typedef $$FlashcardSetsTableProcessedTableManager = ProcessedTableManager< + _$AppDatabase, + $FlashcardSetsTable, + FlashcardSet, + $$FlashcardSetsTableFilterComposer, + $$FlashcardSetsTableOrderingComposer, + $$FlashcardSetsTableCreateCompanionBuilder, + $$FlashcardSetsTableUpdateCompanionBuilder, + ( + FlashcardSet, + BaseReferences<_$AppDatabase, $FlashcardSetsTable, FlashcardSet> + ), + FlashcardSet, + PrefetchHooks Function()>; +typedef $$FlashcardSetReportsTableCreateCompanionBuilder + = FlashcardSetReportsCompanion Function({ + Value id, + required int flashcardSetId, + required int date, + Value dueFlashcardsCompleted, + Value dueFlashcardsGotWrong, + Value newFlashcardsCompleted, +}); +typedef $$FlashcardSetReportsTableUpdateCompanionBuilder + = FlashcardSetReportsCompanion Function({ + Value id, + Value flashcardSetId, + Value date, + Value dueFlashcardsCompleted, + Value dueFlashcardsGotWrong, + Value newFlashcardsCompleted, +}); -class $$ProperNounRomajiWordsTableFilterComposer - extends FilterComposer<_$AppDatabase, $ProperNounRomajiWordsTable> { - $$ProperNounRomajiWordsTableFilterComposer(super.$state); +class $$FlashcardSetReportsTableFilterComposer + extends FilterComposer<_$AppDatabase, $FlashcardSetReportsTable> { + $$FlashcardSetReportsTableFilterComposer(super.$state); ColumnFilters get id => $state.composableBuilder( column: $state.table.id, builder: (column, joinBuilders) => ColumnFilters(column, joinBuilders: joinBuilders)); - ColumnFilters get word => $state.composableBuilder( - column: $state.table.word, + ColumnFilters get flashcardSetId => $state.composableBuilder( + column: $state.table.flashcardSetId, builder: (column, joinBuilders) => ColumnFilters(column, joinBuilders: joinBuilders)); - ColumnFilters get properNounId => $state.composableBuilder( - column: $state.table.properNounId, + ColumnFilters get date => $state.composableBuilder( + column: $state.table.date, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get dueFlashcardsCompleted => $state.composableBuilder( + column: $state.table.dueFlashcardsCompleted, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get dueFlashcardsGotWrong => $state.composableBuilder( + column: $state.table.dueFlashcardsGotWrong, + builder: (column, joinBuilders) => + ColumnFilters(column, joinBuilders: joinBuilders)); + + ColumnFilters get newFlashcardsCompleted => $state.composableBuilder( + column: $state.table.newFlashcardsCompleted, builder: (column, joinBuilders) => ColumnFilters(column, joinBuilders: joinBuilders)); } -class $$ProperNounRomajiWordsTableOrderingComposer - extends OrderingComposer<_$AppDatabase, $ProperNounRomajiWordsTable> { - $$ProperNounRomajiWordsTableOrderingComposer(super.$state); +class $$FlashcardSetReportsTableOrderingComposer + extends OrderingComposer<_$AppDatabase, $FlashcardSetReportsTable> { + $$FlashcardSetReportsTableOrderingComposer(super.$state); ColumnOrderings get id => $state.composableBuilder( column: $state.table.id, builder: (column, joinBuilders) => ColumnOrderings(column, joinBuilders: joinBuilders)); - ColumnOrderings get word => $state.composableBuilder( - column: $state.table.word, + ColumnOrderings get flashcardSetId => $state.composableBuilder( + column: $state.table.flashcardSetId, builder: (column, joinBuilders) => ColumnOrderings(column, joinBuilders: joinBuilders)); - ColumnOrderings get properNounId => $state.composableBuilder( - column: $state.table.properNounId, + ColumnOrderings get date => $state.composableBuilder( + column: $state.table.date, builder: (column, joinBuilders) => ColumnOrderings(column, joinBuilders: joinBuilders)); -} -typedef $$MyDictionaryListItemsTableInsertCompanionBuilder - = MyDictionaryListItemsCompanion Function({ - Value id, - required int listId, - required int vocabId, - required int kanjiId, -}); -typedef $$MyDictionaryListItemsTableUpdateCompanionBuilder - = MyDictionaryListItemsCompanion Function({ - Value id, - Value listId, - Value vocabId, - Value kanjiId, -}); + ColumnOrderings get dueFlashcardsCompleted => $state.composableBuilder( + column: $state.table.dueFlashcardsCompleted, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); -class $$MyDictionaryListItemsTableTableManager extends RootTableManager< + ColumnOrderings get dueFlashcardsGotWrong => $state.composableBuilder( + column: $state.table.dueFlashcardsGotWrong, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); + + ColumnOrderings get newFlashcardsCompleted => $state.composableBuilder( + column: $state.table.newFlashcardsCompleted, + builder: (column, joinBuilders) => + ColumnOrderings(column, joinBuilders: joinBuilders)); +} + +class $$FlashcardSetReportsTableTableManager extends RootTableManager< _$AppDatabase, - $MyDictionaryListItemsTable, - MyDictionaryListItem, - $$MyDictionaryListItemsTableFilterComposer, - $$MyDictionaryListItemsTableOrderingComposer, - $$MyDictionaryListItemsTableProcessedTableManager, - $$MyDictionaryListItemsTableInsertCompanionBuilder, - $$MyDictionaryListItemsTableUpdateCompanionBuilder> { - $$MyDictionaryListItemsTableTableManager( - _$AppDatabase db, $MyDictionaryListItemsTable table) + $FlashcardSetReportsTable, + FlashcardSetReport, + $$FlashcardSetReportsTableFilterComposer, + $$FlashcardSetReportsTableOrderingComposer, + $$FlashcardSetReportsTableCreateCompanionBuilder, + $$FlashcardSetReportsTableUpdateCompanionBuilder, + ( + FlashcardSetReport, + BaseReferences<_$AppDatabase, $FlashcardSetReportsTable, + FlashcardSetReport> + ), + FlashcardSetReport, + PrefetchHooks Function()> { + $$FlashcardSetReportsTableTableManager( + _$AppDatabase db, $FlashcardSetReportsTable table) : super(TableManagerState( db: db, table: table, - filteringComposer: $$MyDictionaryListItemsTableFilterComposer( + filteringComposer: $$FlashcardSetReportsTableFilterComposer( ComposerState(db, table)), - orderingComposer: $$MyDictionaryListItemsTableOrderingComposer( + orderingComposer: $$FlashcardSetReportsTableOrderingComposer( ComposerState(db, table)), - getChildManagerBuilder: (p) => - $$MyDictionaryListItemsTableProcessedTableManager(p), - getUpdateCompanionBuilder: ({ + updateCompanionCallback: ({ Value id = const Value.absent(), - Value listId = const Value.absent(), - Value vocabId = const Value.absent(), - Value kanjiId = const Value.absent(), + Value flashcardSetId = const Value.absent(), + Value date = const Value.absent(), + Value dueFlashcardsCompleted = const Value.absent(), + Value dueFlashcardsGotWrong = const Value.absent(), + Value newFlashcardsCompleted = const Value.absent(), }) => - MyDictionaryListItemsCompanion( + FlashcardSetReportsCompanion( id: id, - listId: listId, - vocabId: vocabId, - kanjiId: kanjiId, + flashcardSetId: flashcardSetId, + date: date, + dueFlashcardsCompleted: dueFlashcardsCompleted, + dueFlashcardsGotWrong: dueFlashcardsGotWrong, + newFlashcardsCompleted: newFlashcardsCompleted, ), - getInsertCompanionBuilder: ({ + createCompanionCallback: ({ Value id = const Value.absent(), - required int listId, - required int vocabId, - required int kanjiId, + required int flashcardSetId, + required int date, + Value dueFlashcardsCompleted = const Value.absent(), + Value dueFlashcardsGotWrong = const Value.absent(), + Value newFlashcardsCompleted = const Value.absent(), }) => - MyDictionaryListItemsCompanion.insert( + FlashcardSetReportsCompanion.insert( id: id, - listId: listId, - vocabId: vocabId, - kanjiId: kanjiId, + flashcardSetId: flashcardSetId, + date: date, + dueFlashcardsCompleted: dueFlashcardsCompleted, + dueFlashcardsGotWrong: dueFlashcardsGotWrong, + newFlashcardsCompleted: newFlashcardsCompleted, ), + withReferenceMapper: (p0) => p0 + .map((e) => (e.readTable(table), BaseReferences(db, table, e))) + .toList(), + prefetchHooksCallback: null, )); } -class $$MyDictionaryListItemsTableProcessedTableManager - extends ProcessedTableManager< - _$AppDatabase, - $MyDictionaryListItemsTable, - MyDictionaryListItem, - $$MyDictionaryListItemsTableFilterComposer, - $$MyDictionaryListItemsTableOrderingComposer, - $$MyDictionaryListItemsTableProcessedTableManager, - $$MyDictionaryListItemsTableInsertCompanionBuilder, - $$MyDictionaryListItemsTableUpdateCompanionBuilder> { - $$MyDictionaryListItemsTableProcessedTableManager(super.$state); -} +typedef $$FlashcardSetReportsTableProcessedTableManager = ProcessedTableManager< + _$AppDatabase, + $FlashcardSetReportsTable, + FlashcardSetReport, + $$FlashcardSetReportsTableFilterComposer, + $$FlashcardSetReportsTableOrderingComposer, + $$FlashcardSetReportsTableCreateCompanionBuilder, + $$FlashcardSetReportsTableUpdateCompanionBuilder, + ( + FlashcardSetReport, + BaseReferences<_$AppDatabase, $FlashcardSetReportsTable, + FlashcardSetReport> + ), + FlashcardSetReport, + PrefetchHooks Function()>; +typedef $$DictionaryInfosTableCreateCompanionBuilder = DictionaryInfosCompanion + Function({ + Value id, + required int version, + Value rowid, +}); +typedef $$DictionaryInfosTableUpdateCompanionBuilder = DictionaryInfosCompanion + Function({ + Value id, + Value version, + Value rowid, +}); -class $$MyDictionaryListItemsTableFilterComposer - extends FilterComposer<_$AppDatabase, $MyDictionaryListItemsTable> { - $$MyDictionaryListItemsTableFilterComposer(super.$state); +class $$DictionaryInfosTableFilterComposer + extends FilterComposer<_$AppDatabase, $DictionaryInfosTable> { + $$DictionaryInfosTableFilterComposer(super.$state); ColumnFilters get id => $state.composableBuilder( column: $state.table.id, builder: (column, joinBuilders) => ColumnFilters(column, joinBuilders: joinBuilders)); - ColumnFilters get listId => $state.composableBuilder( - column: $state.table.listId, - builder: (column, joinBuilders) => - ColumnFilters(column, joinBuilders: joinBuilders)); - - ColumnFilters get vocabId => $state.composableBuilder( - column: $state.table.vocabId, - builder: (column, joinBuilders) => - ColumnFilters(column, joinBuilders: joinBuilders)); - - ColumnFilters get kanjiId => $state.composableBuilder( - column: $state.table.kanjiId, + ColumnFilters get version => $state.composableBuilder( + column: $state.table.version, builder: (column, joinBuilders) => ColumnFilters(column, joinBuilders: joinBuilders)); } -class $$MyDictionaryListItemsTableOrderingComposer - extends OrderingComposer<_$AppDatabase, $MyDictionaryListItemsTable> { - $$MyDictionaryListItemsTableOrderingComposer(super.$state); +class $$DictionaryInfosTableOrderingComposer + extends OrderingComposer<_$AppDatabase, $DictionaryInfosTable> { + $$DictionaryInfosTableOrderingComposer(super.$state); ColumnOrderings get id => $state.composableBuilder( column: $state.table.id, builder: (column, joinBuilders) => ColumnOrderings(column, joinBuilders: joinBuilders)); - ColumnOrderings get listId => $state.composableBuilder( - column: $state.table.listId, - builder: (column, joinBuilders) => - ColumnOrderings(column, joinBuilders: joinBuilders)); - - ColumnOrderings get vocabId => $state.composableBuilder( - column: $state.table.vocabId, - builder: (column, joinBuilders) => - ColumnOrderings(column, joinBuilders: joinBuilders)); - - ColumnOrderings get kanjiId => $state.composableBuilder( - column: $state.table.kanjiId, + ColumnOrderings get version => $state.composableBuilder( + column: $state.table.version, builder: (column, joinBuilders) => ColumnOrderings(column, joinBuilders: joinBuilders)); } -typedef $$DictionaryInfosTableInsertCompanionBuilder = DictionaryInfosCompanion - Function({ - Value id, - required int version, - Value rowid, -}); -typedef $$DictionaryInfosTableUpdateCompanionBuilder = DictionaryInfosCompanion - Function({ - Value id, - Value version, - Value rowid, -}); - class $$DictionaryInfosTableTableManager extends RootTableManager< _$AppDatabase, $DictionaryInfosTable, DictionaryInfo, $$DictionaryInfosTableFilterComposer, $$DictionaryInfosTableOrderingComposer, - $$DictionaryInfosTableProcessedTableManager, - $$DictionaryInfosTableInsertCompanionBuilder, - $$DictionaryInfosTableUpdateCompanionBuilder> { + $$DictionaryInfosTableCreateCompanionBuilder, + $$DictionaryInfosTableUpdateCompanionBuilder, + ( + DictionaryInfo, + BaseReferences<_$AppDatabase, $DictionaryInfosTable, DictionaryInfo> + ), + DictionaryInfo, + PrefetchHooks Function()> { $$DictionaryInfosTableTableManager( _$AppDatabase db, $DictionaryInfosTable table) : super(TableManagerState( @@ -7233,9 +9688,7 @@ class $$DictionaryInfosTableTableManager extends RootTableManager< $$DictionaryInfosTableFilterComposer(ComposerState(db, table)), orderingComposer: $$DictionaryInfosTableOrderingComposer(ComposerState(db, table)), - getChildManagerBuilder: (p) => - $$DictionaryInfosTableProcessedTableManager(p), - getUpdateCompanionBuilder: ({ + updateCompanionCallback: ({ Value id = const Value.absent(), Value version = const Value.absent(), Value rowid = const Value.absent(), @@ -7245,7 +9698,7 @@ class $$DictionaryInfosTableTableManager extends RootTableManager< version: version, rowid: rowid, ), - getInsertCompanionBuilder: ({ + createCompanionCallback: ({ Value id = const Value.absent(), required int version, Value rowid = const Value.absent(), @@ -7255,70 +9708,71 @@ class $$DictionaryInfosTableTableManager extends RootTableManager< version: version, rowid: rowid, ), + withReferenceMapper: (p0) => p0 + .map((e) => (e.readTable(table), BaseReferences(db, table, e))) + .toList(), + prefetchHooksCallback: null, )); } -class $$DictionaryInfosTableProcessedTableManager extends ProcessedTableManager< +typedef $$DictionaryInfosTableProcessedTableManager = ProcessedTableManager< _$AppDatabase, $DictionaryInfosTable, DictionaryInfo, $$DictionaryInfosTableFilterComposer, $$DictionaryInfosTableOrderingComposer, - $$DictionaryInfosTableProcessedTableManager, - $$DictionaryInfosTableInsertCompanionBuilder, - $$DictionaryInfosTableUpdateCompanionBuilder> { - $$DictionaryInfosTableProcessedTableManager(super.$state); -} - -class $$DictionaryInfosTableFilterComposer - extends FilterComposer<_$AppDatabase, $DictionaryInfosTable> { - $$DictionaryInfosTableFilterComposer(super.$state); - ColumnFilters get id => $state.composableBuilder( - column: $state.table.id, - builder: (column, joinBuilders) => - ColumnFilters(column, joinBuilders: joinBuilders)); - - ColumnFilters get version => $state.composableBuilder( - column: $state.table.version, - builder: (column, joinBuilders) => - ColumnFilters(column, joinBuilders: joinBuilders)); -} - -class $$DictionaryInfosTableOrderingComposer - extends OrderingComposer<_$AppDatabase, $DictionaryInfosTable> { - $$DictionaryInfosTableOrderingComposer(super.$state); - ColumnOrderings get id => $state.composableBuilder( - column: $state.table.id, - builder: (column, joinBuilders) => - ColumnOrderings(column, joinBuilders: joinBuilders)); - - ColumnOrderings get version => $state.composableBuilder( - column: $state.table.version, - builder: (column, joinBuilders) => - ColumnOrderings(column, joinBuilders: joinBuilders)); -} + $$DictionaryInfosTableCreateCompanionBuilder, + $$DictionaryInfosTableUpdateCompanionBuilder, + ( + DictionaryInfo, + BaseReferences<_$AppDatabase, $DictionaryInfosTable, DictionaryInfo> + ), + DictionaryInfo, + PrefetchHooks Function()>; -class _$AppDatabaseManager { +class $AppDatabaseManager { final _$AppDatabase _db; - _$AppDatabaseManager(this._db); + $AppDatabaseManager(this._db); $$VocabWritingsTableTableManager get vocabWritings => $$VocabWritingsTableTableManager(_db, _db.vocabWritings); $$VocabReadingsTableTableManager get vocabReadings => $$VocabReadingsTableTableManager(_db, _db.vocabReadings); + $$VocabsTableTableManager get vocabs => + $$VocabsTableTableManager(_db, _db.vocabs); $$VocabDefinitionsTableTableManager get vocabDefinitions => $$VocabDefinitionsTableTableManager(_db, _db.vocabDefinitions); $$VocabDefinitionWordsTableTableManager get vocabDefinitionWords => $$VocabDefinitionWordsTableTableManager(_db, _db.vocabDefinitionWords); + $$KanjisTableTableManager get kanjis => + $$KanjisTableTableManager(_db, _db.kanjis); + $$KanjiReadingsTableTableManager get kanjiReadings => + $$KanjiReadingsTableTableManager(_db, _db.kanjiReadings); $$KanjiMeaningWordsTableTableManager get kanjiMeaningWords => $$KanjiMeaningWordsTableTableManager(_db, _db.kanjiMeaningWords); + $$TextAnalysisHistoryItemsTableTableManager get textAnalysisHistoryItems => + $$TextAnalysisHistoryItemsTableTableManager( + _db, _db.textAnalysisHistoryItems); + $$SpacedRepetitionDatasTableTableManager get spacedRepetitionDatas => + $$SpacedRepetitionDatasTableTableManager(_db, _db.spacedRepetitionDatas); $$SearchHistoryItemsTableTableManager get searchHistoryItems => $$SearchHistoryItemsTableTableManager(_db, _db.searchHistoryItems); $$RadicalsTableTableManager get radicals => $$RadicalsTableTableManager(_db, _db.radicals); + $$ProperNounsTableTableManager get properNouns => + $$ProperNounsTableTableManager(_db, _db.properNouns); $$ProperNounRomajiWordsTableTableManager get properNounRomajiWords => $$ProperNounRomajiWordsTableTableManager(_db, _db.properNounRomajiWords); + $$PredefinedDictionaryListsTableTableManager get predefinedDictionaryLists => + $$PredefinedDictionaryListsTableTableManager( + _db, _db.predefinedDictionaryLists); + $$MyDictionaryListsTableTableManager get myDictionaryLists => + $$MyDictionaryListsTableTableManager(_db, _db.myDictionaryLists); $$MyDictionaryListItemsTableTableManager get myDictionaryListItems => $$MyDictionaryListItemsTableTableManager(_db, _db.myDictionaryListItems); + $$FlashcardSetsTableTableManager get flashcardSets => + $$FlashcardSetsTableTableManager(_db, _db.flashcardSets); + $$FlashcardSetReportsTableTableManager get flashcardSetReports => + $$FlashcardSetReportsTableTableManager(_db, _db.flashcardSetReports); $$DictionaryInfosTableTableManager get dictionaryInfos => $$DictionaryInfosTableTableManager(_db, _db.dictionaryInfos); } diff --git a/lib/src/datamodels/flashcard_sets.dart b/lib/src/datamodels/flashcard_sets.dart index fa6895e..dd226aa 100644 --- a/lib/src/datamodels/flashcard_sets.dart +++ b/lib/src/datamodels/flashcard_sets.dart @@ -29,15 +29,12 @@ class FlashcardSets extends Table { boolean().withDefault(const Constant(false))(); DateTimeColumn get timestamp => dateTime().withDefault(currentDateAndTime)(); - IntColumn get flashcardsCompletedToday => - integer().withDefault(const Constant(0))(); - IntColumn get newFlashcardsCompletedToday => - integer().withDefault(const Constant(0))(); - TextColumn get predefinedDictionaryLists => text().map(const IntListConverter()).withDefault(const Constant('[]'))(); TextColumn get myDictionaryLists => text().map(const IntListConverter()).withDefault(const Constant('[]'))(); + + IntColumn get streak => integer().withDefault(const Constant(0))(); } class FlashcardSet implements Insertable { @@ -53,12 +50,11 @@ class FlashcardSet implements Insertable { bool vocabShowPartsOfSpeech; DateTime timestamp; - int flashcardsCompletedToday; - int newFlashcardsCompletedToday; - List predefinedDictionaryLists; List myDictionaryLists; + int streak; + FlashcardSet({ required this.id, required this.name, @@ -71,10 +67,9 @@ class FlashcardSet implements Insertable { required this.kanjiShowReading, required this.vocabShowPartsOfSpeech, required this.timestamp, - required this.flashcardsCompletedToday, - required this.newFlashcardsCompletedToday, required this.predefinedDictionaryLists, required this.myDictionaryLists, + required this.streak, }); @override @@ -92,11 +87,9 @@ class FlashcardSet implements Insertable { kanjiShowReading: Value.absentIfNull(kanjiShowReading), vocabShowPartsOfSpeech: Value.absentIfNull(vocabShowPartsOfSpeech), timestamp: Value.absentIfNull(timestamp), - flashcardsCompletedToday: Value.absentIfNull(flashcardsCompletedToday), - newFlashcardsCompletedToday: - Value.absentIfNull(newFlashcardsCompletedToday), predefinedDictionaryLists: Value.absentIfNull(predefinedDictionaryLists), myDictionaryLists: Value.absentIfNull(myDictionaryLists), + streak: Value(streak), ).toColumns(nullToAbsent); } @@ -122,14 +115,11 @@ class FlashcardSet implements Insertable { vocabShowPartsOfSpeech, SagaseDictionaryConstants.backupFlashcardSetTimestamp: timestamp.millisecondsSinceEpoch, - SagaseDictionaryConstants.backupFlashcardSetFlashcardsCompletedToday: - flashcardsCompletedToday, - SagaseDictionaryConstants.backupFlashcardSetNewFlashcardsCompletedToday: - newFlashcardsCompletedToday, SagaseDictionaryConstants.backupFlashcardSetPredefinedDictionaryLists: predefinedDictionaryLists, SagaseDictionaryConstants.backupFlashcardSetMyDictionaryLists: - myDictionaryLists + myDictionaryLists, + SagaseDictionaryConstants.backupFlashcardSetStreak: streak, }, ); } @@ -157,16 +147,99 @@ class FlashcardSet implements Insertable { SagaseDictionaryConstants.backupFlashcardSetVocabShowPartsOfSpeech], timestamp: DateTime.fromMillisecondsSinceEpoch( map[SagaseDictionaryConstants.backupFlashcardSetTimestamp]), - flashcardsCompletedToday: map[ - SagaseDictionaryConstants.backupFlashcardSetFlashcardsCompletedToday], - newFlashcardsCompletedToday: map[SagaseDictionaryConstants - .backupFlashcardSetNewFlashcardsCompletedToday], predefinedDictionaryLists: map[SagaseDictionaryConstants .backupFlashcardSetPredefinedDictionaryLists] .cast(), myDictionaryLists: map[SagaseDictionaryConstants.backupFlashcardSetMyDictionaryLists] .cast(), + streak: + map[SagaseDictionaryConstants.backupFlashcardSetStreak] as int? ?? 0, + ); + } +} + +@UseRowClass(FlashcardSetReport) +@TableIndex( + name: 'UX_flashcard_set_reports_flashcard_set_id_and_date', + columns: {#flashcardSetId, #date}, + unique: true, +) +class FlashcardSetReports extends Table { + IntColumn get id => integer().autoIncrement()(); + + IntColumn get flashcardSetId => integer()(); + IntColumn get date => integer()(); + + IntColumn get dueFlashcardsCompleted => + integer().withDefault(const Constant(0))(); + IntColumn get dueFlashcardsGotWrong => + integer().withDefault(const Constant(0))(); + IntColumn get newFlashcardsCompleted => + integer().withDefault(const Constant(0))(); +} + +class FlashcardSetReport implements Insertable { + final int id; + final int flashcardSetId; + final int date; + int dueFlashcardsCompleted; + int dueFlashcardsGotWrong; + int newFlashcardsCompleted; + + FlashcardSetReport({ + required this.id, + required this.flashcardSetId, + required this.date, + required this.dueFlashcardsCompleted, + required this.dueFlashcardsGotWrong, + required this.newFlashcardsCompleted, + }); + + @override + Map> toColumns(bool nullToAbsent) { + return FlashcardSetReportsCompanion( + id: Value(id), + flashcardSetId: Value(flashcardSetId), + date: Value(date), + dueFlashcardsCompleted: Value(dueFlashcardsCompleted), + dueFlashcardsGotWrong: Value(dueFlashcardsGotWrong), + newFlashcardsCompleted: Value(newFlashcardsCompleted), + ).toColumns(nullToAbsent); + } + + String toBackupJson() { + return jsonEncode( + { + SagaseDictionaryConstants.backupFlashcardSetReportId: id, + SagaseDictionaryConstants.backupFlashcardSetReportFlashcardSetId: + flashcardSetId, + SagaseDictionaryConstants.backupFlashcardSetReportDate: date, + SagaseDictionaryConstants + .backupFlashcardSetReportDueFlashcardsCompleted: + dueFlashcardsCompleted, + SagaseDictionaryConstants.backupFlashcardSetReportDueFlashcardsGotWrong: + dueFlashcardsGotWrong, + SagaseDictionaryConstants + .backupFlashcardSetReportNewFlashcardsCompleted: + newFlashcardsCompleted, + }, + ); + } + + static FlashcardSetReport fromBackupJson(String json) { + final map = jsonDecode(json); + return FlashcardSetReport( + id: map[SagaseDictionaryConstants.backupFlashcardSetReportId], + flashcardSetId: + map[SagaseDictionaryConstants.backupFlashcardSetReportFlashcardSetId], + date: map[SagaseDictionaryConstants.backupFlashcardSetReportDate], + dueFlashcardsCompleted: map[SagaseDictionaryConstants + .backupFlashcardSetReportDueFlashcardsCompleted], + dueFlashcardsGotWrong: map[SagaseDictionaryConstants + .backupFlashcardSetReportDueFlashcardsGotWrong], + newFlashcardsCompleted: map[SagaseDictionaryConstants + .backupFlashcardSetReportNewFlashcardsCompleted], ); } } diff --git a/lib/src/datamodels/kanjis.dart b/lib/src/datamodels/kanjis.dart index 12173b2..5e705d1 100644 --- a/lib/src/datamodels/kanjis.dart +++ b/lib/src/datamodels/kanjis.dart @@ -99,6 +99,7 @@ class KanjiReading { @TableIndex(name: 'IX_kanji_meaning_words_word', columns: {#word}) class KanjiMeaningWords extends Table { + IntColumn get id => integer().autoIncrement()(); TextColumn get word => text()(); IntColumn get kanjiId => integer()(); } diff --git a/lib/src/datamodels/search_history_items.dart b/lib/src/datamodels/search_history_items.dart index 225595c..dc258f2 100644 --- a/lib/src/datamodels/search_history_items.dart +++ b/lib/src/datamodels/search_history_items.dart @@ -2,8 +2,5 @@ import 'package:drift/drift.dart'; class SearchHistoryItems extends Table { IntColumn get id => integer().autoIncrement()(); - TextColumn get searchText => text()(); - - DateTimeColumn get timestamp => dateTime().withDefault(currentDateAndTime)(); } diff --git a/lib/src/datamodels/text_analysis_history_items.dart b/lib/src/datamodels/text_analysis_history_items.dart new file mode 100644 index 0000000..8394d23 --- /dev/null +++ b/lib/src/datamodels/text_analysis_history_items.dart @@ -0,0 +1,6 @@ +import 'package:drift/drift.dart'; + +class TextAnalysisHistoryItems extends Table { + IntColumn get id => integer().autoIncrement()(); + TextColumn get analysisText => text()(); +} diff --git a/lib/src/datamodels/vocabs.dart b/lib/src/datamodels/vocabs.dart index f94717a..7ef8189 100644 --- a/lib/src/datamodels/vocabs.dart +++ b/lib/src/datamodels/vocabs.dart @@ -106,6 +106,7 @@ class VocabDefinitions extends Table { @TableIndex(name: 'IX_vocab_definition_words_word', columns: {#word}) class VocabDefinitionWords extends Table { + IntColumn get id => integer().autoIncrement()(); TextColumn get word => text()(); IntColumn get vocabId => integer()(); } diff --git a/lib/src/dictionary_builder.dart b/lib/src/dictionary_builder.dart index 4a5a6ee..2c3fa80 100644 --- a/lib/src/dictionary_builder.dart +++ b/lib/src/dictionary_builder.dart @@ -71,6 +71,9 @@ class DictionaryBuilder { vocabLists, kanjiLists, ); + + // Set kanji JLPT level + await _setKanjiJlptLevel(db); } // Creates the vocab database from the raw dictionary file @@ -137,30 +140,28 @@ class DictionaryBuilder { } } - // Extract pos to general list if shared by all definitions (skip if single definition) - if (currentDefinitions.length > 1) { - if (currentDefinitions[0].pos.value != null) { - outer: - for (var pos in currentDefinitions[0].pos.value!) { - for (int i = 1; i < currentDefinitions.length; i++) { - if (!(currentDefinitions[i].pos.value?.contains(pos) ?? false)) { - continue outer; - } - } - if (vocab.pos.value == null) { - vocab = vocab.copyWith(pos: Value([pos])); - } else { - vocab.pos.value!.add(pos); + // Extract pos to general list if shared by all definitions + if (currentDefinitions[0].pos.value != null) { + outer: + for (var pos in currentDefinitions[0].pos.value!) { + for (int i = 1; i < currentDefinitions.length; i++) { + if (!(currentDefinitions[i].pos.value?.contains(pos) ?? false)) { + continue outer; } } - if (vocab.pos.value != null) { - for (var pos in vocab.pos.value!) { - for (int i = 0; i < currentDefinitions.length; i++) { - currentDefinitions[i].pos.value?.remove(pos); - if (currentDefinitions[i].pos.value?.isEmpty ?? false) { - currentDefinitions[i] = - currentDefinitions[i].copyWith(pos: Value.absent()); - } + if (vocab.pos.value == null) { + vocab = vocab.copyWith(pos: Value([pos])); + } else { + vocab.pos.value!.add(pos); + } + } + if (vocab.pos.value != null) { + for (var pos in vocab.pos.value!) { + for (int i = 0; i < currentDefinitions.length; i++) { + currentDefinitions[i].pos.value?.remove(pos); + if (currentDefinitions[i].pos.value?.isEmpty ?? false) { + currentDefinitions[i] = + currentDefinitions[i].copyWith(pos: Value.absent()); } } } @@ -234,6 +235,7 @@ class DictionaryBuilder { .toList() .join('\n') .toLowerCase() + .removeDiacritics() .splitWords() .toSet() .toList(); @@ -617,6 +619,7 @@ class DictionaryBuilder { case '&sK;': return WritingInfo.searchOnlyForm; default: + print('Unsupported writing info: $writingInfo'); return null; } } @@ -680,9 +683,12 @@ class DictionaryBuilder { return ReadingInfo.irregularKana; case '&ok;': return ReadingInfo.outdatedKana; + case '&rk;': + return ReadingInfo.rareKanaForm; case '&sk;': return ReadingInfo.searchOnlyForm; default: + print('Unsupported reading info: $readingInfo'); return null; } } @@ -991,7 +997,7 @@ class DictionaryBuilder { case "&vz;": return PartOfSpeech.verbIchidanZuru; default: - print('Unknown part-of-speech'); + print('Unsupported part of speech: $partOfSpeech'); return PartOfSpeech.unknown; } } @@ -1022,6 +1028,8 @@ class DictionaryBuilder { return Field.biology; case '⊥': return Field.botany; + case '&boxing;': + return Field.boxing; case '&Buddh;': return Field.buddhism; case '&bus;': @@ -1030,8 +1038,12 @@ class DictionaryBuilder { return Field.cardGames; case '&chem;': return Field.chemistry; + case '&chmyth;': + return Field.chineseMythology; case '&Christn;': return Field.christianity; + case '&civeng;': + return Field.civilEngineering; case '&cloth;': return Field.clothing; case '∁': @@ -1054,6 +1066,8 @@ class DictionaryBuilder { return Field.engineering; case '&ent;': return Field.entomology; + case '&figskt;': + return Field.figureSkating; case '&film;': return Field.film; case '&finc;': @@ -1084,6 +1098,10 @@ class DictionaryBuilder { return Field.hanafuda; case '&horse;': return Field.horseRacing; + case '&internet;': + return Field.internet; + case '&jpmyth;': + return Field.japaneseMythology; case '&kabuki;': return Field.kabuki; case '&law;': @@ -1108,8 +1126,12 @@ class DictionaryBuilder { return Field.meteorology; case '&mil;': return Field.military; + case '&min;': + return Field.mineralogy; case '&mining;': return Field.mining; + case '&motor;': + return Field.motorsport; case '&music;': return Field.music; case '&noh;': @@ -1134,6 +1156,8 @@ class DictionaryBuilder { return Field.politics; case '&print;': return Field.printing; + case '&prowres;': + return Field.professionalWrestling; case '&psy;': return Field.psychiatry; case '&psyanal;': @@ -1158,17 +1182,22 @@ class DictionaryBuilder { return Field.stockMarket; case '&sumo;': return Field.sumo; + case '&surg;': + return Field.surgery; case '&telec;': return Field.telecommunications; case '&tradem;': return Field.trademark; case '&tv;': return Field.television; + case '&vet;': + return Field.veterinaryTerms; case '&vidg;': return Field.videoGames; case '&zool;': return Field.zoology; default: + print('Unsupported field: $field'); return null; } } @@ -1286,6 +1315,7 @@ class DictionaryBuilder { case '&yoji;': return MiscellaneousInfo.yojijukugo; default: + print('Unsupported miscellaneous info: $miscellaneousInfo'); return null; } } @@ -1317,6 +1347,7 @@ class DictionaryBuilder { case '&tsug;': return Dialect.tsugaruBen; default: + print('Unsupported dialect: $dialect'); return null; } } @@ -1524,6 +1555,9 @@ class DictionaryBuilder { case 'urd': languageSource.add(LanguageSource.urd); break; + case 'uzb': + languageSource.add(LanguageSource.uzb); + break; case 'vie': languageSource.add(LanguageSource.vie); break; @@ -1676,7 +1710,12 @@ class DictionaryBuilder { ); for (final meaning in readingMeaning.meanings) { - final words = meaning.toLowerCase().splitWords().toSet().toList(); + final words = meaning + .toLowerCase() + .removeDiacritics() + .splitWords() + .toSet() + .toList(); for (final word in words) { kanjiMeaningWordList.add(KanjiMeaningWordsCompanion( word: Value(word), @@ -1875,7 +1914,6 @@ class DictionaryBuilder { KanjiGrade? grade; int? strokeCount; int? frequency; - JlptLevel? jlpt; for (var element in elements) { switch (element.name.local) { @@ -1902,8 +1940,7 @@ class DictionaryBuilder { // This kanji is itself a radical break; case 'jlpt': - // TODO should stop relying on this because it uses lists from before n5 - jlpt = JlptLevel.values[int.parse(element.innerText) - 1]; + // JLPT level. Not using it because they are the old levels that don't include n5 break; } } @@ -1912,7 +1949,6 @@ class DictionaryBuilder { grade: Value.absentIfNull(grade), strokeCount: Value(strokeCount!), frequency: Value.absentIfNull(frequency), - jlpt: Value.absentIfNull(jlpt), ); } @@ -2310,6 +2346,44 @@ class DictionaryBuilder { ); } + // Sets the kanji JLPT level based on the predefined dictionary lists + static Future _setKanjiJlptLevel(AppDatabase db) async { + final jlptN5Kanji = await db.predefinedDictionaryListsDao + .get(SagaseDictionaryConstants.dictionaryListIdJlptKanjiN5); + for (final kanjiId in jlptN5Kanji.kanji) { + await (db.update(db.kanjis)..where((kanji) => kanji.id.equals(kanjiId))) + .write(KanjisCompanion(jlpt: Value(JlptLevel.n5))); + } + + final jlptN4Kanji = await db.predefinedDictionaryListsDao + .get(SagaseDictionaryConstants.dictionaryListIdJlptKanjiN4); + for (final kanjiId in jlptN4Kanji.kanji) { + await (db.update(db.kanjis)..where((kanji) => kanji.id.equals(kanjiId))) + .write(KanjisCompanion(jlpt: Value(JlptLevel.n4))); + } + + final jlptN3Kanji = await db.predefinedDictionaryListsDao + .get(SagaseDictionaryConstants.dictionaryListIdJlptKanjiN3); + for (final kanjiId in jlptN3Kanji.kanji) { + await (db.update(db.kanjis)..where((kanji) => kanji.id.equals(kanjiId))) + .write(KanjisCompanion(jlpt: Value(JlptLevel.n3))); + } + + final jlptN2Kanji = await db.predefinedDictionaryListsDao + .get(SagaseDictionaryConstants.dictionaryListIdJlptKanjiN2); + for (final kanjiId in jlptN2Kanji.kanji) { + await (db.update(db.kanjis)..where((kanji) => kanji.id.equals(kanjiId))) + .write(KanjisCompanion(jlpt: Value(JlptLevel.n2))); + } + + final jlptN1Kanji = await db.predefinedDictionaryListsDao + .get(SagaseDictionaryConstants.dictionaryListIdJlptKanjiN1); + for (final kanjiId in jlptN1Kanji.kanji) { + await (db.update(db.kanjis)..where((kanji) => kanji.id.equals(kanjiId))) + .write(KanjisCompanion(jlpt: Value(JlptLevel.n1))); + } + } + // Creates the proper noun database from the raw dictionary file static Future createProperNounDictionary( AppDatabase db, @@ -2465,6 +2539,7 @@ class DictionaryBuilder { case 'rel': return ProperNounType.religion; default: + print('Unsupported proper noun type: $type'); return ProperNounType.unknown; } } diff --git a/lib/src/utils/constants.dart b/lib/src/utils/constants.dart index 6c454ed..f1197b7 100644 --- a/lib/src/utils/constants.dart +++ b/lib/src/utils/constants.dart @@ -47,12 +47,16 @@ class SagaseDictionaryConstants { static const backupTimestamp = 'timestamp'; static const backupMyDictionaryLists = 'my_dictionary_lists'; static const backupFlashcardSets = 'flashcard_sets'; + static const backupFlashcardSetReports = 'flashcard_set_reports'; static const backupVocabSpacedRepetitionData = 'vocab_spaced_repetition_data'; static const backupVocabSpacedRepetitionDataEnglish = 'vocab_spaced_repetition_data_english'; static const backupKanjiSpacedRepetitionData = 'kanji_spaced_repetition_data'; static const backupKanjiSpacedRepetitionDataEnglish = 'kanji_spaced_repetition_data_english'; + static const backupSearchHistory = 'search_history'; + static const backupTextAnalysisHistory = 'text_analysis_history'; + static const backupFlashcardSetId = 'id'; static const backupFlashcardSetName = 'name'; static const backupFlashcardSetUsingSpacedRepetition = @@ -69,13 +73,19 @@ class SagaseDictionaryConstants { static const backupFlashcardSetVocabShowPartsOfSpeech = 'vocab_show_parts_of_speech'; static const backupFlashcardSetTimestamp = 'timestamp'; - static const backupFlashcardSetFlashcardsCompletedToday = - 'flashcards_completed_today'; - static const backupFlashcardSetNewFlashcardsCompletedToday = - 'new_flashcards_completed_today'; static const backupFlashcardSetPredefinedDictionaryLists = 'predefined_dictionary_lists'; static const backupFlashcardSetMyDictionaryLists = 'my_dictionary_lists'; + static const backupFlashcardSetStreak = 'streak'; + static const backupFlashcardSetReportId = 'id'; + static const backupFlashcardSetReportFlashcardSetId = 'flashcard_set_id'; + static const backupFlashcardSetReportDate = 'date'; + static const backupFlashcardSetReportDueFlashcardsCompleted = + 'due_flashcards_completed'; + static const backupFlashcardSetReportDueFlashcardsGotWrong = + 'due_flashcards_got_wrong'; + static const backupFlashcardSetReportNewFlashcardsCompleted = + 'new_flashcards_completed'; static const backupMyDictionaryListId = 'id'; static const backupMyDictionaryListName = 'name'; static const backupMyDictionaryListTimestamp = 'timestamp'; diff --git a/lib/src/utils/enums.dart b/lib/src/utils/enums.dart index 37c7b49..af067fa 100644 --- a/lib/src/utils/enums.dart +++ b/lib/src/utils/enums.dart @@ -87,6 +87,7 @@ enum ReadingInfo { gikun, irregularKana, outdatedKana, + rareKanaForm, searchOnlyForm, } @@ -199,11 +200,14 @@ enum Field { biochemistry, biology, botany, + boxing, buddhism, business, cardGames, chemistry, + chineseMythology, christianity, + civilEngineering, clothing, computing, crystallography, @@ -215,6 +219,7 @@ enum Field { embryology, engineering, entomology, + figureSkating, film, finance, fishing, @@ -230,6 +235,8 @@ enum Field { greekMythology, hanafuda, horseRacing, + internet, + japaneseMythology, kabuki, law, linguistics, @@ -242,7 +249,9 @@ enum Field { medicine, meteorology, military, + mineralogy, mining, + motorsport, music, noh, ornithology, @@ -255,6 +264,7 @@ enum Field { physiology, politics, printing, + professionalWrestling, psychiatry, psychoanalysis, psychology, @@ -267,9 +277,11 @@ enum Field { statistics, stockMarket, sumo, + surgery, telecommunications, trademark, television, + veterinaryTerms, videoGames, zoology, } @@ -414,6 +426,7 @@ enum LanguageSource { tur, ukr, urd, + uzb, vie, yid, } diff --git a/pubspec.yaml b/pubspec.yaml index c7ddcfc..fb9307e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -7,22 +7,19 @@ environment: sdk: '>=3.0.5 <4.0.0' dependencies: - drift: 2.18.0 + drift: 2.20.3 path: ^1.9.0 xml: ^6.4.2 meta: ^1.10.0 archive: ^3.4.9 - kana_kit: # TODO change to main one after merge - git: - url: https://github.com/Moseco/kana_kit - ref: 'f79e782' + kana_kit: ^2.1.1 diacritic: ^0.1.5 dev_dependencies: - lints: ^4.0.0 + lints: ^5.0.0 test: ^1.24.9 - drift_dev: 2.18.0 + drift_dev: 2.20.3 build_runner: any async: ^2.11.0 diff --git a/test/common.dart b/test/common.dart index 061519f..ed60189 100644 --- a/test/common.dart +++ b/test/common.dart @@ -1442,11 +1442,17 @@ const shortKanjiListData = '''{ "grade_level_4": [], "grade_level_5": [], "grade_level_6": [], - "jlpt_n5": [], + "jlpt_n5": [ + "行" + ], "jlpt_n4": [], - "jlpt_n3": [], + "jlpt_n3": [ + "悪" + ], "jlpt_n2": [], - "jlpt_n1": [], + "jlpt_n1": [ + "亜" + ], "jinmeiyou": [], "kentei_level_4": [], "kentei_level_3": [], diff --git a/test/dao/flashcard_sets_dao_test.dart b/test/dao/flashcard_sets_dao_test.dart index cd05dea..2a829f8 100644 --- a/test/dao/flashcard_sets_dao_test.dart +++ b/test/dao/flashcard_sets_dao_test.dart @@ -1,4 +1,6 @@ +import 'package:drift/native.dart'; import 'package:sagase_dictionary/src/database.dart'; +import 'package:sagase_dictionary/src/datamodels/flashcard_sets.dart'; import 'package:test/test.dart'; void main() { @@ -33,14 +35,22 @@ void main() { test('deleteFlashcardSet', () async { final flashcardSet = await database.flashcardSetsDao.create('set'); + await database.flashcardSetsDao + .createFlashcardSetReport(flashcardSet, 20240929); var flashcardSets = await database.flashcardSetsDao.getAll(); expect(flashcardSets.length, 1); + var flashcardSetReports = + await database.flashcardSetsDao.getAllFlashcardSetReports(); + expect(flashcardSetReports.length, 1); await database.flashcardSetsDao.deleteFlashcardSet(flashcardSet); flashcardSets = await database.flashcardSetsDao.getAll(); expect(flashcardSets.length, 0); + flashcardSetReports = + await database.flashcardSetsDao.getAllFlashcardSetReports(); + expect(flashcardSetReports.length, 0); }); test('getAll', () async { @@ -109,5 +119,180 @@ void main() { expect(importedFlashcardSet.myDictionaryLists[0], dictionaryList.id); expect(importedFlashcardSet.predefinedDictionaryLists.length, 0); }); + + group('createFlashcardSetReport', () { + test('valid', () async { + final flashcardSet = await database.flashcardSetsDao.create('set'); + final flashcardSetReport = await database.flashcardSetsDao + .createFlashcardSetReport(flashcardSet, 20240910); + + expect(flashcardSetReport.flashcardSetId, flashcardSet.id); + expect(flashcardSetReport.date, 20240910); + expect(flashcardSetReport.dueFlashcardsCompleted, 0); + expect(flashcardSetReport.dueFlashcardsGotWrong, 0); + expect(flashcardSetReport.newFlashcardsCompleted, 0); + }); + + test('try to create for same date', () async { + final flashcardSet = await database.flashcardSetsDao.create('set'); + await database.flashcardSetsDao + .createFlashcardSetReport(flashcardSet, 20240910); + + expect( + database.flashcardSetsDao + .createFlashcardSetReport(flashcardSet, 20240910), + throwsA(isA()), + ); + }); + }); + + test('setFlashcardSetReport', () async { + final flashcardSet = await database.flashcardSetsDao.create('set'); + final flashcardSetReport = await database.flashcardSetsDao + .createFlashcardSetReport(flashcardSet, 20240910); + + flashcardSetReport.dueFlashcardsCompleted++; + await database.flashcardSetsDao.setFlashcardSetReport( + flashcardSetReport, + ); + + final updatedFlashcardSetReport = await database.flashcardSetsDao + .getFlashcardSetReport(flashcardSet, 20240910); + + expect(updatedFlashcardSetReport!.dueFlashcardsCompleted, 1); + }); + + test('getFlashcardSetReport', () async { + final flashcardSet = await database.flashcardSetsDao.create('set'); + + var flashcardSetReport = await database.flashcardSetsDao + .getFlashcardSetReport(flashcardSet, 20240910); + expect(flashcardSetReport, null); + + await database.flashcardSetsDao + .createFlashcardSetReport(flashcardSet, 20240910); + + flashcardSetReport = await database.flashcardSetsDao + .getFlashcardSetReport(flashcardSet, 20240910); + expect(flashcardSetReport!.date, 20240910); + }); + + test('getRecentFlashcardSetReport', () async { + final flashcardSet1 = await database.flashcardSetsDao.create('set1'); + final flashcardSet2 = await database.flashcardSetsDao.create('set2'); + + await database.flashcardSetsDao + .createFlashcardSetReport(flashcardSet2, 20240907); + + var flashcardSetReport = await database.flashcardSetsDao + .getRecentFlashcardSetReport(flashcardSet1); + expect(flashcardSetReport, null); + + await database.flashcardSetsDao + .createFlashcardSetReport(flashcardSet2, 20240911); + await database.flashcardSetsDao + .createFlashcardSetReport(flashcardSet1, 20240910); + await database.flashcardSetsDao + .createFlashcardSetReport(flashcardSet1, 20240909); + await database.flashcardSetsDao + .createFlashcardSetReport(flashcardSet2, 20240908); + + flashcardSetReport = await database.flashcardSetsDao + .getRecentFlashcardSetReport(flashcardSet1); + expect(flashcardSetReport!.date, 20240910); + }); + + test('getAllFlashcardSetReports', () async { + final flashcardSet1 = await database.flashcardSetsDao.create('set1'); + final flashcardSet2 = await database.flashcardSetsDao.create('set2'); + await database.flashcardSetsDao + .createFlashcardSetReport(flashcardSet1, 20240910); + await database.flashcardSetsDao + .createFlashcardSetReport(flashcardSet2, 20240909); + await database.flashcardSetsDao + .createFlashcardSetReport(flashcardSet1, 20240908); + await database.flashcardSetsDao + .createFlashcardSetReport(flashcardSet2, 20240907); + + final flashcardSetReports = + await database.flashcardSetsDao.getAllFlashcardSetReports(); + expect(flashcardSetReports.length, 4); + }); + + test('getFlashcardSetReportRange', () async { + final flashcardSet = await database.flashcardSetsDao.create('set'); + await database.flashcardSetsDao + .createFlashcardSetReport(flashcardSet, 20240910); + await database.flashcardSetsDao + .createFlashcardSetReport(flashcardSet, 20240909); + await database.flashcardSetsDao + .createFlashcardSetReport(flashcardSet, 20240908); + await database.flashcardSetsDao + .createFlashcardSetReport(flashcardSet, 20240907); + + final flashcardSetReports = await database.flashcardSetsDao + .getFlashcardSetReportRange(flashcardSet, 20240908, 20240909); + expect(flashcardSetReports.length, 2); + expect(flashcardSetReports[0].date, 20240908); + expect(flashcardSetReports[1].date, 20240909); + }); + + test('deleteFlashcardSetReports', () async { + final flashcardSet1 = await database.flashcardSetsDao.create('set1'); + final flashcardSet2 = await database.flashcardSetsDao.create('set2'); + await database.flashcardSetsDao + .createFlashcardSetReport(flashcardSet1, 20240910); + await database.flashcardSetsDao + .createFlashcardSetReport(flashcardSet2, 20240909); + await database.flashcardSetsDao + .createFlashcardSetReport(flashcardSet1, 20240908); + await database.flashcardSetsDao + .createFlashcardSetReport(flashcardSet2, 20240907); + + await database.flashcardSetsDao.deleteFlashcardSetReports(flashcardSet1); + + final flashcardSetReports1 = await database.flashcardSetsDao + .getFlashcardSetReportRange(flashcardSet1, 20240907, 20240910); + expect(flashcardSetReports1.length, 0); + + final flashcardSetReports2 = await database.flashcardSetsDao + .getFlashcardSetReportRange(flashcardSet2, 20240907, 20240910); + expect(flashcardSetReports2.length, 2); + expect(flashcardSetReports2[0].date, 20240907); + expect(flashcardSetReports2[1].date, 20240909); + }); + + test('toBackupJson/fromBackupJson', () { + final flashcardSetReport = FlashcardSetReport( + id: 1, + flashcardSetId: 2, + date: 3, + dueFlashcardsCompleted: 4, + dueFlashcardsGotWrong: 5, + newFlashcardsCompleted: 6, + ); + + final importedFlashcardSetReport = + FlashcardSetReport.fromBackupJson(flashcardSetReport.toBackupJson()); + + expect(importedFlashcardSetReport.id, 1); + expect(importedFlashcardSetReport.flashcardSetId, 2); + expect(importedFlashcardSetReport.date, 3); + expect(importedFlashcardSetReport.dueFlashcardsCompleted, 4); + expect(importedFlashcardSetReport.dueFlashcardsGotWrong, 5); + expect(importedFlashcardSetReport.newFlashcardsCompleted, 6); + }); + + test('deleteAll', () async { + await database.flashcardSetsDao.create('set'); + + var flashcardSets = await database.flashcardSetsDao.getAll(); + expect(flashcardSets.length, 1); + + await database.flashcardSetsDao.deleteAll(); + + flashcardSets = await database.flashcardSetsDao.getAll(); + expect(flashcardSets.length, 0); + }); }); } diff --git a/test/dao/kanjis_dao_test.dart b/test/dao/kanjis_dao_test.dart index 9f79c03..e25560e 100644 --- a/test/dao/kanjis_dao_test.dart +++ b/test/dao/kanjis_dao_test.dart @@ -36,18 +36,33 @@ void main() { }); group('get', () { - test('No front type', () async { - final kanji = await database.kanjisDao.get('亜'.kanjiCodePoint()); - expect(kanji.kanji, '亜'); + group('Without front type', () { + test('Kanji does not exist', () async { + final kanji = await database.kanjisDao.get('s'.kanjiCodePoint()); + expect(kanji, null); + }); + + test('Kanji exists', () async { + final kanji = await database.kanjisDao.get('亜'.kanjiCodePoint()); + expect(kanji!.kanji, '亜'); + }); }); group('With front type', () { + test('Kanji does not exist', () async { + final kanji = await database.kanjisDao.get( + 's'.kanjiCodePoint(), + frontType: FrontType.japanese, + ); + expect(kanji, null); + }); + test('Spaced repetition does not exist', () async { final kanji = await database.kanjisDao.get( '亜'.kanjiCodePoint(), frontType: FrontType.japanese, ); - expect(kanji.kanji, '亜'); + expect(kanji!.kanji, '亜'); expect(kanji.spacedRepetitionData, null); }); @@ -55,7 +70,7 @@ void main() { await database.spacedRepetitionDatasDao.set( SpacedRepetitionData.initial( dictionaryItem: - await database.kanjisDao.get('亜'.kanjiCodePoint()), + (await database.kanjisDao.get('亜'.kanjiCodePoint()))!, frontType: FrontType.japanese, ), ); @@ -64,7 +79,7 @@ void main() { '亜'.kanjiCodePoint(), frontType: FrontType.japanese, ); - expect(kanji.kanji, '亜'); + expect(kanji!.kanji, '亜'); expect(kanji.spacedRepetitionData!.frontType, FrontType.japanese); }); @@ -72,14 +87,14 @@ void main() { await database.spacedRepetitionDatasDao.set( SpacedRepetitionData.initial( dictionaryItem: - await database.kanjisDao.get('亜'.kanjiCodePoint()), + (await database.kanjisDao.get('亜'.kanjiCodePoint()))!, frontType: FrontType.japanese, ), ); await database.spacedRepetitionDatasDao.set( SpacedRepetitionData.initial( dictionaryItem: - await database.kanjisDao.get('亜'.kanjiCodePoint()), + (await database.kanjisDao.get('亜'.kanjiCodePoint()))!, frontType: FrontType.english, ), ); @@ -88,18 +103,33 @@ void main() { '亜'.kanjiCodePoint(), frontType: FrontType.english, ); - expect(kanji.kanji, '亜'); + expect(kanji!.kanji, '亜'); expect(kanji.spacedRepetitionData!.frontType, FrontType.english); }); }); }); - test('getKanji', () async { - final kanji = await database.kanjisDao.getKanji('悪'); - expect(kanji.kanji, '悪'); + group('getKanji', () { + test('Kanji does not exist', () async { + final kanji = await database.kanjisDao.getKanji('s'); + expect(kanji, null); + }); + + test('Kanji exists', () async { + final kanji = await database.kanjisDao.getKanji('悪'); + expect(kanji!.kanji, '悪'); + }); }); group('getAll', () { + test('One kanji does not exist', () async { + final kanjiList = await database.kanjisDao.getAll( + ['亜'.kanjiCodePoint(), 's'.kanjiCodePoint()], + ); + expect(kanjiList.length, 1); + expect(kanjiList[0].kanji, '亜'); + }); + test('No front type', () async { final kanjiList = await database.kanjisDao.getAll( ['亜'.kanjiCodePoint(), '悪'.kanjiCodePoint()], @@ -136,7 +166,7 @@ void main() { await database.spacedRepetitionDatasDao.set( SpacedRepetitionData.initial( dictionaryItem: - await database.kanjisDao.get('亜'.kanjiCodePoint()), + (await database.kanjisDao.get('亜'.kanjiCodePoint()))!, frontType: FrontType.japanese, ), ); @@ -162,14 +192,14 @@ void main() { await database.spacedRepetitionDatasDao.set( SpacedRepetitionData.initial( dictionaryItem: - await database.kanjisDao.get('亜'.kanjiCodePoint()), + (await database.kanjisDao.get('亜'.kanjiCodePoint()))!, frontType: FrontType.japanese, ), ); await database.spacedRepetitionDatasDao.set( SpacedRepetitionData.initial( dictionaryItem: - await database.kanjisDao.get('悪'.kanjiCodePoint()), + (await database.kanjisDao.get('悪'.kanjiCodePoint()))!, frontType: FrontType.japanese, ), ); @@ -202,28 +232,28 @@ void main() { await database.spacedRepetitionDatasDao.set( SpacedRepetitionData.initial( dictionaryItem: - await database.kanjisDao.get('亜'.kanjiCodePoint()), + (await database.kanjisDao.get('亜'.kanjiCodePoint()))!, frontType: FrontType.japanese, ), ); await database.spacedRepetitionDatasDao.set( SpacedRepetitionData.initial( dictionaryItem: - await database.kanjisDao.get('亜'.kanjiCodePoint()), + (await database.kanjisDao.get('亜'.kanjiCodePoint()))!, frontType: FrontType.english, ), ); await database.spacedRepetitionDatasDao.set( SpacedRepetitionData.initial( dictionaryItem: - await database.kanjisDao.get('悪'.kanjiCodePoint()), + (await database.kanjisDao.get('悪'.kanjiCodePoint()))!, frontType: FrontType.japanese, ), ); await database.spacedRepetitionDatasDao.set( SpacedRepetitionData.initial( dictionaryItem: - await database.kanjisDao.get('悪'.kanjiCodePoint()), + (await database.kanjisDao.get('悪'.kanjiCodePoint()))!, frontType: FrontType.english, ), ); diff --git a/test/dao/my_dictionary_lists_dao_test.dart b/test/dao/my_dictionary_lists_dao_test.dart index de063cd..2075841 100644 --- a/test/dao/my_dictionary_lists_dao_test.dart +++ b/test/dao/my_dictionary_lists_dao_test.dart @@ -192,7 +192,7 @@ void main() { ); await database.myDictionaryListsDao.addDictionaryItem( dictionaryList1, - await database.kanjisDao.get('亞'.kanjiCodePoint()), + (await database.kanjisDao.get('亞'.kanjiCodePoint()))!, ); // Add one of the same items to dictionary list 2 @@ -421,5 +421,33 @@ void main() { expect(result.kanjiIds.length, 1); expect(result.kanjiIds[0], '亞'.kanjiCodePoint()); }); + + test('deleteAll', () async { + final dictionaryList1 = + await database.myDictionaryListsDao.create('list1'); + + await database.myDictionaryListsDao.addDictionaryItem( + dictionaryList1, + await database.vocabsDao.get(1000220), + ); + await database.myDictionaryListsDao.addDictionaryItem( + dictionaryList1, + (await database.kanjisDao.get('亞'.kanjiCodePoint()))!, + ); + + var myDictionaryLists = await database.myDictionaryListsDao.getAll(); + expect(myDictionaryLists.length, 1); + var myDictionaryListItems = + await database.select(database.myDictionaryListItems).get(); + expect(myDictionaryListItems.length, 2); + + await database.myDictionaryListsDao.deleteAll(); + + myDictionaryLists = await database.myDictionaryListsDao.getAll(); + expect(myDictionaryLists.length, 0); + myDictionaryListItems = + await database.select(database.myDictionaryListItems).get(); + expect(myDictionaryListItems.length, 0); + }); }); } diff --git a/test/dao/search_history_items_dao_test.dart b/test/dao/search_history_items_dao_test.dart index 98de8df..716a2a5 100644 --- a/test/dao/search_history_items_dao_test.dart +++ b/test/dao/search_history_items_dao_test.dart @@ -14,27 +14,15 @@ void main() { }); test('set', () async { - final item = SearchHistoryItem( - id: 0, - searchText: 'text', - timestamp: DateTime.now(), - ); + final item = SearchHistoryItem(id: 0, searchText: 'text'); await database.searchHistoryItemsDao.set(item); }); test('getAll', () async { // Create search history items - final item1 = SearchHistoryItem( - id: 0, - searchText: 'text', - timestamp: DateTime.now(), - ); - final item2 = SearchHistoryItem( - id: 1, - searchText: 'other', - timestamp: DateTime.now(), - ); + final item1 = SearchHistoryItem(id: 0, searchText: 'text'); + final item2 = SearchHistoryItem(id: 1, searchText: 'other'); await database.searchHistoryItemsDao.set(item1); await database.searchHistoryItemsDao.set(item2); @@ -60,16 +48,8 @@ void main() { test('deleteItem', () async { // Create search history items - final item1 = SearchHistoryItem( - id: 0, - searchText: 'text', - timestamp: DateTime.now(), - ); - final item2 = SearchHistoryItem( - id: 1, - searchText: 'other', - timestamp: DateTime.now(), - ); + final item1 = SearchHistoryItem(id: 0, searchText: 'text'); + final item2 = SearchHistoryItem(id: 1, searchText: 'other'); await database.searchHistoryItemsDao.set(item1); await database.searchHistoryItemsDao.set(item2); @@ -93,16 +73,8 @@ void main() { test('deleteAll', () async { // Create search history items - final item1 = SearchHistoryItem( - id: 0, - searchText: 'text', - timestamp: DateTime.now(), - ); - final item2 = SearchHistoryItem( - id: 1, - searchText: 'other', - timestamp: DateTime.now(), - ); + final item1 = SearchHistoryItem(id: 0, searchText: 'text'); + final item2 = SearchHistoryItem(id: 1, searchText: 'other'); await database.searchHistoryItemsDao.set(item1); await database.searchHistoryItemsDao.set(item2); diff --git a/test/dao/spaced_repetition_datas_dao_test.dart b/test/dao/spaced_repetition_datas_dao_test.dart index 5532984..0375ccb 100644 --- a/test/dao/spaced_repetition_datas_dao_test.dart +++ b/test/dao/spaced_repetition_datas_dao_test.dart @@ -138,5 +138,28 @@ void main() { final results = await database.spacedRepetitionDatasDao.getAll(); expect(results.length, 2); }); + + test('deleteAll', () async { + final vocab = await database.vocabsDao.get(1000160); + + await database.spacedRepetitionDatasDao.set( + SpacedRepetitionData.initial( + dictionaryItem: vocab, + frontType: FrontType.japanese, + ), + ); + + expect( + (await database.spacedRepetitionDatasDao.getAll()).length, + 1, + ); + + await database.spacedRepetitionDatasDao.deleteAll(); + + expect( + (await database.spacedRepetitionDatasDao.getAll()).length, + 0, + ); + }); }); } diff --git a/test/dao/text_analysis_history_items_dao_test.dart b/test/dao/text_analysis_history_items_dao_test.dart new file mode 100644 index 0000000..09458b4 --- /dev/null +++ b/test/dao/text_analysis_history_items_dao_test.dart @@ -0,0 +1,105 @@ +import 'package:sagase_dictionary/src/database.dart'; +import 'package:test/test.dart'; + +void main() { + group('textAnalysisHistoryItemsDaoTest', () { + late AppDatabase database; + + setUp(() { + database = AppDatabase(); + }); + + tearDown(() async { + await database.close(); + }); + + test('create', () async { + final item = await database.textAnalysisHistoryItemsDao.create( + 'Original text', + ); + expect(item.analysisText, 'Original text'); + }); + + test('set', () async { + final item = TextAnalysisHistoryItem(id: 0, analysisText: 'text'); + + await database.textAnalysisHistoryItemsDao.set(item); + }); + + test('getAll', () async { + // Create history items + final item1 = TextAnalysisHistoryItem(id: 0, analysisText: 'text'); + final item2 = TextAnalysisHistoryItem(id: 1, analysisText: 'other'); + + await database.textAnalysisHistoryItemsDao.set(item1); + await database.textAnalysisHistoryItemsDao.set(item2); + + // Get all history items + final items = await database.textAnalysisHistoryItemsDao.getAll(); + + expect(items.length, 2); + expect(items[0].analysisText, 'other'); + expect(items[1].analysisText, 'text'); + + // Update the recent history item + await database.textAnalysisHistoryItemsDao + .set(item2.copyWith(analysisText: 'other text')); + + // Get updated history items + final newItems = await database.textAnalysisHistoryItemsDao.getAll(); + + expect(newItems.length, 2); + expect(newItems[0].analysisText, 'other text'); + expect(newItems[1].analysisText, 'text'); + }); + + test('deleteItem', () async { + // Create history items + final item1 = TextAnalysisHistoryItem(id: 0, analysisText: 'text'); + final item2 = TextAnalysisHistoryItem(id: 1, analysisText: 'other'); + + await database.textAnalysisHistoryItemsDao.set(item1); + await database.textAnalysisHistoryItemsDao.set(item2); + + // Get all history items + final items = await database.textAnalysisHistoryItemsDao.getAll(); + + expect(items.length, 2); + expect(items[0].analysisText, 'other'); + expect(items[1].analysisText, 'text'); + + // Delete the recent history item + await database.textAnalysisHistoryItemsDao.deleteItem(item2); + + // Get updated history items + final newItems = await database.textAnalysisHistoryItemsDao.getAll(); + + expect(newItems.length, 1); + expect(newItems[0].analysisText, 'text'); + }); + + test('deleteAll', () async { + // Create history items + final item1 = TextAnalysisHistoryItem(id: 0, analysisText: 'text'); + final item2 = TextAnalysisHistoryItem(id: 1, analysisText: 'other'); + + await database.textAnalysisHistoryItemsDao.set(item1); + await database.textAnalysisHistoryItemsDao.set(item2); + + // Get all history items + final items = await database.textAnalysisHistoryItemsDao.getAll(); + + expect(items.length, 2); + expect(items[0].analysisText, 'other'); + expect(items[1].analysisText, 'text'); + + // Delete all history item + await database.textAnalysisHistoryItemsDao.deleteAll(); + + // Get updated history items + final newItems = await database.textAnalysisHistoryItemsDao.getAll(); + + expect(newItems.length, 0); + }); + }); +} diff --git a/test/dictionary_builder_test.dart b/test/dictionary_builder_test.dart index c774682..d39286d 100644 --- a/test/dictionary_builder_test.dart +++ b/test/dictionary_builder_test.dart @@ -48,7 +48,7 @@ void main() { // Vocab final vocab0 = await database.vocabsDao.get(1000220); - expect(vocab0.pos, null); + expect(vocab0.pos, [PartOfSpeech.adjectiveNa]); expect(vocab0.common, true); expect(vocab0.frequencyScore, 15145); // Writings @@ -70,7 +70,7 @@ void main() { expect(vocab0.definitions[0].definition, 'obvious; clear; plain; evident; apparent; explicit; overt'); expect(vocab0.definitions[0].additionalInfo, null); - expect(vocab0.definitions[0].pos, [PartOfSpeech.adjectiveNa]); + expect(vocab0.definitions[0].pos, null); expect(vocab0.definitions[0].appliesTo, null); expect(vocab0.definitions[0].miscInfo, null); expect(vocab0.definitions[0].dialects, null); @@ -82,7 +82,7 @@ void main() { expect(vocab0.definitions[0].antonyms, null); final vocab1 = await database.vocabsDao.get(1000390); - expect(vocab1.pos, null); + expect(vocab1.pos, [PartOfSpeech.expressions, PartOfSpeech.adverb]); expect(vocab1.common, true); expect(vocab1.frequencyScore, 0); // Writings @@ -118,8 +118,7 @@ void main() { expect(vocab1.definitions.length, 1); expect(vocab1.definitions[0].definition, 'in an instant; in a flash; in the blink of an eye; in no time at all; just like that'); - expect(vocab1.definitions[0].pos, - [PartOfSpeech.expressions, PartOfSpeech.adverb]); + expect(vocab1.definitions[0].pos, null); expect(vocab1.definitions[0].examples!.length, 1); expect(vocab1.definitions[0].examples![0].japanese, '休暇はあっという間に終わった。'); expect(vocab1.definitions[0].examples![0].english, @@ -362,7 +361,7 @@ void main() { expect(vocab4.definitions[2].antonyms, null); final vocab5 = await database.vocabsDao.get(1002360); - expect(vocab5.pos, null); + expect(vocab5.pos, [PartOfSpeech.expressions]); expect(vocab5.common, false); expect(vocab5.frequencyScore, 0); // Writings @@ -418,10 +417,10 @@ void main() { expect(vocab5.definitions.length, 1); expect(vocab5.definitions[0].definition, 'I\'m sorry to have kept you waiting'); - expect(vocab5.definitions[0].pos, [PartOfSpeech.expressions]); + expect(vocab5.definitions[0].pos, null); final vocab6 = await database.vocabsDao.get(1001390); - expect(vocab6.pos, null); + expect(vocab6.pos, [PartOfSpeech.noun]); expect(vocab6.common, true); expect(vocab6.frequencyScore, 0); // Writings @@ -445,14 +444,14 @@ void main() { expect(vocab6.definitions.length, 1); expect(vocab6.definitions[0].definition, 'oden; dish of various ingredients, e.g. egg, daikon, potato, chikuwa, konnyaku stewed in soy-flavored dashi'); - expect(vocab6.definitions[0].pos, [PartOfSpeech.noun]); + expect(vocab6.definitions[0].pos, null); expect(vocab6.definitions[0].fields!.length, 1); expect(vocab6.definitions[0].fields![0], Field.foodCooking); expect( vocab6.definitions[0].miscInfo, [MiscellaneousInfo.usuallyKanaAlone]); final vocab7 = await database.vocabsDao.get(2067590); - expect(vocab7.pos, null); + expect(vocab7.pos![0], PartOfSpeech.adjectiveI); expect(vocab7.common, false); expect(vocab7.frequencyScore, 0); // Writings @@ -484,14 +483,13 @@ void main() { expect(vocab7.definitions.length, 1); expect(vocab7.definitions[0].definition, 'dear; darling; adorable; precious; cute; lovely; sweet; beloved; charming'); - expect(vocab7.definitions[0].pos!.length, 1); - expect(vocab7.definitions[0].pos![0], PartOfSpeech.adjectiveI); + expect(vocab7.definitions[0].pos, null); expect(vocab7.definitions[0].dialects!.length, 2); expect(vocab7.definitions[0].dialects![0], Dialect.touhokuBen); expect(vocab7.definitions[0].dialects![1], Dialect.hokkaidoBen); final vocab8 = await database.vocabsDao.get(1000160); - expect(vocab8.pos, null); + expect(vocab8.pos, [PartOfSpeech.noun]); expect(vocab8.common, true); expect(vocab8.frequencyScore, 0); // Writings @@ -511,8 +509,7 @@ void main() { // Definition expect(vocab8.definitions.length, 1); expect(vocab8.definitions[0].definition, 'T-shirt; tee shirt'); - expect(vocab8.definitions[0].pos!.length, 1); - expect(vocab8.definitions[0].pos![0], PartOfSpeech.noun); + expect(vocab8.definitions[0].pos, null); final vocab9 = await database.vocabsDao.get(1310840); expect(vocab9.definitions[0].crossReferences, null); @@ -561,7 +558,7 @@ void main() { test('Kanji', () async { // Kanji final kanji1 = await database.kanjisDao.getKanji('亜'); - expect(kanji1.kanji, '亜'); + expect(kanji1!.kanji, '亜'); expect(kanji1.meaning, 'Asia; rank next; come after; -ous'); expect(kanji1.radical, '二'); expect(kanji1.components!.length, 2); @@ -598,7 +595,7 @@ void main() { expect(kanji1.nanori![2].readingRomajiSimplified, null); final kanji2 = await database.kanjisDao.getKanji('悪'); - expect(kanji2.kanji, '悪'); + expect(kanji2!.kanji, '悪'); expect(kanji2.meaning, 'bad; vice; rascal; false; evil; wrong'); expect(kanji2.radical, '心'); expect(kanji2.components!.length, 2); @@ -659,7 +656,7 @@ void main() { expect(kanji2.nanori, null); final kanji3 = await database.kanjisDao.getKanji('亞'); - expect(kanji3.kanji, '亞'); + expect(kanji3!.kanji, '亞'); expect(kanji3.meaning, 'rank; follow'); expect(kanji3.radical, '二'); expect(kanji3.components!.length, 1); @@ -683,7 +680,7 @@ void main() { expect(kanji3.nanori, null); final kanji4 = await database.kanjisDao.getKanji('行'); - expect(kanji4.kanji, '行'); + expect(kanji4!.kanji, '行'); expect( kanji4.meaning, 'going; journey; carry out; conduct; act; line; row; bank', @@ -693,7 +690,7 @@ void main() { expect(kanji4.grade, KanjiGrade.second); expect(kanji4.strokeCount, 6); expect(kanji4.frequency, 20); - expect(kanji4.jlpt, JlptLevel.n4); + expect(kanji4.jlpt, JlptLevel.n5); expect(kanji4.strokes, null); expect(kanji4.compounds!.length, 2); expect(kanji4.compounds![0], 1310500);