clean_signals 2.1.0 copy "clean_signals: ^2.1.0" to clipboard
clean_signals: ^2.1.0 copied to clipboard

A lightweight use-case and controller framework for signals-based Flutter and Dart applications. Typed results, sealed failures, ref-counted activity tracking and declarative retries — without rxdart or dartz.

example/lib/main.dart

import 'dart:async';

import 'package:clean_signals/clean_signals.dart';
import 'package:flutter/material.dart';
import 'package:logger/logger.dart';

import 'core/demo_users.dart';
import 'core/di/injector.dart';
import 'features/session/presentation/controllers/session_controller.dart';
import 'features/team/presentation/pages/members_page.dart';

void main() {
  CleanSignalsLogger.instance.register(
    Logger(level: Level.debug, printer: SimplePrinter()),
  );
  configureDependencies();
  // Establish the demo session; in a real app this follows your auth flow.
  unawaited(getIt<SessionController>().signIn(demoUserIds.first));
  runApp(const TeamDirectoryApp());
}

class TeamDirectoryApp extends StatelessWidget {
  const TeamDirectoryApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Team Directory',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.teal),
        useMaterial3: true,
      ),
      home: const MembersPage(),
    );
  }
}
0
likes
140
points
125
downloads

Documentation

API reference

Publisher

verified publisherfdemon.dev

Weekly Downloads

A lightweight use-case and controller framework for signals-based Flutter and Dart applications. Typed results, sealed failures, ref-counted activity tracking and declarative retries — without rxdart or dartz.

Repository (GitHub)
View/report issues

Topics

#state-management #clean-architecture #signals #usecase #result

License

MIT (license)

Dependencies

logger, meta, signals

More

Packages that depend on clean_signals