1.0.2 • Published 2 years ago

@jtjs/event v1.0.2

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

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

Fully typed for beautiful TS development.

API Examples

Create your event:

import { Event } from '@jtjs/event';

type ThemeChangeHandler = (themeName: string) => void;

const onThemeChange = new Event<ThemeChangeHandler>();

Subscribe to your event:

onThemeChange.subscribe((themeName) => {
  console.log(`Theme changed to ${themeName}!`);
});

Subscribe to your event for one trigger:

onThemeChange.once((themeName) => {
  console.log('Just once!');
});

Unsubscribe from your event (method 1):

const unsub = onThemeChange.subscribe((themeName) => {
  console.log('beep boop');
});

unsub();

Unsubscribe from your event (method 2):

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

onThemeChange.subscribe(handler);

onThemeChange.unsubscribe(handler);

Trigger your event:

onThemeChange.trigger('light');