api_state 1.0.0 copy "api_state: ^1.0.0" to clipboard
api_state: ^1.0.0 copied to clipboard

A lightweight API state wrapper for Dart/Flutter state management.

example/api_state_example.dart

import 'package:api_state/api_state.dart';

void main() {
  ApiStatus<String> status = const ApiInitial();
  print(status); // ApiInitial()

  status = const ApiLoading();

  status = const ApiSuccess('Hello World');

  // Using the when() helper:
  final message = status.when(
    initialOrLoading: () => 'Loading...',
    success: (data) => 'Got: $data',
    failure: (error) => 'Error: ${error.message}',
  );
  print(message); // Got: Hello World

  // Using Dart 3 exhaustive switch:
  final label = switch (status) {
    ApiInitial() => 'idle',
    ApiLoading() => 'loading...',
    ApiSuccess(:final data) => 'data: $data',
    ApiFailure(:final error) => 'error: ${error.message}',
    ApiRefresh(:final data) => 'refreshing: $data',
  };
  print(label); // data: Hello World
}
1
likes
160
points
98
downloads

Documentation

API reference

Publisher

verified publisherramandeep.dev

Weekly Downloads

A lightweight API state wrapper for Dart/Flutter state management.

Repository (GitHub)
View/report issues

License

MIT (license)

More

Packages that depend on api_state