nowpayments-api
Version:
NOWPayments API client for Node.js with WebSocket support
97 lines (96 loc) • 3.11 kB
TypeScript
export = NOWPaymentsWebSocket;
/**
* NOWPayments WebSocket client for real-time payment updates
* @class NOWPaymentsWebSocket
* @extends EventEmitter
* @typedef {import('../types/websocket').WebSocketOptions} WebSocketOptions
* @typedef {import('../types/websocket').PaymentUpdateEvent} PaymentUpdateEvent
* @typedef {import('../types/websocket').WebSocketError} WebSocketError
* @typedef {import('../types/websocket').ConnectionState} ConnectionState
*/
declare class NOWPaymentsWebSocket extends EventEmitter<[never]> {
/**
* Creates WebSocket client instance
* @param {string} apiKey - NOWPayments API key
* @param {WebSocketOptions} [options] - Client configuration options
*/
constructor(apiKey: string, options?: import("../types/websocket").WebSocketOptions | undefined);
apiKey: string;
options: {
maxReconnectAttempts: number;
reconnectDelay: number;
pingInterval: number;
pongTimeout: number;
endpoint: string;
};
reconnectAttempts: number;
isConnected: boolean;
lastPing: number | null;
pongTimeout: NodeJS.Timeout | null;
pingInterval: NodeJS.Timeout | null;
reconnectTimer: NodeJS.Timeout | null;
/**
* Establishes WebSocket connection
* @fires NOWPaymentsWebSocket#connected
* @fires NOWPaymentsWebSocket#disconnected
* @fires NOWPaymentsWebSocket#payment_update
* @fires NOWPaymentsWebSocket#error
*/
connect(): void;
ws: WebSocket | null | undefined;
/**
* Setup WebSocket event handlers
* @private
*/
private _setupEventHandlers;
/**
* Starts ping/pong heartbeat
* @private
*/
private _startPingPong;
/**
* Handles WebSocket disconnection
* @private
* @param {number} code - Close code
* @param {string} reason - Close reason
*/
private _handleDisconnect;
/**
* Creates WebSocket error object
* @private
* @param {string} code - Error code
* @param {string} message - Error message
* @returns {WebSocketError} WebSocket error
*/
private _createError;
/**
* Closes WebSocket connection
*/
close(): void;
/**
* Gets current connection state
* @returns {ConnectionState} Connection state
*/
getState(): ConnectionState;
}
declare namespace NOWPaymentsWebSocket {
export { WebSocketOptions, PaymentUpdateEvent, WebSocketError, ConnectionState };
}
import EventEmitter = require("events");
import WebSocket = require("ws");
/**
* NOWPayments WebSocket client for real-time payment updates
*/
type WebSocketOptions = import("../types/websocket").WebSocketOptions;
/**
* NOWPayments WebSocket client for real-time payment updates
*/
type PaymentUpdateEvent = import("../types/websocket").PaymentUpdateEvent;
/**
* NOWPayments WebSocket client for real-time payment updates
*/
type WebSocketError = import("../types/websocket").WebSocketError;
/**
* NOWPayments WebSocket client for real-time payment updates
*/
type ConnectionState = import("../types/websocket").ConnectionState;