levit_reactive 0.0.7 copy "levit_reactive: ^0.0.7" to clipboard
levit_reactive: ^0.0.7 copied to clipboard

Pure Dart reactive state management primitives. The engine of the Levit framework.

levit_reactive #

Pub Version Platforms License: MIT codecov

Purpose & Scope #

levit_reactive is Levit's pure Dart reactive runtime.

This package is responsible for:

  • Mutable and immutable reactive values.
  • Derived state (LxComputed, async computed variants).
  • Side-effect workers (LxWorker family).
  • Deterministic propagation and batch semantics.
  • Reactive middleware interception.

This package does not include:

  • Dependency injection and lifecycle container semantics (levit_scope).
  • Flutter widget bindings (levit_flutter_core, levit_flutter).

Conceptual Overview #

Reactive objects expose values and notify observers. Observers subscribe implicitly (through dependency tracking) or explicitly (listeners/workers).

Core abstractions:

  • .lx extensions create reactive sources.
  • LxComputed defines derived values from dependencies.
  • LxWorker runs side-effects when dependencies change.
  • Lx.batch / Lx.batchAsync coalesce propagation.

Getting Started #

dependencies:
  levit_reactive: ^latest
import 'package:levit_reactive/levit_reactive.dart';

void main() {
  final count = 0.lx;
  final doubled = LxComputed(() => count() * 2);

  final worker = LxWorker(doubled, (value) {
    print('doubled=$value');
  });

  count(1);
  count(2);

  worker.close();
  doubled.close();
  count.close();
}

Middleware Lifecycle (Token-Based) #

import 'package:levit_reactive/levit_reactive.dart';

const historyToken = #state_history;

void configure() {
  Lx.addMiddleware(LevitReactiveHistoryMiddleware(), token: historyToken);
}

void teardown() {
  Lx.removeMiddlewareByToken(historyToken);
}

Design Principles #

  • Ordered, deterministic propagation.
  • Fine-grained dependency tracking.
  • Explicit lifecycle closure for long-lived resources.
  • Predictable middleware interception.
1
likes
160
points
195
downloads

Publisher

unverified uploader

Weekly Downloads

Pure Dart reactive state management primitives. The engine of the Levit framework.

Repository (GitHub)
View/report issues
Contributing

Topics

#state-management #reactive #observable

Documentation

API reference

License

MIT (license)

Dependencies

meta

More

Packages that depend on levit_reactive