Check isRequired at compile time, save verification code

This commit is contained in:
Simon Binder 2019-12-25 22:26:32 +01:00
parent 5314520746
commit 72934d1b87
No known key found for this signature in database
GPG Key ID: 7891917E4147B8C0
4 changed files with 29 additions and 72 deletions

View File

@ -137,14 +137,10 @@ class $CategoriesTable extends Categories
final context = VerificationContext();
if (d.id.present) {
context.handle(_idMeta, id.isAcceptableValue(d.id.value, _idMeta));
} else if (id.isRequired && isInserting) {
context.missing(_idMeta);
}
if (d.description.present) {
context.handle(_descriptionMeta,
description.isAcceptableValue(d.description.value, _descriptionMeta));
} else if (description.isRequired && isInserting) {
context.missing(_descriptionMeta);
}
return context;
}
@ -363,13 +359,11 @@ class $RecipesTable extends Recipes with TableInfo<$RecipesTable, Recipe> {
final context = VerificationContext();
if (d.id.present) {
context.handle(_idMeta, id.isAcceptableValue(d.id.value, _idMeta));
} else if (id.isRequired && isInserting) {
context.missing(_idMeta);
}
if (d.title.present) {
context.handle(
_titleMeta, title.isAcceptableValue(d.title.value, _titleMeta));
} else if (title.isRequired && isInserting) {
} else if (isInserting) {
context.missing(_titleMeta);
}
if (d.instructions.present) {
@ -377,14 +371,12 @@ class $RecipesTable extends Recipes with TableInfo<$RecipesTable, Recipe> {
_instructionsMeta,
instructions.isAcceptableValue(
d.instructions.value, _instructionsMeta));
} else if (instructions.isRequired && isInserting) {
} else if (isInserting) {
context.missing(_instructionsMeta);
}
if (d.category.present) {
context.handle(_categoryMeta,
category.isAcceptableValue(d.category.value, _categoryMeta));
} else if (category.isRequired && isInserting) {
context.missing(_categoryMeta);
}
return context;
}
@ -579,13 +571,11 @@ class $IngredientsTable extends Ingredients
final context = VerificationContext();
if (d.id.present) {
context.handle(_idMeta, id.isAcceptableValue(d.id.value, _idMeta));
} else if (id.isRequired && isInserting) {
context.missing(_idMeta);
}
if (d.name.present) {
context.handle(
_nameMeta, name.isAcceptableValue(d.name.value, _nameMeta));
} else if (name.isRequired && isInserting) {
} else if (isInserting) {
context.missing(_nameMeta);
}
if (d.caloriesPer100g.present) {
@ -593,7 +583,7 @@ class $IngredientsTable extends Ingredients
_caloriesPer100gMeta,
caloriesPer100g.isAcceptableValue(
d.caloriesPer100g.value, _caloriesPer100gMeta));
} else if (caloriesPer100g.isRequired && isInserting) {
} else if (isInserting) {
context.missing(_caloriesPer100gMeta);
}
return context;
@ -800,13 +790,13 @@ class $IngredientInRecipesTable extends IngredientInRecipes
if (d.recipe.present) {
context.handle(
_recipeMeta, recipe.isAcceptableValue(d.recipe.value, _recipeMeta));
} else if (recipe.isRequired && isInserting) {
} else if (isInserting) {
context.missing(_recipeMeta);
}
if (d.ingredient.present) {
context.handle(_ingredientMeta,
ingredient.isAcceptableValue(d.ingredient.value, _ingredientMeta));
} else if (ingredient.isRequired && isInserting) {
} else if (isInserting) {
context.missing(_ingredientMeta);
}
if (d.amountInGrams.present) {
@ -814,7 +804,7 @@ class $IngredientInRecipesTable extends IngredientInRecipes
_amountInGramsMeta,
amountInGrams.isAcceptableValue(
d.amountInGrams.value, _amountInGramsMeta));
} else if (amountInGrams.isRequired && isInserting) {
} else if (isInserting) {
context.missing(_amountInGramsMeta);
}
return context;

View File

