Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
MR414N-ID
GitHub Repository: MR414N-ID/botku2
Path: blob/master/node_modules/@adiwajshing/baileys/lib/Utils/event-buffer.d.ts
1129 views
1
import { Logger } from 'pino';
2
import { AuthenticationCreds, BaileysEventEmitter, BaileysEventMap } from '../Types';
3
/**
4
* A map that contains a list of all events that have been triggered
5
*
6
* Note, this can contain different type of events
7
* this can make processing events extremely efficient -- since everything
8
* can be done in a single transaction
9
*/
10
declare type BaileysEventData = Partial<BaileysEventMap<AuthenticationCreds>>;
11
declare type BaileysBufferableEventEmitter = BaileysEventEmitter & {
12
/** Use to process events in a batch */
13
process(handler: (events: BaileysEventData) => void | Promise<void>): (() => void);
14
/**
15
* starts buffering events, call flush() to release them
16
* @returns true if buffering just started, false if it was already buffering
17
* */
18
buffer(): boolean;
19
/** buffers all events till the promise completes */
20
createBufferedFunction<A extends any[], T>(work: (...args: A) => Promise<T>): ((...args: A) => Promise<T>);
21
/** flushes all buffered events */
22
flush(): Promise<void>;
23
/** waits for the task to complete, before releasing the buffer */
24
processInBuffer(task: Promise<any>): any;
25
};
26
/**
27
* The event buffer logically consolidates different events into a single event
28
* making the data processing more efficient.
29
* @param ev the baileys event emitter
30
*/
31
export declare const makeEventBuffer: (logger: Logger) => BaileysBufferableEventEmitter;
32
export {};
33
34