Skip to content

Class: WsStore<WsKey extends string, TWSTopicSubscribeEventArgs extends string | object> ​

Type Parameters ​

Type Parameter
WsKey extends string
TWSTopicSubscribeEventArgs extends string | object

Constructors ​

Constructor ​

ts
new WsStore<WsKey extends string, TWSTopicSubscribeEventArgs extends string | object>(logger: object): WsStore<WsKey, TWSTopicSubscribeEventArgs>;

Parameters ​

ParameterTypeDescription
logger{ error: (...params: any) => void; info: (...params: any) => void; trace: (..._params: any) => void; }-
logger.error?(...params: any) => void-
logger.info?(...params: any) => void-
logger.trace?(..._params: any) => voidPing/pong events and other raw messages that might be noisy. Enable this while troubleshooting.

Returns ​

WsStore<WsKey, TWSTopicSubscribeEventArgs>

Methods ​

addTopic() ​

ts
addTopic(key: WsKey, topic: TWSTopicSubscribeEventArgs): Set<TWSTopicSubscribeEventArgs>;

Parameters ​

ParameterType
keyWsKey
topicTWSTopicSubscribeEventArgs

Returns ​

Set<TWSTopicSubscribeEventArgs>


create() ​

ts
create(key: WsKey): 
  | WsStoredState<TWSTopicSubscribeEventArgs>
  | undefined;

Parameters ​

ParameterType
keyWsKey

Returns ​

| WsStoredState<TWSTopicSubscribeEventArgs> | undefined


createAuthenticationInProgressPromise() ​

ts
createAuthenticationInProgressPromise(wsKey: WsKey, throwIfExists: boolean): DeferredPromise<WSConnectedResult & object>;

Parameters ​

ParameterType
wsKeyWsKey
throwIfExistsboolean

Returns ​

DeferredPromise<WSConnectedResult & object>


createConnectionInProgressPromise() ​

ts
createConnectionInProgressPromise(wsKey: WsKey, throwIfExists: boolean): DeferredPromise<WSConnectedResult>;

Create a deferred promise designed to track a connection attempt in progress.

Will throw if existing promise is found.

Parameters ​

ParameterType
wsKeyWsKey
throwIfExistsboolean

Returns ​

DeferredPromise<WSConnectedResult>


createDeferredPromise() ​

ts
createDeferredPromise<TSuccessResult = any>(
   wsKey: WsKey, 
   promiseRef: string, 
   throwIfExists: boolean
): DeferredPromise<TSuccessResult>;

Type Parameters ​

Type ParameterDefault type
TSuccessResultany

Parameters ​

ParameterType
wsKeyWsKey
promiseRefstring
throwIfExistsboolean

Returns ​

DeferredPromise<TSuccessResult>


delete() ​

ts
delete(key: WsKey): void;

Parameters ​

ParameterType
keyWsKey

Returns ​

void


deleteTopic() ​

ts
deleteTopic(key: WsKey, topic: TWSTopicSubscribeEventArgs): Set<TWSTopicSubscribeEventArgs>;

Parameters ​

ParameterType
keyWsKey
topicTWSTopicSubscribeEventArgs

Returns ​

Set<TWSTopicSubscribeEventArgs>


get() ​

Call Signature ​

ts
get(key: WsKey, createIfMissing?: true): WsStoredState<TWSTopicSubscribeEventArgs>;

Get WS stored state for key, optionally create if missing

Parameters ​
ParameterType
keyWsKey
createIfMissing?true
Returns ​

WsStoredState<TWSTopicSubscribeEventArgs>

Call Signature ​

ts
get(key: WsKey, createIfMissing?: false): 
  | WsStoredState<TWSTopicSubscribeEventArgs>
  | undefined;

Get WS stored state for key, optionally create if missing

Parameters ​
ParameterType
keyWsKey
createIfMissing?false
Returns ​

| WsStoredState<TWSTopicSubscribeEventArgs> | undefined


getAuthenticationInProgressPromise() ​

ts
getAuthenticationInProgressPromise(wsKey: WsKey): 
  | DeferredPromise<WSConnectedResult & object, any>
  | undefined;

Parameters ​

ParameterType
wsKeyWsKey

Returns ​

| DeferredPromise<WSConnectedResult & object, any> | undefined


getConnectionInProgressPromise() ​

ts
getConnectionInProgressPromise(wsKey: WsKey): 
  | DeferredPromise<WSConnectedResult, any>
  | undefined;

Get promise designed to track a connection attempt in progress. Resolves once connected.

Parameters ​

ParameterType
wsKeyWsKey

Returns ​

| DeferredPromise<WSConnectedResult, any> | undefined


