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.

example/main.dart

import 'package:submission_state/submission_state.dart';

/// Example BLoC extending BaseBloc
class MyBloc extends BaseBloc {
  MyBloc() {
    print('Bloc initialized');
  }

  void fetchData() {
    emit(DataLoading());
    try {
      // Simulate data fetching
      final data = ['Item1', 'Item2', 'Item3'];
      print('Data fetched: $data');
      emit(DataLoaded());
    } catch (e) {
      emit(LoadingFailed(e.toString()));
    }
  }

  @override
  void dispose() {
    print('Bloc disposed');
  }

  void emit(BaseState state) {
    print('State emitted: ${state.runtimeType}');
  }
}

/// Example Form BLoC
class MyFormBloc extends BaseBloc {
  void submitForm(String name) {
    emit(FormSubmitting());
    try {
      if (name.isEmpty) throw Exception('Name cannot be empty');
      // Simulate submission
      print('Form submitted with name: $name');
      emit(SubmissionSuccess());
    } catch (e) {
      emit(SubmissionFailed(e.toString()));
    }
  }

  @override
  void dispose() {
    print('FormBloc disposed');
  }

  void emit(FormSubmissionState state) {
    print('Form state emitted: ${state.runtimeType}');
  }
}

void main() {
  final myBloc = MyBloc();
  myBloc.fetchData();
  myBloc.dispose();

  final myFormBloc = MyFormBloc();
  myFormBloc.submitForm('Shohidul');
  myFormBloc.submitForm('');
  myFormBloc.dispose();
}
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