2.0.1 • Published 10 months ago

@jtjs/event v2.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
10 months ago

A simple, object-oriented event implementation for Node and browser.

Fully typed for beautiful TS development.

How to Use

  1. Create your event:

    import { Event } from '@jtjs/event';
    
    type ThemeChangeHandler = (themeName: string) => void;
    
    const onThemeChange = new Event<ThemeChangeHandler>();
  2. Subscribe to your event...

    • Until you unsubscribe:

      onThemeChange.subscribe((themeName) => {
        console.log(`Theme changed to ${themeName}!`);
      });
    • For just one trigger:

      onThemeChange.once((themeName) => {
        console.log('Just once!');
      });
  3. Trigger your event:

    onThemeChange.trigger('light');
  4. Unsubscribe from your event...

    • With the return from subscribe:

      const unsub = onThemeChange.subscribe((themeName) => {
        console.log('beep boop');
      });
      
      unsub();
    • With the reference to your handler:

      const handler = (themeName: string) => {
        console.log('beep boop');
      };
      
      onThemeChange.subscribe(handler);
      
      onThemeChange.unsubscribe(handler);