UNPKG

lisk-framework

Version:

Lisk blockchain application platform

35 lines (34 loc) 1.41 kB
import { EventCallback } from '../event'; import { EndpointHandlers } from '../../types'; import { Logger } from '../../logger'; export interface InvokeRequest { methodName: string; context: { header?: { height: number; timestamp: number; aggregateCommit: { height: number; }; }; }; params?: Record<string, unknown>; } export declare abstract class BaseChannel { readonly eventsList: ReadonlyArray<string>; readonly endpointsList: ReadonlyArray<string>; readonly namespace: string; protected readonly endpointHandlers: EndpointHandlers; protected readonly _logger: Logger; private _requestId; constructor(logger: Logger, namespace: string, events: ReadonlyArray<string>, endpoints: EndpointHandlers); isValidEventName(name: string, throwError?: boolean): boolean | never; isValidActionName(name: string, throwError?: boolean): boolean | never; protected _getNextRequestId(): string; abstract subscribe(eventName: string, cb: EventCallback): void; abstract unsubscribe(eventName: string, cb: EventCallback): void; abstract publish(eventName: string, data?: Record<string, unknown>): void; abstract invoke<T>(req: InvokeRequest): Promise<T>; abstract registerToBus(arg: unknown): Promise<void>; abstract once(eventName: string, cb: EventCallback): void; }