1.0.5 • Published 3 years ago

@enzodiazdev/eventbroker v1.0.5

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

EventBroker es la solución orientada a objetos del EventEmitter de NodeJS. Está en desarrollo, pero se puede usar.

Instalala usando npm i @enzodiazdev/eventbroker

Tutorial a toda velocidad:

  • Importá el Broker
  • Importá el EventChannel
  • Importá el Suscriptor
  • Crea una interfaz, donde cada clave es el nombre de un evento y el valor es un arreglo de tipos (ahora te digo como)
  • Crea tres clases, una por clase importada, y exendelas.
  • Implementa los miembros abstractos, claro.
  • Las clases importadas demandan parametros de tipo, ahí le pasás la interface.
  • Crea las instancias de las clases concretas que creaste.
  • Al broker le pasas en el constructor un EventEmitter "o cualquier cosa que se le parezca".
  • Usa el método on del broker y pasale la instancia de un canal.
  • Usa el método add_suscriptor del canal y pasale la instancia del suscriptor.

Ejemplo en código

interface TelephoneEvents {
    call: [string]
    //...
}
class Telephone extends Broker<TelephoneEvents> {
}
class Line extends EventChannel<TelephoneEvents, "call"> {
    public event_type:"call" = "call"
}
class Person extends Suscriptor<TelephoneEvents, "call"> {
    public event_type:"call" = "call"

    notified(message:string){
        console.log(message);
    }
}
const telephone_ev = new EventEmitter();
const telephone = new Telephone(telephone_ev);
const line = new Line(telephone);
const person = new Person();

line.add_suscriptor(person);
telephone.on("call", line);

telephone.emit("call", "Hola personas!");

> Hola personas!