getConnectionState() ​

ts
getConnectionState(key: WsKey): WsConnectionStateEnum;

Parameters ​

ParameterType
keyWsKey

Returns ​

WsConnectionStateEnum


getDeferredPromise() ​

ts
getDeferredPromise<TSuccessResult = any>(wsKey: WsKey, promiseRef: string): 
  | DeferredPromise<TSuccessResult, any>
  | undefined;

deferred promises

Type Parameters ​

Type ParameterDefault type
TSuccessResultany

Parameters ​

ParameterType
wsKeyWsKey
promiseRefstring

Returns ​

| DeferredPromise<TSuccessResult, any> | undefined


getKeys() ​

ts
getKeys(): WsKey[];

Returns ​

WsKey[]


getMatchingTopic() ​

ts
getMatchingTopic(key: WsKey, topic: TWSTopicSubscribeEventArgs): TWSTopicSubscribeEventArgs | undefined;

Find matching "topic" request from the store

Parameters ​

ParameterTypeDescription
keyWsKey-
topicTWSTopicSubscribeEventArgs-

Returns ​

TWSTopicSubscribeEventArgs | undefined


getTopics() ​

ts
getTopics(key: WsKey): Set<TWSTopicSubscribeEventArgs>;

Parameters ​

ParameterType
keyWsKey

Returns ​

Set<TWSTopicSubscribeEventArgs>


getTopicsByKey() ​

ts
getTopicsByKey(): Record<string, Set<TWSTopicSubscribeEventArgs>>;

Returns ​

Record<string, Set<TWSTopicSubscribeEventArgs>>


getWs() ​

ts
getWs(key: WsKey): WebSocket | undefined;

Parameters ​

ParameterType
keyWsKey

Returns ​

WebSocket | undefined


hasExistingActiveConnection() ​

ts
hasExistingActiveConnection(key: WsKey): boolean;

Parameters ​

ParameterType
keyWsKey

Returns ​

boolean


isConnectionAttemptInProgress() ​

ts
isConnectionAttemptInProgress(key: WsKey): boolean;

Check if we're currently in the process of opening a connection for any reason. Safer than only checking "CONNECTING" as the state

Parameters ​

ParameterTypeDescription
keyWsKey-

Returns ​

boolean


isConnectionState() ​

ts
isConnectionState(key: WsKey, state: WsConnectionStateEnum): boolean;

Parameters ​

ParameterType
keyWsKey
stateWsConnectionStateEnum

Returns ​

boolean


isWsOpen() ​

ts
isWsOpen(key: WsKey): boolean;

Parameters ​

ParameterType
keyWsKey

Returns ​

boolean


rejectAllDeferredPromises() ​

ts
rejectAllDeferredPromises(wsKey: WsKey, reason: string): void;

Parameters ​

ParameterType
wsKeyWsKey
reasonstring

Returns ​

void


rejectDeferredPromise() ​

ts
rejectDeferredPromise(
   wsKey: WsKey, 
   promiseRef: string, 
   value: unknown, 
   removeAfter: boolean
): void;

Parameters ​

ParameterType
wsKeyWsKey
promiseRefstring
valueunknown
removeAfterboolean

Returns ​

void


removeAuthenticationInProgressPromise() ​

ts
removeAuthenticationInProgressPromise(wsKey: WsKey): void;

Parameters ​

ParameterType
wsKeyWsKey

Returns ​

void


removeConnectingInProgressPromise() ​

ts
removeConnectingInProgressPromise(wsKey: WsKey): void;

Remove promise designed to track a connection attempt in progress

Parameters ​

ParameterType
wsKeyWsKey

Returns ​

void


removeDeferredPromise() ​

ts
removeDeferredPromise(wsKey: WsKey, promiseRef: string): void;

Parameters ​

ParameterType
wsKeyWsKey
promiseRefstring

Returns ​

void


resolveDeferredPromise() ​

ts
resolveDeferredPromise(
   wsKey: WsKey, 
   promiseRef: string, 
   value: unknown, 
   removeAfter: boolean
): void;

Parameters ​

ParameterType
wsKeyWsKey
promiseRefstring
valueunknown
removeAfterboolean

Returns ​

void


setConnectionState() ​

ts
setConnectionState(key: WsKey, state: WsConnectionStateEnum): void;

Parameters ​

ParameterType
keyWsKey
stateWsConnectionStateEnum

Returns ​

void


setWs() ​

ts
setWs(key: WsKey, wsConnection: WebSocket): WebSocket;

Parameters ​

ParameterType
keyWsKey
wsConnectionWebSocket

Returns ​

WebSocket

Built by Siebly. Open source SDKs for exchange APIs.