StreamSignalMixin
StreamSignalMixin is a mixin for a Signal that adds reactive methods for Stream.
class MySignal extends Signal<int> with StreamSignalMixin<int> {  MySignal(super.internalValue);}
void main() {  final signal = MySignal(1);
  assert(signal is Signal<int>);  assert(signal is Stream<int>);
  signal.listen((value) {    print(value);  });
  signal.value = 2;}This allows you to use the Stream API with a Signal and use it anywhere a Stream is expected.
StreamBuilder
You can use StreamBuilder to build a widget that automatically updates when the signal emits a new value.
import 'package:flutter/material.dart';import 'package:signals/signals_flutter.dart';
class Counter extends Signal<int> with StreamSignalMixin<int> {  Counter(int value) : super(value);}
void main() {  final counter = Counter(0);
  runApp(    MaterialApp(      home: Scaffold(        appBar: AppBar(          title: Text('StreamSignalMixin Example'),        ),        body: Center(          child: StreamBuilder<int>(            stream: counter,            builder: (context, snapshot) {              return Column(                mainAxisAlignment: MainAxisAlignment.center,                children: [                  Text('You have pushed the button this many times:'),                  Text(                    '${snapshot.data}',                    style: Theme.of(context).textTheme.headline4,                  ),                ],              );            },          ),        ),        floatingActionButton: FloatingActionButton(          onPressed: () => counter.value++,          tooltip: 'Increment',          child: Icon(Icons.add),        ),      ),    ),  );}