test coverage test results

Nexus 🚀

Nexus is a state management library that makes it easy to create and consume your application's reactive data to the user interface. With nexus_codegen, wiring becoming fully automatic and feels very natural. As an application developer, you focus solely on what reactive data should be consumed in the UI (and elsewhere) without worrying about keeping it in sync.

Roadmap table

GoalCompleted
Reactive variables✅
Reactions✅
Synchronous actions✅
Asynchronous actions✅
Lifecycle hooks✅
Reactive collections (list, set, map)✅
Custom reactive objects✅
Access to context from state✅
Processable controller and widget (contains reactive content state)✅
Global state's stream (tracks all lifecycle of states)✅
Mutators✅
Guards✅
Unit-tests✅
Documentation✅
Final refactoringWIP

Quickstart

States in Nexus can be really simple and elegant Tiny state

But it is not fully reactive state, we call update() manually when updating counter, but what if we add some annotations? Annotations

Global event bus

Nexus are tracking all controllers and can notify you, when something happens via global event bus

It supports next events:

  • EventType.stateInitialized
  • EventType.stateUpdated
  • EventType.stateDisposed
  • EventType.reactionRegistered
  • EventType.reactionInitiated
  • EventType.reactionRemoved
  • EventType.performedAction
  • EventType.performedAsyncAction

All events' payloads contain stateId - unique identifier of NexusController (you can pass it manually by invoking super constructor of controller)

Libraries

nexus