betfair-node
Version:
A comprehensive Node.js TypeScript library for the Betfair Exchange API, providing both JSON-RPC API integration and real-time Exchange Stream API support for automated betting and trading applications.
51 lines • 1.85 kB
TypeScript
export interface HeartbeatState {
isBeating: boolean;
timeout?: NodeJS.Timeout;
heartbeatMs: number;
onHeartAttack: () => void;
}
/**
* Creates a new heartbeat state
* @param heartbeatMs - Heartbeat interval in milliseconds
* @param onHeartAttack - Callback function when heartbeat fails
* @returns Initial heartbeat state
*/
export declare const createHeartbeatState: (heartbeatMs: number, onHeartAttack: () => void) => HeartbeatState;
/**
* Starts the heartbeat monitoring
* @param state - Current heartbeat state
* @returns Updated heartbeat state
*/
export declare const startHeartbeat: (state: HeartbeatState) => HeartbeatState;
/**
* Stops the heartbeat monitoring
* @param state - Current heartbeat state
* @returns Updated heartbeat state
*/
export declare const stopHeartbeat: (state: HeartbeatState) => HeartbeatState;
/**
* Refreshes the heartbeat timer by stopping and restarting it
* @param state - Current heartbeat state
* @returns Updated heartbeat state
*/
export declare const refreshHeartbeat: (state: HeartbeatState) => HeartbeatState;
/**
* Updates the heartbeat interval
* @param state - Current heartbeat state
* @param newHeartbeatMs - New heartbeat interval in milliseconds
* @returns Updated heartbeat state
*/
export declare const updateHeartbeatInterval: (state: HeartbeatState, newHeartbeatMs: number) => HeartbeatState;
/**
* Checks if the heartbeat is currently active
* @param state - Current heartbeat state
* @returns True if heartbeat is active
*/
export declare const isHeartbeatActive: (state: HeartbeatState) => boolean;
/**
* Gets the current heartbeat interval
* @param state - Current heartbeat state
* @returns Heartbeat interval in milliseconds
*/
export declare const getHeartbeatInterval: (state: HeartbeatState) => number;
//# sourceMappingURL=heartbeat.d.ts.map