i_tdd 0.0.3 copy "i_tdd: ^0.0.3" to clipboard
i_tdd: ^0.0.3 copied to clipboard

A utility-first Dart package for Clean Architecture and TDD in Flutter. Provides abstract use cases, parameter classes, error-handling extensions, and bloc-ready states.

example/main.dart

import 'package:exception_type/i_errors/i_failure.dart';
import 'package:i_tdd/i_tdd.dart';
import 'package:dartz/dartz.dart';

// A sample use case implementation
class GetSampleDataUseCase extends IEitherUseCase<String, NoParams> {
  @override
  Future<Either<IFailure, String>> call(NoParams params) async {
    try {
      // Simulate a successful API call or DB query
      return right("Hello from i_tdd use case!");
    } catch (e) {
      return left(SampleFailure("Something went wrong"));
    }
  }
}

// A sample failure implementation
class SampleFailure implements IFailure {
  final String message;
  SampleFailure(this.message);

  @override
  // TODO: implement props
  List<Object?> get props => throw UnimplementedError();

  @override
  // TODO: implement stringify
  bool? get stringify => throw UnimplementedError();
}

void main() async {
  final useCase = GetSampleDataUseCase();

  final result = await useCase(NoParams());

  result.handleReport(
    onSuccess: (data) => print("Success: $data"),
    onFailed: (msg) => print("Error: $msg"),
  );
}
0
likes
140
points
217
downloads

Publisher

unverified uploader

Weekly Downloads

A utility-first Dart package for Clean Architecture and TDD in Flutter. Provides abstract use cases, parameter classes, error-handling extensions, and bloc-ready states.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

app_toast, bloc, dartz, equatable, exception_type, flutter

More

Packages that depend on i_tdd