event_listener 0.1.6
event_listener: ^0.1.6 copied to clipboard

A dart package implements NodeJS style event listening functionality

EventListener #

License Pub Build Status

NodeJS like Event Listener library for dart!

Usage #

On event #

import 'package:event_listener/event_listener.dart';

void main() {
  var eventListener = new EventListener();

  eventListener.on('log', (String message) {
    print("A log: " + message);
  });

  eventListener.emit('log', 'from me');
}

Once event fires one time #

import 'package:event_listener/event_listener.dart';

void main() {
  var eventListener = new EventListener();

  //This event created by package called every time when you assign new listener to event
  eventListener.on('newListener', (MapEntry<String, Event> deletedEvent) {
    print("New event name: " + deletedEvent.key);
    print("New event caller: " + deletedEvent.value.caller);
  });
  /*
    New event name: log
    new event caller: closure (String message) =>
  */

  eventListener.once('log', (String message) {
    print("A last log: " + message);
    //A last log: from me
  });
  eventListener.emit('log', 'from me');
}

Remove listener #

import 'package:event_listener/event_listener.dart';

void main() {
  var eventListener = new EventListener();

  //This event created by package called every time when you remove a listener from event
  eventListener.on('removeListener', (MapEntry<String, Event> deletedEvent) {
    print("Deleted event name: " + deletedEvent.key);
    print("Deleted event caller: " + deletedEvent.value.caller);
  });
  /*
    Deleted event name: log
    Deleted event caller: closure (String message) =>
  */

  var logMe = (message) {
    print("A last log: " + message);
  }
  //A last log: from me

  eventListener.once('log', logMe);
  eventListener.emit('log', 'from me');
  eventListener.removeEventListener('log', logMe);
}

Remove all listeners #

import 'package:event_listener/event_listener.dart';

void main() {
  var eventListener = new EventListener();

  var logMe = (String message) {
    print("A last log: " + message);
  }

  eventListener.once('log', logMe);
  eventListener.on('log', logMe);
  eventListener.emit('log', 'from me');
  eventListener.removeAllListeners('log');
}

Contributing #

This package made close as NodeJS's Event Listener module, feel free to modify package as long as it looks familiar to Node package

0
likes
100
pub points
26%
popularity

Publisher

behemehal.net

A dart package implements NodeJS style event listening functionality

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

More

Packages that depend on event_listener