Class: WsStore<WsKey extends string, TWSTopicSubscribeEventArgs extends string | object>
Type Parameters
| Type Parameter |
|---|
WsKey extends string |
TWSTopicSubscribeEventArgs extends string | object |
Constructors
Constructor
new WsStore<WsKey extends string, TWSTopicSubscribeEventArgs extends string | object>(logger: object): WsStore<WsKey, TWSTopicSubscribeEventArgs>;Parameters
| Parameter | Type | Description |
|---|---|---|
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) => void | Ping/pong events and other raw messages that might be noisy. Enable this while troubleshooting. |
Returns
WsStore<WsKey, TWSTopicSubscribeEventArgs>
Methods
addTopic()
addTopic(key: WsKey, topic: TWSTopicSubscribeEventArgs): Set<TWSTopicSubscribeEventArgs>;Parameters
| Parameter | Type |
|---|---|
key | WsKey |
topic | TWSTopicSubscribeEventArgs |
Returns
Set<TWSTopicSubscribeEventArgs>
create()
create(key: WsKey):
| WsStoredState<TWSTopicSubscribeEventArgs>
| undefined;Parameters
| Parameter | Type |
|---|---|
key | WsKey |
Returns
| WsStoredState<TWSTopicSubscribeEventArgs> | undefined
createAuthenticationInProgressPromise()
createAuthenticationInProgressPromise(wsKey: WsKey, throwIfExists: boolean): DeferredPromise<WSConnectedResult & object>;Parameters
| Parameter | Type |
|---|---|
wsKey | WsKey |
throwIfExists | boolean |
Returns
DeferredPromise<WSConnectedResult & object>
createConnectionInProgressPromise()
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
| Parameter | Type |
|---|---|
wsKey | WsKey |
throwIfExists | boolean |
Returns
DeferredPromise<WSConnectedResult>
createDeferredPromise()
createDeferredPromise<TSuccessResult = any>(
wsKey: WsKey,
promiseRef: string,
throwIfExists: boolean
): DeferredPromise<TSuccessResult>;Type Parameters
| Type Parameter | Default type |
|---|---|
TSuccessResult | any |
Parameters
| Parameter | Type |
|---|---|
wsKey | WsKey |
promiseRef | string |
throwIfExists | boolean |
Returns
DeferredPromise<TSuccessResult>
delete()
delete(key: WsKey): void;Parameters
| Parameter | Type |
|---|---|
key | WsKey |
Returns
void
deleteTopic()
deleteTopic(key: WsKey, topic: TWSTopicSubscribeEventArgs): Set<TWSTopicSubscribeEventArgs>;Parameters
| Parameter | Type |
|---|---|
key | WsKey |
topic | TWSTopicSubscribeEventArgs |
Returns
Set<TWSTopicSubscribeEventArgs>
get()
Call Signature
get(key: WsKey, createIfMissing?: true): WsStoredState<TWSTopicSubscribeEventArgs>;Get WS stored state for key, optionally create if missing
Parameters
| Parameter | Type |
|---|---|
key | WsKey |
createIfMissing? | true |
Returns
WsStoredState<TWSTopicSubscribeEventArgs>
Call Signature
get(key: WsKey, createIfMissing?: false):
| WsStoredState<TWSTopicSubscribeEventArgs>
| undefined;Get WS stored state for key, optionally create if missing
Parameters
| Parameter | Type |
|---|---|
key | WsKey |
createIfMissing? | false |
Returns
| WsStoredState<TWSTopicSubscribeEventArgs> | undefined
getAuthenticationInProgressPromise()
getAuthenticationInProgressPromise(wsKey: WsKey):
| DeferredPromise<WSConnectedResult & object, any>
| undefined;Parameters
| Parameter | Type |
|---|---|
wsKey | WsKey |
Returns
| DeferredPromise<WSConnectedResult & object, any> | undefined
getConnectionInProgressPromise()
getConnectionInProgressPromise(wsKey: WsKey):
| DeferredPromise<WSConnectedResult, any>
| undefined;Get promise designed to track a connection attempt in progress. Resolves once connected.
Parameters
| Parameter | Type |
|---|---|
wsKey | WsKey |
Returns
| DeferredPromise<WSConnectedResult, any> | undefined
getConnectionState()
getConnectionState(key: WsKey): WsConnectionStateEnum;Parameters
| Parameter | Type |
|---|---|
key | WsKey |
Returns
getDeferredPromise()
getDeferredPromise<TSuccessResult = any>(wsKey: WsKey, promiseRef: string):
| DeferredPromise<TSuccessResult, any>
| undefined;deferred promises
Type Parameters
| Type Parameter | Default type |
|---|---|
TSuccessResult | any |
Parameters
| Parameter | Type |
|---|---|
wsKey | WsKey |
promiseRef | string |
Returns
| DeferredPromise<TSuccessResult, any> | undefined
getKeys()
getKeys(): WsKey[];Returns
WsKey[]
getMatchingTopic()
getMatchingTopic(key: WsKey, topic: TWSTopicSubscribeEventArgs): TWSTopicSubscribeEventArgs | undefined;Find matching "topic" request from the store
Parameters
| Parameter | Type | Description |
|---|---|---|
key | WsKey | - |
topic | TWSTopicSubscribeEventArgs | - |
Returns
TWSTopicSubscribeEventArgs | undefined
getTopics()
getTopics(key: WsKey): Set<TWSTopicSubscribeEventArgs>;Parameters
| Parameter | Type |
|---|---|
key | WsKey |
Returns
Set<TWSTopicSubscribeEventArgs>
getTopicsByKey()
getTopicsByKey(): Record<string, Set<TWSTopicSubscribeEventArgs>>;Returns
Record<string, Set<TWSTopicSubscribeEventArgs>>
getWs()
getWs(key: WsKey): WebSocket | undefined;Parameters
| Parameter | Type |
|---|---|
key | WsKey |
Returns
WebSocket | undefined
hasExistingActiveConnection()
hasExistingActiveConnection(key: WsKey): boolean;Parameters
| Parameter | Type |
|---|---|
key | WsKey |
Returns
boolean
isConnectionAttemptInProgress()
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
| Parameter | Type | Description |
|---|---|---|
key | WsKey | - |
Returns
boolean
isConnectionState()
isConnectionState(key: WsKey, state: WsConnectionStateEnum): boolean;Parameters
| Parameter | Type |
|---|---|
key | WsKey |
state | WsConnectionStateEnum |
Returns
boolean
isWsOpen()
isWsOpen(key: WsKey): boolean;Parameters
| Parameter | Type |
|---|---|
key | WsKey |
Returns
boolean
rejectAllDeferredPromises()
rejectAllDeferredPromises(wsKey: WsKey, reason: string): void;Parameters
| Parameter | Type |
|---|---|
wsKey | WsKey |
reason | string |
Returns
void
rejectDeferredPromise()
rejectDeferredPromise(
wsKey: WsKey,
promiseRef: string,
value: unknown,
removeAfter: boolean
): void;Parameters
| Parameter | Type |
|---|---|
wsKey | WsKey |
promiseRef | string |
value | unknown |
removeAfter | boolean |
Returns
void
removeAuthenticationInProgressPromise()
removeAuthenticationInProgressPromise(wsKey: WsKey): void;Parameters
| Parameter | Type |
|---|---|
wsKey | WsKey |
Returns
void
removeConnectingInProgressPromise()
removeConnectingInProgressPromise(wsKey: WsKey): void;Remove promise designed to track a connection attempt in progress
Parameters
| Parameter | Type |
|---|---|
wsKey | WsKey |
Returns
void
removeDeferredPromise()
removeDeferredPromise(wsKey: WsKey, promiseRef: string): void;Parameters
| Parameter | Type |
|---|---|
wsKey | WsKey |
promiseRef | string |
Returns
void
resolveDeferredPromise()
resolveDeferredPromise(
wsKey: WsKey,
promiseRef: string,
value: unknown,
removeAfter: boolean
): void;Parameters
| Parameter | Type |
|---|---|
wsKey | WsKey |
promiseRef | string |
value | unknown |
removeAfter | boolean |
Returns
void
setConnectionState()
setConnectionState(key: WsKey, state: WsConnectionStateEnum): void;Parameters
| Parameter | Type |
|---|---|
key | WsKey |
state | WsConnectionStateEnum |
Returns
void
setWs()
setWs(key: WsKey, wsConnection: WebSocket): WebSocket;Parameters
| Parameter | Type |
|---|---|
key | WsKey |
wsConnection | WebSocket |
Returns
WebSocket