fluent_dart

Fluent Dart is based on Andre Baltieri Flunt for use Notifications Pattern with your entities.

Instalação

Abra o pubspec.yaml do seu projeto e digite:

dependencies:
    fluent_dart:

ou a partir do repositório:

dependencies:
    fluent_dart:
        git:
            url: https://github.com/Quiese/fluent_dart.git

Exemplos

  • Create file user-model.dart
import 'package:fluent_dart/notifications/flunt-notifiable.dart';
import 'package:fluent_dart/validations/contract.dart';

class User extends FluntNotifiable {
  String name;
  String email;

  User({name, email}) {
    if (!name.contains('Usuário'))
      addNotifications(FluntNotification('Name', 'Nome deve ser Usuário!'));

    if (!name.contains('Usuário'))
      addNotifications(['Name', 'Nome deve ser Usuário!']);

    addNotifications(
      Contract()
          .hasMinLen(name, 10, 'name', 'Nome deve ter no mínimo 10 caracteres!')
          .isNotNullOrEmpty(email, 'email', 'Email deve ser preenchido!'),
    );
  }
}
  • Create file main.dart
import 'user-model.dart';

void main() {
  var user = User(name: 'Nome');

  //show notifications errors
  user.notifications.forEach((f) => print(f.message));

  print('\n${user.notifications.length} Erros de validação');

  user = User(
    name: 'Nome do Usuário',
    email: 'user@user.com.br',
  );

  user.notifications.forEach((f) => print(f.message));
  
  print('${user.notifications.length} Erros de validação');
}
  • Run dart main.dart;

Libraries

contract
contract-validations
fluent_dart
flunt-notifiable