repo_scaffold 1.0.1 copy "repo_scaffold: ^1.0.1" to clipboard
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,
  ),
);
0
likes
130
points
33
downloads

Publisher

unverified uploader

Weekly Downloads

Interface to create repositories

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

flutter, provider

More

Packages that depend on repo_scaffold