submission_state 0.0.1 copy "submission_state: ^0.0.1" to clipboard
submission_state: ^0.0.1 copied to clipboard

A Dart/Flutter package providing base BLoC and form submission states with Equatable support, following SOLID principles.

submission_state #

A Dart/Flutter package that provides abstract base classes and commonly used states for BLoC (Business Logic Component) and form submissions, following SOLID principles and leveraging Equatable for value equality.


Features #

  • BaseBloc: Abstract base class for all BLoC implementations.
  • BaseState: Common BLoC states like Initial, DataLoading, Success, LoadingFailed.
  • FormSubmissionState: Specialized states for form submissions including FormSubmitting, SubmissionSuccess, and SubmissionFailed.
  • Built-in support for value equality using Equatable.

Installation #

Add this package to your pubspec.yaml:

dependencies:
  submission_state: <latest_version>

Then import it in your Dart files:

import 'package:submission_state/submission_state.dart';

Usage #

Creating a BLoC #

class MyBloc extends BaseBloc {
  @override
  void dispose() {
    // Close streams/controllers here
  }
}

Using BaseState #

class MyState extends BaseState {}

// Emitting a state
emit(DataLoading());
emit(Success());
emit(LoadingFailed('An error occurred'));

Using FormSubmissionState #

class MyFormBloc extends BaseBloc {
  void submitForm() {
    emit(FormSubmitting());
    try {
      // Process submission
      emit(SubmissionSuccess());
    } catch (e) {
      emit(SubmissionFailed(e.toString()));
    }
  }

  @override
  void dispose() {}
}

Benefits #

  • Simplifies BLoC implementation.
  • Reduces boilerplate for state management.
  • Makes form submission handling straightforward.
  • Fully compatible with Equatable for clean state comparisons.

Contributions #

Feel free to open issues or pull requests.

License #

© MIT License. Developed with ❤️ by Shohidul Islam

submission_state #

0
likes
150
points
11
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A Dart/Flutter package providing base BLoC and form submission states with Equatable support, following SOLID principles.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

equatable, flutter

More

Packages that depend on submission_state