UNPKG

@substreams/node

Version:

Substreams for Node.js & Web

51 lines 2.68 kB
import { AnyMessage, JsonObject, Message } from "@bufbuild/protobuf"; import { type CallOptions, type ConnectError, type Transport } from "@connectrpc/connect"; import { BlockScopedData, BlockUndoSignal, Clock, Error as FatalError, InitialSnapshotComplete, InitialSnapshotData, ModulesProgress, Response, SessionInit } from "@substreams/core/proto"; import { EventEmitter } from "eventemitter3"; export type CancelFn = () => void; export declare class TypedEventEmitter<Events extends Record<string, any>> { private emitter; emit<EventName extends keyof Events & string>(eventName: EventName, ...eventArg: Events[EventName]): boolean; on<EventName extends keyof Events & string>(eventName: EventName, handler: (...eventArg: Events[EventName]) => void): EventEmitter<string | symbol, any>; once<EventName extends keyof Events & string>(eventName: EventName, handler: (...eventArg: Events[EventName]) => void): EventEmitter<string | symbol, any>; removeListener<EventName extends keyof Events & string>(eventName: EventName, handler: (...eventArg: Events[EventName]) => void): EventEmitter<string | symbol, any>; removeAllListeners<EventName extends keyof Events & string>(eventName?: EventName): EventEmitter<string | symbol, any>; eventNames(): (string | symbol)[]; listenerCount<EventName extends keyof Events & string>(eventName: EventName): number; off<EventName extends keyof Events & string>(eventName: EventName, handler: (...eventArg: Events[EventName]) => void): EventEmitter<string | symbol, any>; } /** * A map of event names to argument tuples */ export type LocalEventTypes = { block: [block: BlockScopedData]; session: [session: SessionInit]; progress: [progress: ModulesProgress]; undo: [undo: BlockUndoSignal]; debugSnapshotData: [undo: InitialSnapshotData]; debugSnapshotComplete: [undo: InitialSnapshotComplete]; response: [response: Response]; cursor: [cursor: string, clock: Clock]; clock: [clock: Clock]; output: [message: Message<AnyMessage>, cursor: string, clock: Clock]; anyMessage: [message: JsonObject, cursor: string, clock: Clock]; close: [error?: ConnectError]; fatalError: [error: FatalError]; }; export declare class BlockEmitter extends TypedEventEmitter<LocalEventTypes> { transport: Transport; request: any; registry: any; options?: CallOptions; cancelFn?: CancelFn; constructor(transport: Transport, request: any, registry: any, options?: CallOptions); /** * Stop streaming blocks */ stop(): void; /** * Start streaming blocks */ start(): CancelFn; } //# sourceMappingURL=BlockEmitter.d.ts.map