event-driven
Version:
makes building event-driven-architecture easy
12 lines (11 loc) • 729 B
TypeScript
import { Event } from '../backend';
import { SubscriberConfig, SubscriberGroupedEvent } from './common';
export declare type PullGroupedEventHandler<ParentEvent extends Event<string>> = (groupedEvents: SubscriberGroupedEvent<ParentEvent>[]) => Promise<any>;
export declare const SubscriberPullGroup: (config: SubscriberConfig) => <ParentEvent extends Event<string>>({ subject, subscriptions, }: {
subject: ParentEvent["subject"];
subscriptions: (PullGroupedEventHandler<ParentEvent> | [PullGroupedEventHandler<ParentEvent>, {
groupBy?: ((item: ParentEvent["data"]) => string | number | symbol) | undefined;
batch?: number | undefined;
expires?: number | undefined;
}])[];
}) => Promise<void>;