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
110
pub points
0%
popularity

Publisher

unverified uploader

Interface to create repositories

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

flutter, provider

More

Packages that depend on repo_scaffold