rocket_listenable 0.0.1 copy "rocket_listenable: ^0.0.1" to clipboard
rocket_listenable: ^0.0.1 copied to clipboard

Simple listenable support multi listeners.

Rocket Listenable #

A package that provides a mix-in RocketListenable class for implementing listenable objects in Dart.

A listenable object allows other objects to register and unregister listeners and can notify its listeners when a change occurs.

Usage #

To use the RocketListenable class, simply extend your class with it and call the registerListener method to register a listener. Call the callListener method to notify the listeners that a change has occurred.

import 'package:rocket_listenable/rocket_listenable.dart';

class MyModel with RocketListenable {
  String _data = '';

  String get data => _data;

  set data(String value) {
    _data = value;
    callListener('data');
  }
}

final myModel = MyModel();

myModel.registerListener('data', () {
  print('Data changed: ${myModel.data}');
});

myModel.data = 'Hello, world!';

Methods #

registerListener(String key, VoidCallback listener) #

Registers a new listener with the specified key.

registerListeners(Map<String, List<VoidCallback>> listeners) #

Registers multiple listeners with the specified keys.

callListener(String key) #

Notifies the listeners registered with the specified key.

callListeners(List<String> keys) #

Notifies the listeners registered with any of the specified keys.

removeListener(String key, [VoidCallback? listener]) #

Removes the specified listener (or all listeners if no listener is specified) with the specified key.

removeListeners(List<String> keys, [List<VoidCallback>? listeners]) #

Removes the specified listeners (or all listeners if no listener is specified) with the specified keys.

hasListeners #

Returns true if this object has any listeners.

keyHasListeners(String key) #

Returns true if a listener is registered with the specified key.

getListenersKeys #

Returns a list of all keys that have registered listeners.

dispose() #

Disposes of this object and removes all listeners.