skiff 0.1.1 copy "skiff: ^0.1.1" to clipboard
skiff: ^0.1.1 copied to clipboard

outdated

A lightweight, Future-based library for expressing CQRS principles in Dart projects.

example/lib/main.dart

import 'dart:async';

import 'package:skiff/skiff.dart';

class FetchCharacters extends Query {}

class FetchCharactersResult {
  final List<String> characters;

  FetchCharactersResult(this.characters);
}

class Authenticate extends Command {
  final String username;
  final String password;

  Authenticate(this.username, this.password);
}

void main() async {
  var query = FetchCharacters();

  var charactersHandler =
      SimpleQueryHandler<FetchCharacters, FetchCharactersResult>((command) {
    return Future.value(FetchCharactersResult([
      'Eleven',
      'Mike Wheeler',
      'Dustin Henderson',
      'Jim Hopper',
      'Jonathan Byers',
      'Murray Bauman'
    ]));
  });

  var characters = await charactersHandler.get(query);

  characters.characters.forEach((element) {
    print(element);
  });

  var command = Authenticate('[email protected]', 'pa55w0rd');

  var authenticationHandler = SimpleCommandHandler<Authenticate>((command) {
    return Future.value(CommandResult.succeeded());
  });

  var result = await authenticationHandler.execute(command);
  print('Login ${result.isSuccessful ? 'successful' : 'failed'}');
}
4
likes
0
points
9
downloads

Publisher

verified publisherhalesworth.org

Weekly Downloads

A lightweight, Future-based library for expressing CQRS principles in Dart projects.

Repository (GitHub)
View/report issues

License

unknown (license)

More

Packages that depend on skiff