itd-api / EventRouter
Class: EventRouter<K, C>
Defined in: events/router.ts:39
Направляет обновления потока в именованные цепочки промежуточных обработчиков.
Example
ts
import { EventRouter, NotificationUpdateType } from 'itd-api/events';
const router = new EventRouter((context) => context.update.type);
router.route(NotificationUpdateType.Notification, async (context, next) => {
if (context.update.type === NotificationUpdateType.Notification) {
await handleNotification(context.update.data.notification);
}
await next();
});
stream.use(router);Type Parameters
K
K extends PropertyKey = PropertyKey
C
C extends EventContext = NotificationEventContext
Implements
Constructors
Constructor
ts
new EventRouter<K, C>(selector): EventRouter<K, C>;Defined in: events/router.ts:48
Parameters
selector
EventRouteSelector<K, C>
Returns
EventRouter<K, C>
Methods
middleware()
ts
middleware(): EventMiddleware<C>;Defined in: events/router.ts:85
Возвращает снимок маршрутов для stream.use(router) или ручной композиции.
Returns
Implementation of
EventMiddlewareObject.middleware
otherwise()
ts
otherwise(...middleware): Unsubscribe;Defined in: events/router.ts:74
Добавляет промежуточные обработчики для обновлений без зарегистрированного маршрута.
Parameters
middleware
...readonly EventMiddleware<C>[]
Returns
route()
ts
route(key, ...middleware): Unsubscribe;Defined in: events/router.ts:56
Добавляет промежуточные обработчики к маршруту и возвращает функцию их удаления.
Parameters
key
K
middleware
...readonly EventMiddleware<C>[]