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

Flutter bindings for Blackbox (Observer + BoxProvider + ObservableBox) with production-grade tracking.

blackbox_flutter #

Flutter bindings for blackbox.

This package adds UI integration primitives:

  • BoxProvider to expose boxes in the widget tree
  • BoxObserver to rebuild widgets when tracked boxes change
  • SharedPrefsStore as a PersistentStore implementation based on shared_preferences

Features #

  • Fine-grained rebuilds through tracked box reads
  • Simple dependency access via context.box<T>()
  • Persistence adapter for generated persistent boxes

Installation #

dependencies:
  blackbox_flutter: ^0.0.2
  blackbox: any

Initialize SharedPrefsStore #

Call preload once before using persistent boxes:

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await SharedPrefsStore.preload();
  runApp(const MyApp());
}

Basic Usage #

BoxProvider.multi(
  boxes: [
    counterBox,
    profileBox,
  ],
  child: const MyPage(),
);
class MyPage extends StatelessWidget {
  const MyPage({super.key});

  @override
  Widget build(BuildContext context) {
    final counter = context.box<AsyncCounterBox>();

    return BoxObserver(
      builder: (_) {
        final out = counter.output;
        return out.when(
          data: (value) => Text('Count: $value'),
          loading: () => const Text('Loading...'),
          error: (error, _) => Text('Error: $error'),
        );
      },
    );
  }
}

Notes #

  • BoxProvider does not manage lifecycle of boxes. Dispose connectors/subscriptions manually where needed.
  • BoxObserver tracks boxes read during builder execution and rebuilds when those outputs change.

License #

MIT

0
likes
0
points
40
downloads

Publisher

unverified uploader

Weekly Downloads

Flutter bindings for Blackbox (Observer + BoxProvider + ObservableBox) with production-grade tracking.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

blackbox, flutter, shared_preferences

More

Packages that depend on blackbox_flutter