pinger 0.0.5
pinger: ^0.0.5 copied to clipboard
Pinger is a highly optimised and fast flutter notifier. It helps to achieve a easier state management
0.0.5 #
- Bug Fixes - Extension file added for pingora
- Example Updates - Example updated for pingora
- Pingora disposed assertions —
subscribe(),unsubscribe(), andping()now assert!_disposedbefore executing (matchingPinger's behaviour).unsubscribe()also asserts the listener was actually subscribed. - PingoraSelector initState crash — moved
widget.listenable(context)frominitStatetodidChangeDependencies, fixing the "dependOnInheritedWidgetOfExactType called before initState completed" crash whenlistenableusescontext.pingora<T>(). Also addeddidUpdateWidgethandling for Pingora changes and proper dispose guard.
0.0.4 #
✨ New #
- Lifecycle logging — both
PingerandPingoranow log all lifecycle events (initialized,subscribed,pinged,unsubscribed,disposed) viadart:developer'slog(). View output withflutter logsor your IDE's debug console.
🔧 Fixed #
- Duplicate ChannelerExtension — removed the broken duplicate
ChannelerExtensionfromchannel.dartthat conflicted with the real one inchanneler_extension.dart. - Barrel file — created
lib/pingora.dart(was missing) sopackage:pinger/pingora.dartworks as a single import for all Pingora classes.
📚 Docs & Examples #
- Examples consolidated — merged from 5 separate screens into 3 focused flows:
- Flow 1: Pinger + PingBuilder (manual + auto lifecycle side by side)
- Flow 2: PingoraScope + PingoraSelector + context.pingora() (ViewModel pattern end to end)
- Flow 3: Channeler (global event bus)
- Example bug fixes —
PingoraExamplenow wraps the screen withPingoraScopeand uses a separate_CounterBodywidget sodidChangeDependenciesruns after the scope is mounted. - README rewritten — each flow has a single cohesive section with code snippets that match the actual API. Added API reference tables for all classes. Added "Which flow should I use?" decision table.