repo_scaffold 1.0.1 repo_scaffold: ^1.0.1 copied to clipboard
Interface to create repositories
Repo Scaffold #
This project aims to give a simple interface to create repositories that can be used with n number of queries and mutations
How to use #
Create your first first repo
class ExampleRepo extends Repo {
final List<int> numbers;
}
Query #
Create a query
class ListAllNumbersQuery implements RepoQuery<Future<List<int>>> {
@override
Future<List<int>> query(ExampleRepo repo) async {
return repo.numbers;
}
}
Use query
final numbers = await ExampleRepo.query(
ListAllNumbersQuery(),
);
Mutation #
Create mutation
class AddItemMutation implements RepoMutation<Future<void>> {
final int item;
AddItemMutation({
required this.item,
});
@override
Future<void> mutate(ExampleRepo repo) async {
repo.numbers.add(item);
}
}
Use mutation
await ExampleRepo.mutate(
AddItemMutation(
item: 5,
),
);