event_stream 0.3.2 copy "event_stream: ^0.3.2" to clipboard
event_stream: ^0.3.2 copied to clipboard

Dart 1 only

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();
}
1
likes
35
points
28
downloads

Publisher

unverified uploader

Weekly Downloads

Makes it easier to expose custom events using the Stream API.

Repository (GitHub)

License

MIT (license)

Dependencies

unittest

More

Packages that depend on event_stream