event_stream 0.3.2 event_stream: ^0.3.2 copied to clipboard
Makes it easier to expose custom events using the Stream API.
event_stream #
Introduction #
Makes it easier to expose custom events in Dart using the Stream API.
Getting Started #
1. Add the following to your project's pubspec.yaml and run
pub install
.
dependencies:
event_stream: any
2. Add the correct import for your project.
import 'package:event_stream/event_stream.dart';
Example #
import 'package:event_stream/event_stream.dart';
import 'dart:async';
class ClassWithEvents implements NotifyPropertyChanged {
String _someProperty;
final EventStream<PropertyChangedEventArgs> _onPropertyChangedEvent = new EventStream<PropertyChangedEventArgs>();
Stream<PropertyChangedEventArgs> get onPropertyChanged => _onPropertyChangedEvent.stream;
final EventStream _onClosedEvent = new EventStream();
Stream get onClosed => _onClosedEvent.stream;
String get someProperty => _someProperty;
set someProperty(String value) {
_someProperty = value;
_onPropertyChangedEvent.signal(new PropertyChangedEventArgs('someProperty', value));
}
close() {
_onClosedEvent.signal();
}
}
main() {
var c = new ClassWithEvents();
c.onPropertyChanged.listen((PropertyChangedEventArgs<String> args) => print('changed: name=${args.propertyName} value=${args.value}'));
c.onClosed.listen((_) => print('closed'));
c.someProperty = "test";
c.close();
}