Tipos
Todos estos tipos viven en src/core/types.ts y forman la base del sistema de tipos de la librería.
| Tipo | Descripción |
|---|---|
Handler<T> |
(payload: T) => void — firma de un handler de evento. |
EventMap |
Record<string, unknown> — restricción genérica para los eventos definidos por el usuario. |
TabusMessage<T> |
Forma del mensaje interno: { tabId, event, payload }. |
InternalEvents |
{ "tab:join": { tabId }, "tab:leave": { tabId } } — eventos de ciclo de vida emitidos automáticamente. |
FullEventMap<T> |
Combina los eventos del usuario (T) con InternalEvents; se usa en las firmas de on() / off(). |
TabusOptions |
{ throttle?: number; trailing?: boolean } — ver Opciones. |
Handler<T>
Sección titulada «Handler<T>»type Handler<T = unknown> = (payload: T) => void;Firma que debe cumplir cualquier función pasada a on() u off().
EventMap
Sección titulada «EventMap»type EventMap = Record<string, unknown>;Restricción genérica que debe cumplir el tipo de eventos que le pasas a Tabus<Events>. Cualquier objeto con claves de tipo string sirve:
type MyEvents = { data: { value: number }; reset: void;};TabusMessage<T>
Sección titulada «TabusMessage<T>»interface TabusMessage<T = unknown> { tabId: string; event: string; payload: T;}Forma del mensaje interno que viaja por el transporte. Es el tipo que reciben send() y los listeners registrados con onMessage() en ITransport.
InternalEvents
Sección titulada «InternalEvents»type InternalEvents = { "tab:join": { tabId: string }; "tab:leave": { tabId: string };};Los dos eventos de ciclo de vida que Tabus emite automáticamente. Ver Eventos de ciclo de vida.
FullEventMap<T>
Sección titulada «FullEventMap<T>»type FullEventMap<T extends EventMap> = T & InternalEvents;Combina tus eventos personalizados con InternalEvents. Es el tipo real que usan las firmas de on() y off(), por lo que siempre puedes suscribirte a "tab:join" / "tab:leave" además de tus propios eventos, sin declararlos tú mismo.
Siguiente paso
Sección titulada «Siguiente paso»- Clase Tabus: dónde se usan estos tipos en la práctica.
- Exports: qué se exporta públicamente desde el paquete.
