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

Terminate the Flutter app immediately.

Panic

Panic screenshots

Supported platforms

Current Build Status. Panic is released under the MIT license. Effective Dart PRs welcome!

Content #

Features #

Panics a Flutter app.

This allows a flutter app to terminate immediately and provide feedback to the caller of the app. Panic should be used when an app reaches an unrecoverable state.

Requirements #

  • Dart: 2.14.0+
  • Flutter : 2.5.0+

Install #

dependencies:
  panic: ^0.0.1

Example #

  1. Add GlobalKey<NavigatorState>() to MaterialApp widget.
// `appKey` should be globally accessible in an app.
final appKey = GlobalKey<NavigatorState>();

class App extends StatelessWidget {
  const App({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      navigatorKey: appKey,
      home: Home(),
    );
  }
}

  1. Initialized Panic.
import 'package:panic/panic.dart';
// `panic` should be globally accessible in an app
final panic = Panic(appKey);
  1. Panic a flutter app when you really need it.
  static Future<Result<DiscoverResponse?, NetworkError>> fetchDiscover() async {
    final response = await _client.get(
      Uri.parse('$baseUrl/discover/movie?api_key=$themoviedbApiKey&page=1'),
    );

    if (response.statusCode == 200) {
      // Panic app if some important parameters are missed e.g.,
      // some field in a Header or in a Body.
      if (!response.headers.containsKey('MY MISSING KEY')) {
        panic.app();
      }
      return Success(DiscoverResponse.fromJson(response.body));
    } else {
      throw NetworkError(response.statusCode);
    }
  }

To see examples of the following package on a device or simulator:

cd example && flutter run

Support #

Post issues and feature requests on the GitHub issue tracker.

License #

The source code of Panic project is available under the MIT license. See the LICENSE file for more info.

4
likes
150
points
18
downloads

Publisher

verified publisherminikin.me

Weekly Downloads

Terminate the Flutter app immediately.

Repository (GitHub)
Contributing

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on panic