UNPKG

kucoin-universal-sdk

Version:
98 lines 3.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.WebSocketClientOptionBuilder = exports.DEFAULT_WEBSOCKET_CLIENT_OPTION = exports.WebSocketEvent = void 0; /** * WebSocketEvent defines the types of WebSocket events */ var WebSocketEvent; (function (WebSocketEvent) { WebSocketEvent["EventConnected"] = "EventConnected"; WebSocketEvent["EventDisconnected"] = "EventDisconnected"; WebSocketEvent["EventTryReconnect"] = "EventTryReconnect"; WebSocketEvent["EventMessageReceived"] = "EventMessageReceived"; WebSocketEvent["EventErrorReceived"] = "EventErrorReceived"; WebSocketEvent["EventPongReceived"] = "EventPongReceived"; WebSocketEvent["EventReadBufferFull"] = "EventReadBufferFull"; WebSocketEvent["EventWriteBufferFull"] = "EventWriteBufferFull"; WebSocketEvent["EventCallbackError"] = "EventCallbackError"; WebSocketEvent["EventReSubscribeOK"] = "EventReSubscribeOK"; WebSocketEvent["EventReSubscribeError"] = "EventReSubscribeError"; WebSocketEvent["EventClientFail"] = "EventClientFail"; WebSocketEvent["EventClientShutdown"] = "EventClientShutdown"; })(WebSocketEvent || (exports.WebSocketEvent = WebSocketEvent = {})); /** * Default values for WebSocketClientOption */ exports.DEFAULT_WEBSOCKET_CLIENT_OPTION = { reconnect: true, reconnectAttempts: -1, reconnectInterval: 5000, // 5 seconds dialTimeout: 10000, // 10 seconds readMessageBuffer: 1024, writeTimeout: 30000, // 30 seconds }; /** * WebSocketClientOptionBuilder is a builder for WebSocketClientOption */ class WebSocketClientOptionBuilder { constructor() { this.option = { ...exports.DEFAULT_WEBSOCKET_CLIENT_OPTION }; } /** * Set whether to enable auto-reconnect */ withReconnect(reconnect) { this.option.reconnect = reconnect; return this; } /** * Set the maximum reconnect attempts */ withReconnectAttempts(attempts) { this.option.reconnectAttempts = attempts; return this; } /** * Set the interval between reconnect attempts (milliseconds) */ withReconnectInterval(interval) { this.option.reconnectInterval = interval; return this; } /** * Set the timeout for establishing a WebSocket connection (milliseconds) */ withDialTimeout(timeout) { this.option.dialTimeout = timeout; return this; } /** * Set the read buffer size for messages */ withReadMessageBuffer(readMessageBuffer) { this.option.readMessageBuffer = readMessageBuffer; return this; } /** * Set the write timeout (milliseconds) */ withWriteTimeout(timeout) { this.option.writeTimeout = timeout; return this; } /** * Set the callback function to handle WebSocket events */ withEventCallback(callback) { this.option.eventCallback = callback; return this; } /** * Build and return the WebSocketClientOption instance */ build() { return this.option; } } exports.WebSocketClientOptionBuilder = WebSocketClientOptionBuilder; //# sourceMappingURL=websocket_option.js.map