eventsafets
v0.1.0
Published
Un EventEmitter seguro y tipado para Node.js y TypeScript
Maintainers
Readme
EventSafeTS 🎯
Un EventEmitter seguro y tipado para Node.js y TypeScript 🚀. Define tus eventos con tipos y obtén autocompletado, seguridad en tiempo de compilación y una API sencilla.
🚀 Instalación
pnpm add eventsafets
# o
npm install eventsafets
# o
yarn add eventsafets🛠️ Uso básico
import { EventSafeTS } from "eventsafets";
// 1. Define tus eventos
type Events = {
login: { userId: string };
logout: { reason: string };
};
// 2. Crea un emitter tipado
const emitter = new EventSafeTS<Events>();
// 3. Suscríbete a un evento
emitter.on("login", (data) => {
console.log("Usuario logueado:", data.userId);
});
// 4. Emitir un evento
emitter.emit("login", { userId: "carlos" });✨ Características
- ✅ Tipado completo con TypeScript
- ✅ Autocompletado de nombres de eventos y payloads
- ✅ Métodos
on,off,onceyemit - ✅ API minimalista, sin dependencias externas
- ✅ Compatible con Node.js y navegadores
📚 API
new EventSafeTS<T>()
Crea una nueva instancia tipada.
T debe ser un objeto donde la clave es el nombre del evento y el valor es el payload.
.on(event, listener)
Registra un listener para un evento.
.off(event, listener)
Elimina un listener.
.once(event, listener)
Listener que se ejecuta solo una vez.
.emit(event, payload)
Emite un evento con su payload tipado.
🧪 Tests
El proyecto usa Vitest. Ejecuta las pruebas con:
pnpm test📦 Build
pnpm build🤝 Contribuir
- Haz un fork del repo
- Crea una rama (
git checkout -b feature/nueva-funcionalidad) - Haz commit (
git commit -m "Agrega nueva funcionalidad") - Push (
git push origin feature/nueva-funcionalidad) - Abre un Pull Request 🚀
📄 Licencia
MIT © 2025 Carlos Ignacio Olano Mares
