0.0.9 • Published 2 years ago

events-system v0.0.9

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
2 years ago

Event System is a package used for handling different events between parts of code written in Typescript.

EventsSystem

new EventSystem(options: EventsSystemOptions)

Initializes the Event System class.

Parameters:

  • options
    • bufferDirection {"FIFO" | "LIFO"} - The direction of the events buffer. Defaults to "FIFO".
    • bufferSize {number} - The size of the buffer.

Example:

// Initialization without options
const eventSystem = new EventSystem(); // OK ✅

// Initialization with options
const eventSystem = new EventSystem({
  bufferDirection: "LIFO",
  bufferSize: 10
}); // OK ✅

subscribe(event, handler)

Subscribes handler to be called when the event is triggered.

Parameters:

  • event {keyof E} The event name.
  • handler {Function} The handler function.

Example:

type MyEvents = {
  "event": () => void;
}

const eventSystem = new EventSystem<MyEvents>();

// Subscribe to event
eventSystem.subscribe("event", () => {
  // Do something
});

unsubscribe(event, handler)

Unsubscribes the handler from the event.

Parameters:

  • event {keyof E} The event name.
  • handler {Function} The handler function.

Example:

type MyEvents = {
  "event": () => void;
}

const eventSystem = new EventSystem<MyEvents>();

// Subscribe to event
eventSystem.subscribe("event", () => {
  // Do something
});

// Unsubscribe from event
eventSystem.unsubscribe("event", () => {
  // Do something
});

notify(event, ...args)

Triggers the event with the given arguments.

Parameters:

  • event {keyof E} The event name.
  • args {Parameters<E[keyof E]>} The arguments to pass to the handler.

Example:

type MyEvents = {
  "event": (a: number, b: string) => void;
}

const eventSystem = new EventSystem<MyEvents>();

// Subscribe to event
eventSystem.subscribe("event", (a, b) => {
  // Do something
});

// Trigger event
eventSystem.notify("event", 1, "Hello");
0.0.9

2 years ago

0.0.8

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1-b

2 years ago

0.0.1

2 years ago