@ -105,7 +105,7 @@ class NoIds extends Table with TableInfo<NoIds, NoId> {
if (d.payload.present) {
context.handle(_payloadMeta,
payload.isAcceptableValue(d.payload.value, _payloadMeta));
} else if (payload.isRequired && isInserting) {
} else if (isInserting) {
context.missing(_payloadMeta);
}
return context;
@ -258,13 +258,9 @@ class WithDefaults extends Table with TableInfo<WithDefaults, WithDefault> {
final context = VerificationContext();
if (d.a.present) {
context.handle(_aMeta, a.isAcceptableValue(d.a.value, _aMeta));
} else if (a.isRequired && isInserting) {
context.missing(_aMeta);
}
if (d.b.present) {
context.handle(_bMeta, b.isAcceptableValue(d.b.value, _bMeta));
} else if (b.isRequired && isInserting) {
context.missing(_bMeta);
}
return context;
}
@ -439,18 +435,14 @@ class WithConstraints extends Table
final context = VerificationContext();
if (d.a.present) {
context.handle(_aMeta, a.isAcceptableValue(d.a.value, _aMeta));
} else if (a.isRequired && isInserting) {
context.missing(_aMeta);
}
if (d.b.present) {
context.handle(_bMeta, b.isAcceptableValue(d.b.value, _bMeta));
} else if (b.isRequired && isInserting) {
} else if (isInserting) {
context.missing(_bMeta);
}
if (d.c.present) {
context.handle(_cMeta, c.isAcceptableValue(d.c.value, _cMeta));
} else if (c.isRequired && isInserting) {
context.missing(_cMeta);
}
return context;
}
@ -617,14 +609,12 @@ class ConfigTable extends Table with TableInfo<ConfigTable, Config> {
if (d.configKey.present) {
context.handle(_configKeyMeta,
configKey.isAcceptableValue(d.configKey.value, _configKeyMeta));
} else if (configKey.isRequired && isInserting) {
} else if (isInserting) {
context.missing(_configKeyMeta);
}
if (d.configValue.present) {
context.handle(_configValueMeta,
configValue.isAcceptableValue(d.configValue.value, _configValueMeta));
} else if (configValue.isRequired && isInserting) {
context.missing(_configValueMeta);
}
return context;
}
@ -838,26 +828,18 @@ class Mytable extends Table with TableInfo<Mytable, MytableData> {
if (d.someid.present) {
context.handle(
_someidMeta, someid.isAcceptableValue(d.someid.value, _someidMeta));
} else if (someid.isRequired && isInserting) {
context.missing(_someidMeta);
}
if (d.sometext.present) {
context.handle(_sometextMeta,
sometext.isAcceptableValue(d.sometext.value, _sometextMeta));
} else if (sometext.isRequired && isInserting) {
context.missing(_sometextMeta);
}
if (d.somebool.present) {
context.handle(_someboolMeta,
somebool.isAcceptableValue(d.somebool.value, _someboolMeta));
} else if (somebool.isRequired && isInserting) {
context.missing(_someboolMeta);
}
if (d.somedate.present) {
context.handle(_somedateMeta,
somedate.isAcceptableValue(d.somedate.value, _somedateMeta));
} else if (somedate.isRequired && isInserting) {
context.missing(_somedateMeta);
}
return context;
}
@ -1044,19 +1026,19 @@ class Email extends Table
if (d.sender.present) {
context.handle(
_senderMeta, sender.isAcceptableValue(d.sender.value, _senderMeta));
} else if (sender.isRequired && isInserting) {
} else if (isInserting) {
context.missing(_senderMeta);
}
if (d.title.present) {
context.handle(
_titleMeta, title.isAcceptableValue(d.title.value, _titleMeta));
} else if (title.isRequired && isInserting) {
} else if (isInserting) {
context.missing(_titleMeta);
}
if (d.body.present) {
context.handle(
_bodyMeta, body.isAcceptableValue(d.body.value, _bodyMeta));
} else if (body.isRequired && isInserting) {
} else if (isInserting) {
context.missing(_bodyMeta);
}
return context;

View File

