@guanghechen/event-bus

Simple event bus

Usage no npm install needed!

<script type="module">
  import guanghechenEventBus from 'https://cdn.skypack.dev/@guanghechen/event-bus';
</script>

README

@guanghechen/event-bus


A simple event bus.

Install

npm install --save @guanghechen/event-bus
  • yarn

    yarn add @guanghechen/event-bus
    

Usage

  • Basic

    import { SimpleEvent, SimpleEventBus, SimpleEventHandler } from '@guanghechen/event-bus'
    
    enum EventTypes {
      INIT = 'INIT',
      EXIT = 'EXIT',
    }
    
    const eventBus = new SimpleEventBus<EventTypes>()
    
    const handle: EventHandler<EventTypes> = (evt: SimpleEvent<EventTypes>) => {
      console.log('evt:', evt)
    }
    
    // Listen for specific event
    eventBus.on(EventTypes.INIT, handle)
    
    // Listen for specific event, and only need to be called once
    eventBus.once(EventTypes.INIT, handle)
    
    // Listen for all events
    eventBus.subscribe(handle, true)
    
    // Remove listener
    eventBus.removeEventListener(EventTypes.INIT, handle)
    
    // Remove subscriber
    eventBus.unsubscribe(handle)