supabase_result_handler 0.0.2 copy "supabase_result_handler: ^0.0.2" to clipboard
supabase_result_handler: ^0.0.2 copied to clipboard

A robust Result pattern wrapper for Supabase in Flutter. It handles Auth, Postgrest, and Functions exceptions with built-in English and Arabic localization support.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:supabase_flutter/supabase_flutter.dart';
import 'package:supabase_result_handler/supabase_result_handler.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  await Supabase.initialize(
    url: 'https://your-project.supabase.co',
    anonKey: 'your-anon-key',
  );

  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: const ExampleScreen(),
    );
  }
}

class ExampleScreen extends StatelessWidget {
  const ExampleScreen({super.key});

  Future<SupaResult<User>> mockLogin() async {
    return SupaResult.catchError(() async {
      final response = await Supabase.instance.client.auth.signInWithPassword(
        email: 'test@example.com',
        password: 'password123',
      );
      return response.user!;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('SupaResult Handler Example')),
      body: Center(
        child: ElevatedButton(
          onPressed: () async {
            final result = await mockLogin();

            result.when(
              success: (user) {
                ScaffoldMessenger.of(context).showSnackBar(
                  SnackBar(content: Text('Success: ${user.email}')),
                );
              },
              failure: (exception) {
                final errorMsg = exception.toErrorMessage(lang:AppLanguage.ar);
                ScaffoldMessenger.of(context).showSnackBar(
                  SnackBar(content: Text('Error: $errorMsg')),
                );
              },
            );
          },
          child: const Text('Try Login'),
        ),
      ),
    );
  }
}
1
likes
145
points
32
downloads

Publisher

unverified uploader

Weekly Downloads

A robust Result pattern wrapper for Supabase in Flutter. It handles Auth, Postgrest, and Functions exceptions with built-in English and Arabic localization support.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

build_runner, flutter, freezed, freezed_annotation, supabase_flutter

More

Packages that depend on supabase_result_handler