@ -236,32 +236,24 @@ class $TodosTableTable extends TodosTable
final context = VerificationContext();
if (d.id.present) {
context.handle(_idMeta, id.isAcceptableValue(d.id.value, _idMeta));
} else if (id.isRequired && isInserting) {
context.missing(_idMeta);
}
if (d.title.present) {
context.handle(
_titleMeta, title.isAcceptableValue(d.title.value, _titleMeta));
} else if (title.isRequired && isInserting) {
context.missing(_titleMeta);
}
if (d.content.present) {
context.handle(_contentMeta,
content.isAcceptableValue(d.content.value, _contentMeta));
} else if (content.isRequired && isInserting) {
} else if (isInserting) {
context.missing(_contentMeta);
}
if (d.targetDate.present) {
context.handle(_targetDateMeta,
targetDate.isAcceptableValue(d.targetDate.value, _targetDateMeta));
} else if (targetDate.isRequired && isInserting) {
context.missing(_targetDateMeta);
}
if (d.category.present) {
context.handle(_categoryMeta,
category.isAcceptableValue(d.category.value, _categoryMeta));
} else if (category.isRequired && isInserting) {
context.missing(_categoryMeta);
}
return context;
}
@ -428,13 +420,11 @@ class $CategoriesTable extends Categories
final context = VerificationContext();
if (d.id.present) {
context.handle(_idMeta, id.isAcceptableValue(d.id.value, _idMeta));
} else if (id.isRequired && isInserting) {
context.missing(_idMeta);
}
if (d.description.present) {
context.handle(_descriptionMeta,
description.isAcceptableValue(d.description.value, _descriptionMeta));
} else if (description.isRequired && isInserting) {
} else if (isInserting) {
context.missing(_descriptionMeta);
}
return context;
@ -691,27 +681,23 @@ class $UsersTable extends Users with TableInfo<$UsersTable, User> {
final context = VerificationContext();
if (d.id.present) {
context.handle(_idMeta, id.isAcceptableValue(d.id.value, _idMeta));
} else if (id.isRequired && isInserting) {
context.missing(_idMeta);
}
if (d.name.present) {
context.handle(
_nameMeta, name.isAcceptableValue(d.name.value, _nameMeta));
} else if (name.isRequired && isInserting) {
} else if (isInserting) {
context.missing(_nameMeta);
}
if (d.isAwesome.present) {
context.handle(_isAwesomeMeta,
isAwesome.isAcceptableValue(d.isAwesome.value, _isAwesomeMeta));
} else if (isAwesome.isRequired && isInserting) {
context.missing(_isAwesomeMeta);
}
if (d.profilePicture.present) {
context.handle(
_profilePictureMeta,
profilePicture.isAcceptableValue(
d.profilePicture.value, _profilePictureMeta));
} else if (profilePicture.isRequired && isInserting) {
} else if (isInserting) {
context.missing(_profilePictureMeta);
}
if (d.creationTime.present) {
@ -719,8 +705,6 @@ class $UsersTable extends Users with TableInfo<$UsersTable, User> {
_creationTimeMeta,
creationTime.isAcceptableValue(
d.creationTime.value, _creationTimeMeta));
} else if (creationTime.isRequired && isInserting) {
context.missing(_creationTimeMeta);
}
return context;
}
@ -891,13 +875,13 @@ class $SharedTodosTable extends SharedTodos
if (d.todo.present) {
context.handle(
_todoMeta, todo.isAcceptableValue(d.todo.value, _todoMeta));
} else if (todo.isRequired && isInserting) {
} else if (isInserting) {
context.missing(_todoMeta);
}
if (d.user.present) {
context.handle(
_userMeta, user.isAcceptableValue(d.user.value, _userMeta));
} else if (user.isRequired && isInserting) {
} else if (isInserting) {
context.missing(_userMeta);
}
return context;
@ -1107,13 +1091,13 @@ class $TableWithoutPKTable extends TableWithoutPK
_notReallyAnIdMeta,
notReallyAnId.isAcceptableValue(
d.notReallyAnId.value, _notReallyAnIdMeta));
} else if (notReallyAnId.isRequired && isInserting) {
} else if (isInserting) {
context.missing(_notReallyAnIdMeta);
}
if (d.someFloat.present) {
context.handle(_someFloatMeta,
someFloat.isAcceptableValue(d.someFloat.value, _someFloatMeta));
} else if (someFloat.isRequired && isInserting) {
} else if (isInserting) {
context.missing(_someFloatMeta);
}
context.handle(_customMeta, const VerificationResult.success());
@ -1276,13 +1260,9 @@ class $PureDefaultsTable extends PureDefaults
final context = VerificationContext();
if (d.id.present) {
context.handle(_idMeta, id.isAcceptableValue(d.id.value, _idMeta));
} else if (id.isRequired && isInserting) {
context.missing(_idMeta);
}
if (d.txt.present) {
context.handle(_txtMeta, txt.isAcceptableValue(d.txt.value, _txtMeta));
} else if (txt.isRequired && isInserting) {
context.missing(_txtMeta);
}
return context;
}

View File

@ -232,9 +232,14 @@ class TableWriter {
..write('context.handle('
'$metaName, '
'$getterName.isAcceptableValue(d.$getterName.value, $metaName));')
..write('} else if ($getterName.isRequired && isInserting) {\n')
..write('context.missing($metaName);\n')
..write('}\n');
..write('}');
if (column.requiredDuringInsert) {
_buffer
..write(' else if (isInserting) {\n')
..write('context.missing($metaName);\n')
..write('}\n');
}
}
_buffer.write('return context;\n}\n');
}