From 2493c5b4be953a4a1165b5f16354fe658a618260 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 9 Feb 2026 19:11:00 +0100 Subject: [PATCH] Only one table for formula elements --- TODO.md | 3 +- lib/database/formulas_database.dart | 40 ++-- lib/database/formulas_database.g.dart | 258 +++++++++++++--------- lib/database/formulas_database_web.dart | 41 ++-- lib/database/formulas_database_web.g.dart | 258 +++++++++++++--------- 5 files changed, 340 insertions(+), 260 deletions(-) diff --git a/TODO.md b/TODO.md index 91d3ce3..2bba3ad 100644 --- a/TODO.md +++ b/TODO.md @@ -9,7 +9,8 @@ - [X] Create function `List parseCorpusElements(String arrayStringLiteral)`. It uses parseD4rtLiteral and determines if each element of the array is a formula or a unit. Then converts the objects with Formula.fromSet or UnitSpec.fromSet. - [X] Create method loadFormulaElements( List elements). Tipically receives the list from parseCorpusElements(). It loads the units first, then the formulas, to avoid missing dependencies. - [X] Change createDefaultCorpus to use loadFormulaElements instead of loadUnits and loadFormula. Make loadUnits and loadFormula private. -- [ ] Use a single table in database `FORMULAELEMENT` to store formulas and units. The table contains only two columns: autonumeric id and text. +- [X] Use a single table in database `FORMULAELEMENT` to store formulas and units. The table contains only two columns: autonumeric id and text. +- Drift files have a lot of duplicate code. "web" version is the same as native version, only _openConnection is diferrent. Refactor to not duplicate code. - [ ] Create Formula.toStringLiteral. It is the reverse of Formula.fromSet( Formula.fromArrayStringLiteral(string)[0] ) - [ ] Create UnitSpec.toStringLiteral, like Formula.toStringLiteral - Database file location: diff --git a/lib/database/formulas_database.dart b/lib/database/formulas_database.dart index 69d1000..4254503 100644 --- a/lib/database/formulas_database.dart +++ b/lib/database/formulas_database.dart @@ -6,43 +6,43 @@ import 'dart:io'; part 'formulas_database.g.dart'; -// Define the formulas table with a single text column for formula descriptions -class Formulas extends Table { +// Define the FORMULAELEMENT table to store both formulas and units as text +class FormulaElements extends Table { IntColumn get id => integer().autoIncrement()(); - TextColumn get formula => text()(); + TextColumn get elementText => text()(); } -@DriftDatabase(tables: [Formulas]) +@DriftDatabase(tables: [FormulaElements]) class FormulasDatabase extends _$FormulasDatabase { FormulasDatabase() : super(_openConnection()); @override int get schemaVersion => 1; - // Method to insert a new formula - Future insertFormula(String formulaText) { - return into(formulas).insert(FormulasCompanion.insert(formula: formulaText)); + // Method to insert a new formula element (either formula or unit) + Future insertFormulaElement(String elementText) { + return into(formulaElements).insert(FormulaElementsCompanion.insert(elementText: elementText)); } - // Method to get all formulas - Future> getAllFormulas() { - return select(formulas).get(); + // Method to get all formula elements + Future> getAllFormulaElements() { + return select(formulaElements).get(); } - // Method to get a formula by ID - Future getFormulaById(int id) { - return (select(formulas)..where((tbl) => tbl.id.equals(id))).getSingleOrNull(); + // Method to get a formula element by ID + Future getFormulaElementById(int id) { + return (select(formulaElements)..where((tbl) => tbl.id.equals(id))).getSingleOrNull(); } - // Method to update a formula - Future updateFormula(int id, String newFormula) { - return (update(formulas)..where((tbl) => tbl.id.equals(id))) - .write(FormulasCompanion.insert(formula: newFormula)); + // Method to update a formula element + Future updateFormulaElement(int id, String newElementText) { + return (update(formulaElements)..where((tbl) => tbl.id.equals(id))) + .write(FormulaElementsCompanion.insert(elementText: newElementText)); } - // Method to delete a formula - Future deleteFormula(int id) { - return (delete(formulas)..where((tbl) => tbl.id.equals(id))).go(); + // Method to delete a formula element + Future deleteFormulaElement(int id) { + return (delete(formulaElements)..where((tbl) => tbl.id.equals(id))).go(); } } diff --git a/lib/database/formulas_database.g.dart b/lib/database/formulas_database.g.dart index 785a205..1153d1c 100644 --- a/lib/database/formulas_database.g.dart +++ b/lib/database/formulas_database.g.dart @@ -3,11 +3,12 @@ part of 'formulas_database.dart'; // ignore_for_file: type=lint -class $FormulasTable extends Formulas with TableInfo<$FormulasTable, Formula> { +class $FormulaElementsTable extends FormulaElements + with TableInfo<$FormulaElementsTable, FormulaElement> { @override final GeneratedDatabase attachedDatabase; final String? _alias; - $FormulasTable(this.attachedDatabase, [this._alias]); + $FormulaElementsTable(this.attachedDatabase, [this._alias]); static const VerificationMeta _idMeta = const VerificationMeta('id'); @override late final GeneratedColumn id = GeneratedColumn( @@ -21,27 +22,27 @@ class $FormulasTable extends Formulas with TableInfo<$FormulasTable, Formula> { 'PRIMARY KEY AUTOINCREMENT', ), ); - static const VerificationMeta _formulaMeta = const VerificationMeta( - 'formula', + static const VerificationMeta _elementTextMeta = const VerificationMeta( + 'elementText', ); @override - late final GeneratedColumn formula = GeneratedColumn( - 'formula', + late final GeneratedColumn elementText = GeneratedColumn( + 'element_text', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, ); @override - List get $columns => [id, formula]; + List get $columns => [id, elementText]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; - static const String $name = 'formulas'; + static const String $name = 'formula_elements'; @override VerificationContext validateIntegrity( - Insertable instance, { + Insertable instance, { bool isInserting = false, }) { final context = VerificationContext(); @@ -49,13 +50,16 @@ class $FormulasTable extends Formulas with TableInfo<$FormulasTable, Formula> { if (data.containsKey('id')) { context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); } - if (data.containsKey('formula')) { + if (data.containsKey('element_text')) { context.handle( - _formulaMeta, - formula.isAcceptableOrUnknown(data['formula']!, _formulaMeta), + _elementTextMeta, + elementText.isAcceptableOrUnknown( + data['element_text']!, + _elementTextMeta, + ), ); } else if (isInserting) { - context.missing(_formulaMeta); + context.missing(_elementTextMeta); } return context; } @@ -63,50 +67,53 @@ class $FormulasTable extends Formulas with TableInfo<$FormulasTable, Formula> { @override Set get $primaryKey => {id}; @override - Formula map(Map data, {String? tablePrefix}) { + FormulaElement map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; - return Formula( + return FormulaElement( id: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}id'], )!, - formula: attachedDatabase.typeMapping.read( + elementText: attachedDatabase.typeMapping.read( DriftSqlType.string, - data['${effectivePrefix}formula'], + data['${effectivePrefix}element_text'], )!, ); } @override - $FormulasTable createAlias(String alias) { - return $FormulasTable(attachedDatabase, alias); + $FormulaElementsTable createAlias(String alias) { + return $FormulaElementsTable(attachedDatabase, alias); } } -class Formula extends DataClass implements Insertable { +class FormulaElement extends DataClass implements Insertable { final int id; - final String formula; - const Formula({required this.id, required this.formula}); + final String elementText; + const FormulaElement({required this.id, required this.elementText}); @override Map toColumns(bool nullToAbsent) { final map = {}; map['id'] = Variable(id); - map['formula'] = Variable(formula); + map['element_text'] = Variable(elementText); return map; } - FormulasCompanion toCompanion(bool nullToAbsent) { - return FormulasCompanion(id: Value(id), formula: Value(formula)); + FormulaElementsCompanion toCompanion(bool nullToAbsent) { + return FormulaElementsCompanion( + id: Value(id), + elementText: Value(elementText), + ); } - factory Formula.fromJson( + factory FormulaElement.fromJson( Map json, { ValueSerializer? serializer, }) { serializer ??= driftRuntimeOptions.defaultSerializer; - return Formula( + return FormulaElement( id: serializer.fromJson(json['id']), - formula: serializer.fromJson(json['formula']), + elementText: serializer.fromJson(json['elementText']), ); } @override @@ -114,63 +121,70 @@ class Formula extends DataClass implements Insertable { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'id': serializer.toJson(id), - 'formula': serializer.toJson(formula), + 'elementText': serializer.toJson(elementText), }; } - Formula copyWith({int? id, String? formula}) => - Formula(id: id ?? this.id, formula: formula ?? this.formula); - Formula copyWithCompanion(FormulasCompanion data) { - return Formula( + FormulaElement copyWith({int? id, String? elementText}) => FormulaElement( + id: id ?? this.id, + elementText: elementText ?? this.elementText, + ); + FormulaElement copyWithCompanion(FormulaElementsCompanion data) { + return FormulaElement( id: data.id.present ? data.id.value : this.id, - formula: data.formula.present ? data.formula.value : this.formula, + elementText: data.elementText.present + ? data.elementText.value + : this.elementText, ); } @override String toString() { - return (StringBuffer('Formula(') + return (StringBuffer('FormulaElement(') ..write('id: $id, ') - ..write('formula: $formula') + ..write('elementText: $elementText') ..write(')')) .toString(); } @override - int get hashCode => Object.hash(id, formula); + int get hashCode => Object.hash(id, elementText); @override bool operator ==(Object other) => identical(this, other) || - (other is Formula && + (other is FormulaElement && other.id == this.id && - other.formula == this.formula); + other.elementText == this.elementText); } -class FormulasCompanion extends UpdateCompanion { +class FormulaElementsCompanion extends UpdateCompanion { final Value id; - final Value formula; - const FormulasCompanion({ + final Value elementText; + const FormulaElementsCompanion({ this.id = const Value.absent(), - this.formula = const Value.absent(), + this.elementText = const Value.absent(), }); - FormulasCompanion.insert({ + FormulaElementsCompanion.insert({ this.id = const Value.absent(), - required String formula, - }) : formula = Value(formula); - static Insertable custom({ + required String elementText, + }) : elementText = Value(elementText); + static Insertable custom({ Expression? id, - Expression? formula, + Expression? elementText, }) { return RawValuesInsertable({ if (id != null) 'id': id, - if (formula != null) 'formula': formula, + if (elementText != null) 'element_text': elementText, }); } - FormulasCompanion copyWith({Value? id, Value? formula}) { - return FormulasCompanion( + FormulaElementsCompanion copyWith({ + Value? id, + Value? elementText, + }) { + return FormulaElementsCompanion( id: id ?? this.id, - formula: formula ?? this.formula, + elementText: elementText ?? this.elementText, ); } @@ -180,17 +194,17 @@ class FormulasCompanion extends UpdateCompanion { if (id.present) { map['id'] = Variable(id.value); } - if (formula.present) { - map['formula'] = Variable(formula.value); + if (elementText.present) { + map['element_text'] = Variable(elementText.value); } return map; } @override String toString() { - return (StringBuffer('FormulasCompanion(') + return (StringBuffer('FormulaElementsCompanion(') ..write('id: $id, ') - ..write('formula: $formula') + ..write('elementText: $elementText') ..write(')')) .toString(); } @@ -199,22 +213,30 @@ class FormulasCompanion extends UpdateCompanion { abstract class _$FormulasDatabase extends GeneratedDatabase { _$FormulasDatabase(QueryExecutor e) : super(e); $FormulasDatabaseManager get managers => $FormulasDatabaseManager(this); - late final $FormulasTable formulas = $FormulasTable(this); + late final $FormulaElementsTable formulaElements = $FormulaElementsTable( + this, + ); @override Iterable> get allTables => allSchemaEntities.whereType>(); @override - List get allSchemaEntities => [formulas]; + List get allSchemaEntities => [formulaElements]; } -typedef $$FormulasTableCreateCompanionBuilder = - FormulasCompanion Function({Value id, required String formula}); -typedef $$FormulasTableUpdateCompanionBuilder = - FormulasCompanion Function({Value id, Value formula}); +typedef $$FormulaElementsTableCreateCompanionBuilder = + FormulaElementsCompanion Function({ + Value id, + required String elementText, + }); +typedef $$FormulaElementsTableUpdateCompanionBuilder = + FormulaElementsCompanion Function({ + Value id, + Value elementText, + }); -class $$FormulasTableFilterComposer - extends Composer<_$FormulasDatabase, $FormulasTable> { - $$FormulasTableFilterComposer({ +class $$FormulaElementsTableFilterComposer + extends Composer<_$FormulasDatabase, $FormulaElementsTable> { + $$FormulaElementsTableFilterComposer({ required super.$db, required super.$table, super.joinBuilder, @@ -226,15 +248,15 @@ class $$FormulasTableFilterComposer builder: (column) => ColumnFilters(column), ); - ColumnFilters get formula => $composableBuilder( - column: $table.formula, + ColumnFilters get elementText => $composableBuilder( + column: $table.elementText, builder: (column) => ColumnFilters(column), ); } -class $$FormulasTableOrderingComposer - extends Composer<_$FormulasDatabase, $FormulasTable> { - $$FormulasTableOrderingComposer({ +class $$FormulaElementsTableOrderingComposer + extends Composer<_$FormulasDatabase, $FormulaElementsTable> { + $$FormulaElementsTableOrderingComposer({ required super.$db, required super.$table, super.joinBuilder, @@ -246,15 +268,15 @@ class $$FormulasTableOrderingComposer builder: (column) => ColumnOrderings(column), ); - ColumnOrderings get formula => $composableBuilder( - column: $table.formula, + ColumnOrderings get elementText => $composableBuilder( + column: $table.elementText, builder: (column) => ColumnOrderings(column), ); } -class $$FormulasTableAnnotationComposer - extends Composer<_$FormulasDatabase, $FormulasTable> { - $$FormulasTableAnnotationComposer({ +class $$FormulaElementsTableAnnotationComposer + extends Composer<_$FormulasDatabase, $FormulaElementsTable> { + $$FormulaElementsTableAnnotationComposer({ required super.$db, required super.$table, super.joinBuilder, @@ -264,49 +286,60 @@ class $$FormulasTableAnnotationComposer GeneratedColumn get id => $composableBuilder(column: $table.id, builder: (column) => column); - GeneratedColumn get formula => - $composableBuilder(column: $table.formula, builder: (column) => column); + GeneratedColumn get elementText => $composableBuilder( + column: $table.elementText, + builder: (column) => column, + ); } -class $$FormulasTableTableManager +class $$FormulaElementsTableTableManager extends RootTableManager< _$FormulasDatabase, - $FormulasTable, - Formula, - $$FormulasTableFilterComposer, - $$FormulasTableOrderingComposer, - $$FormulasTableAnnotationComposer, - $$FormulasTableCreateCompanionBuilder, - $$FormulasTableUpdateCompanionBuilder, + $FormulaElementsTable, + FormulaElement, + $$FormulaElementsTableFilterComposer, + $$FormulaElementsTableOrderingComposer, + $$FormulaElementsTableAnnotationComposer, + $$FormulaElementsTableCreateCompanionBuilder, + $$FormulaElementsTableUpdateCompanionBuilder, ( - Formula, - BaseReferences<_$FormulasDatabase, $FormulasTable, Formula>, + FormulaElement, + BaseReferences< + _$FormulasDatabase, + $FormulaElementsTable, + FormulaElement + >, ), - Formula, + FormulaElement, PrefetchHooks Function() > { - $$FormulasTableTableManager(_$FormulasDatabase db, $FormulasTable table) - : super( + $$FormulaElementsTableTableManager( + _$FormulasDatabase db, + $FormulaElementsTable table, + ) : super( TableManagerState( db: db, table: table, createFilteringComposer: () => - $$FormulasTableFilterComposer($db: db, $table: table), + $$FormulaElementsTableFilterComposer($db: db, $table: table), createOrderingComposer: () => - $$FormulasTableOrderingComposer($db: db, $table: table), + $$FormulaElementsTableOrderingComposer($db: db, $table: table), createComputedFieldComposer: () => - $$FormulasTableAnnotationComposer($db: db, $table: table), + $$FormulaElementsTableAnnotationComposer($db: db, $table: table), updateCompanionCallback: ({ Value id = const Value.absent(), - Value formula = const Value.absent(), - }) => FormulasCompanion(id: id, formula: formula), + Value elementText = const Value.absent(), + }) => FormulaElementsCompanion(id: id, elementText: elementText), createCompanionCallback: ({ Value id = const Value.absent(), - required String formula, - }) => FormulasCompanion.insert(id: id, formula: formula), + required String elementText, + }) => FormulaElementsCompanion.insert( + id: id, + elementText: elementText, + ), withReferenceMapper: (p0) => p0 .map((e) => (e.readTable(table), BaseReferences(db, table, e))) .toList(), @@ -315,24 +348,31 @@ class $$FormulasTableTableManager ); } -typedef $$FormulasTableProcessedTableManager = +typedef $$FormulaElementsTableProcessedTableManager = ProcessedTableManager< _$FormulasDatabase, - $FormulasTable, - Formula, - $$FormulasTableFilterComposer, - $$FormulasTableOrderingComposer, - $$FormulasTableAnnotationComposer, - $$FormulasTableCreateCompanionBuilder, - $$FormulasTableUpdateCompanionBuilder, - (Formula, BaseReferences<_$FormulasDatabase, $FormulasTable, Formula>), - Formula, + $FormulaElementsTable, + FormulaElement, + $$FormulaElementsTableFilterComposer, + $$FormulaElementsTableOrderingComposer, + $$FormulaElementsTableAnnotationComposer, + $$FormulaElementsTableCreateCompanionBuilder, + $$FormulaElementsTableUpdateCompanionBuilder, + ( + FormulaElement, + BaseReferences< + _$FormulasDatabase, + $FormulaElementsTable, + FormulaElement + >, + ), + FormulaElement, PrefetchHooks Function() >; class $FormulasDatabaseManager { final _$FormulasDatabase _db; $FormulasDatabaseManager(this._db); - $$FormulasTableTableManager get formulas => - $$FormulasTableTableManager(_db, _db.formulas); + $$FormulaElementsTableTableManager get formulaElements => + $$FormulaElementsTableTableManager(_db, _db.formulaElements); } diff --git a/lib/database/formulas_database_web.dart b/lib/database/formulas_database_web.dart index 1129aad..4c17004 100644 --- a/lib/database/formulas_database_web.dart +++ b/lib/database/formulas_database_web.dart @@ -1,46 +1,45 @@ import 'package:drift/drift.dart'; import 'package:drift/web.dart'; -import 'package:path_provider/path_provider.dart'; part 'formulas_database_web.g.dart'; -// Define the formulas table with a single text column for formula descriptions -class Formulas extends Table { +// Define the FORMULAELEMENT table to store both formulas and units as text +class FormulaElements extends Table { IntColumn get id => integer().autoIncrement()(); - TextColumn get formula => text()(); + TextColumn get elementText => text()(); } -@DriftDatabase(tables: [Formulas]) +@DriftDatabase(tables: [FormulaElements]) class FormulasDatabase extends _$FormulasDatabase { FormulasDatabase() : super(_openConnection()); @override int get schemaVersion => 1; - // Method to insert a new formula - Future insertFormula(String formulaText) { - return into(formulas).insert(FormulasCompanion.insert(formula: formulaText)); + // Method to insert a new formula element (either formula or unit) + Future insertFormulaElement(String elementText) { + return into(formulaElements).insert(FormulaElementsCompanion.insert(elementText: elementText)); } - // Method to get all formulas - Future> getAllFormulas() { - return select(formulas).get(); + // Method to get all formula elements + Future> getAllFormulaElements() { + return select(formulaElements).get(); } - // Method to get a formula by ID - Future getFormulaById(int id) { - return (select(formulas)..where((tbl) => tbl.id.equals(id))).getSingleOrNull(); + // Method to get a formula element by ID + Future getFormulaElementById(int id) { + return (select(formulaElements)..where((tbl) => tbl.id.equals(id))).getSingleOrNull(); } - // Method to update a formula - Future updateFormula(int id, String newFormula) { - return (update(formulas)..where((tbl) => tbl.id.equals(id))) - .write(FormulasCompanion.insert(formula: newFormula)); + // Method to update a formula element + Future updateFormulaElement(int id, String newElementText) { + return (update(formulaElements)..where((tbl) => tbl.id.equals(id))) + .write(FormulaElementsCompanion.insert(elementText: newElementText)); } - // Method to delete a formula - Future deleteFormula(int id) { - return (delete(formulas)..where((tbl) => tbl.id.equals(id))).go(); + // Method to delete a formula element + Future deleteFormulaElement(int id) { + return (delete(formulaElements)..where((tbl) => tbl.id.equals(id))).go(); } } diff --git a/lib/database/formulas_database_web.g.dart b/lib/database/formulas_database_web.g.dart index 91e0205..dc1b06c 100644 --- a/lib/database/formulas_database_web.g.dart +++ b/lib/database/formulas_database_web.g.dart @@ -3,11 +3,12 @@ part of 'formulas_database_web.dart'; // ignore_for_file: type=lint -class $FormulasTable extends Formulas with TableInfo<$FormulasTable, Formula> { +class $FormulaElementsTable extends FormulaElements + with TableInfo<$FormulaElementsTable, FormulaElement> { @override final GeneratedDatabase attachedDatabase; final String? _alias; - $FormulasTable(this.attachedDatabase, [this._alias]); + $FormulaElementsTable(this.attachedDatabase, [this._alias]); static const VerificationMeta _idMeta = const VerificationMeta('id'); @override late final GeneratedColumn id = GeneratedColumn( @@ -21,27 +22,27 @@ class $FormulasTable extends Formulas with TableInfo<$FormulasTable, Formula> { 'PRIMARY KEY AUTOINCREMENT', ), ); - static const VerificationMeta _formulaMeta = const VerificationMeta( - 'formula', + static const VerificationMeta _elementTextMeta = const VerificationMeta( + 'elementText', ); @override - late final GeneratedColumn formula = GeneratedColumn( - 'formula', + late final GeneratedColumn elementText = GeneratedColumn( + 'element_text', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, ); @override - List get $columns => [id, formula]; + List get $columns => [id, elementText]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; - static const String $name = 'formulas'; + static const String $name = 'formula_elements'; @override VerificationContext validateIntegrity( - Insertable instance, { + Insertable instance, { bool isInserting = false, }) { final context = VerificationContext(); @@ -49,13 +50,16 @@ class $FormulasTable extends Formulas with TableInfo<$FormulasTable, Formula> { if (data.containsKey('id')) { context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); } - if (data.containsKey('formula')) { + if (data.containsKey('element_text')) { context.handle( - _formulaMeta, - formula.isAcceptableOrUnknown(data['formula']!, _formulaMeta), + _elementTextMeta, + elementText.isAcceptableOrUnknown( + data['element_text']!, + _elementTextMeta, + ), ); } else if (isInserting) { - context.missing(_formulaMeta); + context.missing(_elementTextMeta); } return context; } @@ -63,50 +67,53 @@ class $FormulasTable extends Formulas with TableInfo<$FormulasTable, Formula> { @override Set get $primaryKey => {id}; @override - Formula map(Map data, {String? tablePrefix}) { + FormulaElement map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; - return Formula( + return FormulaElement( id: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}id'], )!, - formula: attachedDatabase.typeMapping.read( + elementText: attachedDatabase.typeMapping.read( DriftSqlType.string, - data['${effectivePrefix}formula'], + data['${effectivePrefix}element_text'], )!, ); } @override - $FormulasTable createAlias(String alias) { - return $FormulasTable(attachedDatabase, alias); + $FormulaElementsTable createAlias(String alias) { + return $FormulaElementsTable(attachedDatabase, alias); } } -class Formula extends DataClass implements Insertable { +class FormulaElement extends DataClass implements Insertable { final int id; - final String formula; - const Formula({required this.id, required this.formula}); + final String elementText; + const FormulaElement({required this.id, required this.elementText}); @override Map toColumns(bool nullToAbsent) { final map = {}; map['id'] = Variable(id); - map['formula'] = Variable(formula); + map['element_text'] = Variable(elementText); return map; } - FormulasCompanion toCompanion(bool nullToAbsent) { - return FormulasCompanion(id: Value(id), formula: Value(formula)); + FormulaElementsCompanion toCompanion(bool nullToAbsent) { + return FormulaElementsCompanion( + id: Value(id), + elementText: Value(elementText), + ); } - factory Formula.fromJson( + factory FormulaElement.fromJson( Map json, { ValueSerializer? serializer, }) { serializer ??= driftRuntimeOptions.defaultSerializer; - return Formula( + return FormulaElement( id: serializer.fromJson(json['id']), - formula: serializer.fromJson(json['formula']), + elementText: serializer.fromJson(json['elementText']), ); } @override @@ -114,63 +121,70 @@ class Formula extends DataClass implements Insertable { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'id': serializer.toJson(id), - 'formula': serializer.toJson(formula), + 'elementText': serializer.toJson(elementText), }; } - Formula copyWith({int? id, String? formula}) => - Formula(id: id ?? this.id, formula: formula ?? this.formula); - Formula copyWithCompanion(FormulasCompanion data) { - return Formula( + FormulaElement copyWith({int? id, String? elementText}) => FormulaElement( + id: id ?? this.id, + elementText: elementText ?? this.elementText, + ); + FormulaElement copyWithCompanion(FormulaElementsCompanion data) { + return FormulaElement( id: data.id.present ? data.id.value : this.id, - formula: data.formula.present ? data.formula.value : this.formula, + elementText: data.elementText.present + ? data.elementText.value + : this.elementText, ); } @override String toString() { - return (StringBuffer('Formula(') + return (StringBuffer('FormulaElement(') ..write('id: $id, ') - ..write('formula: $formula') + ..write('elementText: $elementText') ..write(')')) .toString(); } @override - int get hashCode => Object.hash(id, formula); + int get hashCode => Object.hash(id, elementText); @override bool operator ==(Object other) => identical(this, other) || - (other is Formula && + (other is FormulaElement && other.id == this.id && - other.formula == this.formula); + other.elementText == this.elementText); } -class FormulasCompanion extends UpdateCompanion { +class FormulaElementsCompanion extends UpdateCompanion { final Value id; - final Value formula; - const FormulasCompanion({ + final Value elementText; + const FormulaElementsCompanion({ this.id = const Value.absent(), - this.formula = const Value.absent(), + this.elementText = const Value.absent(), }); - FormulasCompanion.insert({ + FormulaElementsCompanion.insert({ this.id = const Value.absent(), - required String formula, - }) : formula = Value(formula); - static Insertable custom({ + required String elementText, + }) : elementText = Value(elementText); + static Insertable custom({ Expression? id, - Expression? formula, + Expression? elementText, }) { return RawValuesInsertable({ if (id != null) 'id': id, - if (formula != null) 'formula': formula, + if (elementText != null) 'element_text': elementText, }); } - FormulasCompanion copyWith({Value? id, Value? formula}) { - return FormulasCompanion( + FormulaElementsCompanion copyWith({ + Value? id, + Value? elementText, + }) { + return FormulaElementsCompanion( id: id ?? this.id, - formula: formula ?? this.formula, + elementText: elementText ?? this.elementText, ); } @@ -180,17 +194,17 @@ class FormulasCompanion extends UpdateCompanion { if (id.present) { map['id'] = Variable(id.value); } - if (formula.present) { - map['formula'] = Variable(formula.value); + if (elementText.present) { + map['element_text'] = Variable(elementText.value); } return map; } @override String toString() { - return (StringBuffer('FormulasCompanion(') + return (StringBuffer('FormulaElementsCompanion(') ..write('id: $id, ') - ..write('formula: $formula') + ..write('elementText: $elementText') ..write(')')) .toString(); } @@ -199,22 +213,30 @@ class FormulasCompanion extends UpdateCompanion { abstract class _$FormulasDatabase extends GeneratedDatabase { _$FormulasDatabase(QueryExecutor e) : super(e); $FormulasDatabaseManager get managers => $FormulasDatabaseManager(this); - late final $FormulasTable formulas = $FormulasTable(this); + late final $FormulaElementsTable formulaElements = $FormulaElementsTable( + this, + ); @override Iterable> get allTables => allSchemaEntities.whereType>(); @override - List get allSchemaEntities => [formulas]; + List get allSchemaEntities => [formulaElements]; } -typedef $$FormulasTableCreateCompanionBuilder = - FormulasCompanion Function({Value id, required String formula}); -typedef $$FormulasTableUpdateCompanionBuilder = - FormulasCompanion Function({Value id, Value formula}); +typedef $$FormulaElementsTableCreateCompanionBuilder = + FormulaElementsCompanion Function({ + Value id, + required String elementText, + }); +typedef $$FormulaElementsTableUpdateCompanionBuilder = + FormulaElementsCompanion Function({ + Value id, + Value elementText, + }); -class $$FormulasTableFilterComposer - extends Composer<_$FormulasDatabase, $FormulasTable> { - $$FormulasTableFilterComposer({ +class $$FormulaElementsTableFilterComposer + extends Composer<_$FormulasDatabase, $FormulaElementsTable> { + $$FormulaElementsTableFilterComposer({ required super.$db, required super.$table, super.joinBuilder, @@ -226,15 +248,15 @@ class $$FormulasTableFilterComposer builder: (column) => ColumnFilters(column), ); - ColumnFilters get formula => $composableBuilder( - column: $table.formula, + ColumnFilters get elementText => $composableBuilder( + column: $table.elementText, builder: (column) => ColumnFilters(column), ); } -class $$FormulasTableOrderingComposer - extends Composer<_$FormulasDatabase, $FormulasTable> { - $$FormulasTableOrderingComposer({ +class $$FormulaElementsTableOrderingComposer + extends Composer<_$FormulasDatabase, $FormulaElementsTable> { + $$FormulaElementsTableOrderingComposer({ required super.$db, required super.$table, super.joinBuilder, @@ -246,15 +268,15 @@ class $$FormulasTableOrderingComposer builder: (column) => ColumnOrderings(column), ); - ColumnOrderings get formula => $composableBuilder( - column: $table.formula, + ColumnOrderings get elementText => $composableBuilder( + column: $table.elementText, builder: (column) => ColumnOrderings(column), ); } -class $$FormulasTableAnnotationComposer - extends Composer<_$FormulasDatabase, $FormulasTable> { - $$FormulasTableAnnotationComposer({ +class $$FormulaElementsTableAnnotationComposer + extends Composer<_$FormulasDatabase, $FormulaElementsTable> { + $$FormulaElementsTableAnnotationComposer({ required super.$db, required super.$table, super.joinBuilder, @@ -264,49 +286,60 @@ class $$FormulasTableAnnotationComposer GeneratedColumn get id => $composableBuilder(column: $table.id, builder: (column) => column); - GeneratedColumn get formula => - $composableBuilder(column: $table.formula, builder: (column) => column); + GeneratedColumn get elementText => $composableBuilder( + column: $table.elementText, + builder: (column) => column, + ); } -class $$FormulasTableTableManager +class $$FormulaElementsTableTableManager extends RootTableManager< _$FormulasDatabase, - $FormulasTable, - Formula, - $$FormulasTableFilterComposer, - $$FormulasTableOrderingComposer, - $$FormulasTableAnnotationComposer, - $$FormulasTableCreateCompanionBuilder, - $$FormulasTableUpdateCompanionBuilder, + $FormulaElementsTable, + FormulaElement, + $$FormulaElementsTableFilterComposer, + $$FormulaElementsTableOrderingComposer, + $$FormulaElementsTableAnnotationComposer, + $$FormulaElementsTableCreateCompanionBuilder, + $$FormulaElementsTableUpdateCompanionBuilder, ( - Formula, - BaseReferences<_$FormulasDatabase, $FormulasTable, Formula>, + FormulaElement, + BaseReferences< + _$FormulasDatabase, + $FormulaElementsTable, + FormulaElement + >, ), - Formula, + FormulaElement, PrefetchHooks Function() > { - $$FormulasTableTableManager(_$FormulasDatabase db, $FormulasTable table) - : super( + $$FormulaElementsTableTableManager( + _$FormulasDatabase db, + $FormulaElementsTable table, + ) : super( TableManagerState( db: db, table: table, createFilteringComposer: () => - $$FormulasTableFilterComposer($db: db, $table: table), + $$FormulaElementsTableFilterComposer($db: db, $table: table), createOrderingComposer: () => - $$FormulasTableOrderingComposer($db: db, $table: table), + $$FormulaElementsTableOrderingComposer($db: db, $table: table), createComputedFieldComposer: () => - $$FormulasTableAnnotationComposer($db: db, $table: table), + $$FormulaElementsTableAnnotationComposer($db: db, $table: table), updateCompanionCallback: ({ Value id = const Value.absent(), - Value formula = const Value.absent(), - }) => FormulasCompanion(id: id, formula: formula), + Value elementText = const Value.absent(), + }) => FormulaElementsCompanion(id: id, elementText: elementText), createCompanionCallback: ({ Value id = const Value.absent(), - required String formula, - }) => FormulasCompanion.insert(id: id, formula: formula), + required String elementText, + }) => FormulaElementsCompanion.insert( + id: id, + elementText: elementText, + ), withReferenceMapper: (p0) => p0 .map((e) => (e.readTable(table), BaseReferences(db, table, e))) .toList(), @@ -315,24 +348,31 @@ class $$FormulasTableTableManager ); } -typedef $$FormulasTableProcessedTableManager = +typedef $$FormulaElementsTableProcessedTableManager = ProcessedTableManager< _$FormulasDatabase, - $FormulasTable, - Formula, - $$FormulasTableFilterComposer, - $$FormulasTableOrderingComposer, - $$FormulasTableAnnotationComposer, - $$FormulasTableCreateCompanionBuilder, - $$FormulasTableUpdateCompanionBuilder, - (Formula, BaseReferences<_$FormulasDatabase, $FormulasTable, Formula>), - Formula, + $FormulaElementsTable, + FormulaElement, + $$FormulaElementsTableFilterComposer, + $$FormulaElementsTableOrderingComposer, + $$FormulaElementsTableAnnotationComposer, + $$FormulaElementsTableCreateCompanionBuilder, + $$FormulaElementsTableUpdateCompanionBuilder, + ( + FormulaElement, + BaseReferences< + _$FormulasDatabase, + $FormulaElementsTable, + FormulaElement + >, + ), + FormulaElement, PrefetchHooks Function() >; class $FormulasDatabaseManager { final _$FormulasDatabase _db; $FormulasDatabaseManager(this._db); - $$FormulasTableTableManager get formulas => - $$FormulasTableTableManager(_db, _db.formulas); + $$FormulaElementsTableTableManager get formulaElements => + $$FormulaElementsTableTableManager(_db, _db.formulaElements); }