@xpresser/events-server
Version:
Xpresser's Official Events Server Plugin.
70 lines (69 loc) • 1.61 kB
TypeScript
import type { DollarSign } from "xpresser/types";
import { EventHandlerFn } from "./Types";
declare class EventsServer {
#private;
private server;
port: number;
private readonly db;
private readonly $;
private readonly $router;
private readonly isCliCommand;
private retryTimeout;
/**
* Take xpresser instance and port.
* Create our server.
* @param secretKey
* @param $
*/
constructor(secretKey: string, $: DollarSign);
/**
* Map event to function or controller
* @param event
* @param fn
*/
on(event: string, fn?: string | EventHandlerFn): this;
/**
* Get all loaded events
*/
private getAllEvents;
/**
* Start Listening for events
*/
startListening(): void;
/**
* Initialize Socket
* @private
*/
private initializeSocket;
private processRoutes;
private addConnectionListener;
private listenToAllRoutes;
private triggerRetryFailedEvents;
/**
* Wrap a function around Events Server Before and After events.
* @param $controller
* @param event
* @param method
* @private
*/
private wrapControllerFunction;
/**
* Make Controller Context using socket passed.
* @param id
* @param socket
* @param event
* @private
*/
private makeControllerContext;
/**
* Run an event.
* @param socket
* @param event
* @param args
* @private
*/
private runEvent;
private retryFailedEvents;
private runPendingEvents;
}
export = EventsServer;