itd-api / NotificationEvents
Class: NotificationEvents<C>
Defined in: events/stream.ts:210
Поток уведомлений в реальном времени.
Доступен как стабильное свойство itd.notifications.events. Соединение поднимается методом connect и держится само: обрывы, обновление токена и повторные попытки библиотека берёт на себя.
Параметр типа задаёт форму контекста: плагин может расширить её своими полями (NotificationEvents<NotificationEventContext & SessionFlavor<S>>) и типизировать обработчики.
Example
import { NotificationType } from 'itd-api';
const stream = itd.notifications.events;
stream.onNotification(NotificationType.PostComment, async ({ update }) => {
await saveCommentNotification(update.data.notification);
});
stream.on('status', (status) => console.log('соединение:', status));
await stream.connect();
// …позже
stream.disconnect();
await stream.drain();Extended by
Type Parameters
C
C extends NotificationEventContext = NotificationEventContext
Accessors
status
Get Signature
get status(): EventChannelStatus;Defined in: events/stream.ts:261
Текущее состояние соединения.
Returns
transport
Get Signature
get transport(): string;Defined in: events/stream.ts:266
Имя используемого транспорта.
Returns
string
Methods
connect()
connect(): Promise<void>;Defined in: events/stream.ts:397
Поднимает соединение.
Повторный вызов при уже живом соединении ничего не делает — это защита от двойного подключения при перерисовке интерфейса.
Возвращает управление сразу после запуска: соединение живёт в фоне.
Returns
Promise<void>
Throws
если создавший поток клиент уже освобождён
disconnect()
disconnect(): void;Defined in: events/stream.ts:412
Закрывает соединение и отменяет запланированные попытки.
Returns
void
drain()
drain(): Promise<void>;Defined in: events/stream.ts:418
Ждёт завершения принятых обновлений и освобождения ресурсов остановленной сессии.
Returns
Promise<void>
on()
on<K>(event, listener): Unsubscribe;Defined in: events/stream.ts:286
Подписывается на событие потока.
Type Parameters
K
K extends keyof NotificationEventsMap<C>
Parameters
event
K
listener
Listener<NotificationEventsMap<C>[K]>
Returns
функция отписки
once()
once<K>(event, listener): Unsubscribe;Defined in: events/stream.ts:294
Подписывается на одно срабатывание.
Type Parameters
K
K extends keyof NotificationEventsMap<C>
Parameters
event
K
listener
Listener<NotificationEventsMap<C>[K]>
Returns
onNotification()
Call Signature
onNotification<T>(selector, handler): Unsubscribe;Defined in: events/stream.ts:354
Подписывает асинхронный обработчик на уведомления, подходящие под фильтр.
Type Parameters
T
T extends NotificationType
Parameters
selector
handler
EventHandler<C & NotificationContext<T>>
Returns
Call Signature
onNotification<N>(guard, handler): Unsubscribe;Defined in: events/stream.ts:359
Подписывает асинхронный обработчик по функции сужения типа уведомления.
Type Parameters
N
N extends NotificationEventContext & NotificationContext
Parameters
guard
(context) => context is N
handler
EventHandler<N>
Returns
Call Signature
onNotification(predicate, handler): Unsubscribe;Defined in: events/stream.ts:364
Подписывает асинхронный обработчик по пользовательскому условию.
Parameters
predicate
(context) => boolean
handler
EventHandler<C & NotificationContext>
Returns
onUpdate()
Call Signature
onUpdate(handler): Unsubscribe;Defined in: events/stream.ts:314
Подписывает асинхронный обработчик на все нормализованные обновления.
Parameters
handler
EventHandler<C>
Returns
Call Signature
onUpdate<T>(type, handler): Unsubscribe;Defined in: events/stream.ts:316
Подписывает асинхронный обработчик на обновление указанного типа.
Type Parameters
T
T extends "unreadCount" | "notification" | "unknown"
Parameters
type
T
handler
EventHandler<C & NotificationEventContext<NotificationUpdateOfType<T>>>
Returns
Call Signature
onUpdate<N>(guard, handler): Unsubscribe;Defined in: events/stream.ts:321
Подписывает асинхронный обработчик по функции сужения типа.
Type Parameters
N
N extends NotificationEventContext
Parameters
guard
EventTypeGuard<N, C>
handler
EventHandler<N>
Returns
Call Signature
onUpdate(predicate, handler): Unsubscribe;Defined in: events/stream.ts:323
Подписывает асинхронный обработчик по пользовательскому условию.
Parameters
predicate
handler
EventHandler<C>
Returns
removeAllListeners()
removeAllListeners(): void;Defined in: events/stream.ts:423
Снимает подписки on() и once(). Остальные обработчики остаются.
Returns
void
use()
use(middleware): Unsubscribe;Defined in: events/stream.ts:309
Добавляет промежуточный обработчик или объект, предоставляющий его через middleware().
Обработчики выполняются в порядке регистрации. Если next() не вызван, обновление не передаётся дальше по цепочке, асинхронным обработчикам и слушателям событий.
Parameters
middleware
| EventMiddleware<C> | EventMiddlewareObject<C>
Returns
функция удаления обработчика