Sha256: 4d3f525ea034b71cba737f22dc8e26bedc01dd163444e2cdb6b74280a574767f
Contents?: true
Size: 1.49 KB
Versions: 26
Compression:
Stored size: 1.49 KB
Contents
import { EventMap, Listener } from 'strict-event-emitter'; import { f as Interceptor, E as ExtractEventNames } from './Interceptor-a31b1217.js'; interface BatchInterceptorOptions<InterceptorList extends ReadonlyArray<Interceptor<any>>> { name: string; interceptors: InterceptorList; } type ExtractEventMapType<InterceptorList extends ReadonlyArray<Interceptor<any>>> = InterceptorList extends ReadonlyArray<infer InterceptorType> ? InterceptorType extends Interceptor<infer EventMap> ? EventMap : never : never; /** * A batch interceptor that exposes a single interface * to apply and operate with multiple interceptors at once. */ declare class BatchInterceptor<InterceptorList extends ReadonlyArray<Interceptor<any>>, Events extends EventMap = ExtractEventMapType<InterceptorList>> extends Interceptor<Events> { static symbol: symbol; private interceptors; constructor(options: BatchInterceptorOptions<InterceptorList>); protected setup(): void; on<EventName extends ExtractEventNames<Events>>(event: EventName, listener: Listener<Events[EventName]>): this; once<EventName extends ExtractEventNames<Events>>(event: EventName, listener: Listener<Events[EventName]>): this; off<EventName extends ExtractEventNames<Events>>(event: EventName, listener: Listener<Events[EventName]>): this; removeAllListeners<EventName extends ExtractEventNames<Events>>(event?: EventName | undefined): this; } export { BatchInterceptorOptions as B, ExtractEventMapType as E, BatchInterceptor as a };
Version data entries
26 entries across 26 versions & 1 rubygems