Module utils/eventEmitter

๐ŸŽญ A strongly-typed event emitter for ComputerCraft - because even computers need to express their feelings! Perfect for when you need to shout events across your codebase with style.

Key Features:

  • ๐ŸŽฏ Full TypeScript support with type-safe events
  • ๐Ÿ”„ Subscribe and unsubscribe with ease
  • ๐ŸŽช Support for one-time event listeners
  • ๐Ÿงน Clean up capabilities to prevent memory leaks
// Define your event types
interface MyEvents {
'turtle:moved': [x: number, y: number];
'inventory:full': [];
'fuel:low': [remainingFuel: number];
}

// Create your emitter
const events = new EventEmitter<MyEvents>();

// Listen for events
events.on('turtle:moved', (x, y) => {
print(`Turtle moved to ${x}, ${y}`);
});

// Emit events with type safety!
events.emit('turtle:moved', 42, 73); // Works! โœจ
events.emit('turtle:moved', "oops"); // Type error! ๐Ÿšซ

Common Use Cases:

  • Building reactive user interfaces
  • Managing turtle state changes
  • Coordinating multiple computers
  • Implementing pub/sub patterns

A record of event names mapped to their argument types

Classes

EventEmitter

Type Aliases

EventMap