Alwatr Flux empowers your applications with elegant and powerful state management and event handling capabilities. Built on the observable design pattern, Flux provides a lightweight yet robust foundation for managing global signals and states.
Key Features:
- Intuitive State Management: Embrace Flux as an advanced alternative to Redux or Recoil, minus the complexities and unnecessary overhead. Each signal maintains its own value, offering seamless state control.
- Finite-State Machines (FSM): Leverage observables to gracefully manage invocations and state transitions within your finite-state machines.
- Server Context Management: Effortlessly handle server-side context with Flux's elegant context manager, ensuring optimal organization and control.
- Remote Context Management: Manage remote context data with offline-first support and automatic revalidation.
- Fetch State Machine: Simplify state management for server requests with built-in support for fetch operations.
- @alwatr/observable: Provides the core observable pattern implementation used throughout the Alwatr Flux ecosystem. See packages/observable for more details.
- @alwatr/context: A simple yet powerful TypeScript library for managing application context and facilitating efficient communication between components. See packages/context for more details.
- @alwatr/signal: A lightweight library for managing global signals and state changes. See packages/signal for more details.
- @alwatr/fsm: Core finite-state machine implementation. See packages/fsm for more details.
- @alwatr/fetch-state-machine: Simplifies state management for server requests with built-in support for fetch operations. See packages/fetch-state-machine for more details.
- @alwatr/remote-context: Manages remote context data with offline-first support and automatic revalidation. See packages/remote-context for more details.
Refer to the individual package READMEs for comprehensive usage instructions and examples.
Contributions are welcome! Please consult the CONTRIBUTING guidelines for detailed information on how to get involved.