Skip to content
/ flux Public

Flux - Elegant State Management and Event System

License

Notifications You must be signed in to change notification settings

Alwatr/flux

Repository files navigation

Alwatr Flux - Elegant State Management and Event System

Introduction

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.

Packages

Core Packages

  • @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.

State Machines

  • @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.

Usage

Refer to the individual package READMEs for comprehensive usage instructions and examples.

Contributing

Contributions are welcome! Please consult the CONTRIBUTING guidelines for detailed information on how to get involved.

License

MIT