levit_dart 0.0.2 copy "levit_dart: ^0.0.2" to clipboard
levit_dart: ^0.0.2 copied to clipboard

The core framework for pure Dart applications. Aggregates dependency injection and reactivity.

example/levit_dart_example.dart

import 'package:levit_dart/levit_dart.dart';

// A business logic component
class CounterController extends LevitController {
  // Reactive state
  final count = 0.lx;

  // Computed state
  late final doubleCount = LxComputed(() => count.value * 2);

  @override
  void onInit() {
    print('CounterController initialized');
    // React to changes
    void listener() {
      print('Count changed to: ${count.value}');
    }

    count.addListener(listener);
    autoDispose(() => count.removeListener(listener));

    autoDispose(
        watch(doubleCount, (value) => print('DoubleCount changed to: $value')));
  }

  @override
  void onClose() {
    print('CounterController disposed');
    super.onClose();
  }

  void increment() => count.value++;
}

void main() {
  print('--- App Start ---');

  // 1. Register the controller
  Levit.put(CounterController());

  // 2. Resolve the controller
  final controller = Levit.find<CounterController>();

  // 3. Interact
  controller.increment();
  controller.increment();

  print('Current count: ${controller.count.value}');
  print('Doubled: ${controller.doubleCount.value}');

  // 4. Cleanup (simulating app shutdown or scope destruction)
  print('\n--- App Shutdown ---');
  Levit.reset();
}
1
likes
160
points
128
downloads

Publisher

unverified uploader

Weekly Downloads

The core framework for pure Dart applications. Aggregates dependency injection and reactivity.

Repository (GitHub)
View/report issues
Contributing

Documentation

API reference

License

MIT (license)

Dependencies

levit_di, levit_reactive

More

Packages that depend on levit_dart