bitmart-api
Version:
Complete & robust Node.js SDK for BitMart's REST APIs and WebSockets, with TypeScript declarations.
27 lines (26 loc) • 1.58 kB
TypeScript
import WebSocket from 'isomorphic-ws';
import { DefaultLogger } from '../logger.js';
import { WsConnectionStateEnum, WsStoredState } from './WsStore.types.js';
export declare class WsStore<WsKey extends string, TWSTopicSubscribeEventArgs extends string | object> {
private wsState;
private logger;
constructor(logger: typeof DefaultLogger);
/** Get WS stored state for key, optionally create if missing */
get(key: WsKey, createIfMissing?: true): WsStoredState<TWSTopicSubscribeEventArgs>;
get(key: WsKey, createIfMissing?: false): WsStoredState<TWSTopicSubscribeEventArgs> | undefined;
getKeys(): WsKey[];
create(key: WsKey): WsStoredState<TWSTopicSubscribeEventArgs> | undefined;
delete(key: WsKey): void;
hasExistingActiveConnection(key: WsKey): boolean;
getWs(key: WsKey): WebSocket | undefined;
setWs(key: WsKey, wsConnection: WebSocket): WebSocket;
isWsOpen(key: WsKey): boolean;
getConnectionState(key: WsKey): WsConnectionStateEnum;
setConnectionState(key: WsKey, state: WsConnectionStateEnum): void;
isConnectionState(key: WsKey, state: WsConnectionStateEnum): boolean;
getTopics(key: WsKey): Set<TWSTopicSubscribeEventArgs>;
getTopicsByKey(): Record<string, Set<TWSTopicSubscribeEventArgs>>;
getMatchingTopic(key: WsKey, topic: TWSTopicSubscribeEventArgs): TWSTopicSubscribeEventArgs | undefined;
addTopic(key: WsKey, topic: TWSTopicSubscribeEventArgs): Set<TWSTopicSubscribeEventArgs>;
deleteTopic(key: WsKey, topic: TWSTopicSubscribeEventArgs): Set<TWSTopicSubscribeEventArgs>;
}