Skip to main content
Version: v8.0.0

Socket


Import
import { Socket } from "@hyper-fetch/sockets"

Parameters​

class Socket<Adapter> {
constructor(options: SocketOptionsType<Adapter>) {};
url: string;
unstable_onSendCallbacks: SendCallbackType<EmitterInstance>[];
unstable_onReconnectFailedCallbacks: ReconnectFailedCallbackType[];
unstable_onReconnectCallbacks: ReconnectCallbackType[];
unstable_onMessageCallbacks: MessageCallbackType<any>[];
unstable_onErrorCallbacks: ErrorCallbackType<any>[];
unstable_onDisconnectCallbacks: CloseCallbackType[];
unstable_onConnectedCallbacks: OpenCallbackType[];
unstable_onConnectCallbacks: ConnectCallbackType<Adapter>[];
reconnectTime: number;
reconnectAttempts: number;
options: SocketOptionsType<Adapter>;
loggerManager: LoggerManager;
logger: LoggerMethods;
events: { emitConnected: () => void; emitConnecting: (__namedParameters: { connecting: boolean }) => void; emitDisconnected: () => void; emitEmitterError: <EmitterType>(__namedParameters: { emitter: EmitterType; error: Error }) => void; emitEmitterStartEvent: <EmitterType>(__namedParameters: { emitter: EmitterType }) => void; emitError: <ResponseType>(__namedParameters: { error: ResponseType }) => void; emitListenerEvent: <ResponseType>(__namedParameters: { data: ResponseType; extra: any; topic: string }) => void; emitListenerRemoveEvent: (__namedParameters: { topic: string }) => void; emitReconnecting: (__namedParameters: { attempts: number }) => void; emitReconnectingFailed: (__namedParameters: { attempts: number }) => void; onConnected: (callback: () => void) => VoidFunction; onConnecting: (callback: (__namedParameters: { connecting: boolean }) => void) => VoidFunction; onDisconnected: (callback: () => void) => VoidFunction; onEmitterError: <EmitterType>(callback: (__namedParameters: { emitter: EmitterType; error: Error }) => void) => VoidFunction; onEmitterErrorByTopic: <EmitterType>(emitter: Pick<EmitterType, topic>, callback: (__namedParameters: { emitter: EmitterType; error: Error }) => void) => VoidFunction; onEmitterStartEvent: <EmitterType>(callback: (__namedParameters: { emitter: EmitterType }) => void) => VoidFunction; onEmitterStartEventByTopic: <EmitterType>(emitter: Pick<EmitterType, topic>, callback: (__namedParameters: { emitter: EmitterType }) => void) => VoidFunction; onError: (callback: <ResponseType>(__namedParameters: { error: ResponseType }) => void) => VoidFunction; onListenerEvent: <ResponseType>(callback: (__namedParameters: { data: ResponseType; extra: any; topic: string }) => void) => VoidFunction; onListenerEventByTopic: <ListenerType>(listener: Pick<ListenerType, topic>, callback: (__namedParameters: { data: ResponseType; extra: any; topic: string }) => void) => VoidFunction; onListenerRemove: (callback: (__namedParameters: { topic: string }) => void) => VoidFunction; onListenerRemoveByTopic: <ListenerType>(listener: Pick<ListenerType, topic>, callback: (__namedParameters: { topic: string }) => void) => VoidFunction; onReconnecting: (callback: (__namedParameters: { attempts: number }) => void) => VoidFunction; onReconnectingFailed: (callback: (__namedParameters: { attempts: number }) => void) => VoidFunction };
emitter: EventEmitter;
debug: boolean;
autoConnect: boolean;
appManager: AppManager;
adapter: Adapter;
connect() => Promise<void>;
createEmitter<Payload>() => <Endpoint>(options: EmitterOptionsType<Endpoint, Adapter>) => Emitter<Payload, Endpoint, Socket<Adapter>, false, false>;
createListener<Response>() => <Topic, Delivery>(options: ListenerOptionsType<Topic, Adapter, Response, Delivery>) => Listener<Response, Topic, Socket<Adapter>, false, ResolveDeliveredType<Response, Delivery>>;
disconnect() => Promise<void>;
onConnect(callback: ConnectCallbackType<Adapter>) => Socket<Adapter>;
onConnected(callback: OpenCallbackType) => Socket<Adapter>;
onDisconnected(callback: CloseCallbackType) => Socket<Adapter>;
onError<Event>(callback: ErrorCallbackType<Event>) => Socket<Adapter>;
onMessage<Event>(callback: MessageCallbackType<Event>) => Socket<Adapter>;
onReconnect(callback: ReconnectCallbackType) => Socket<Adapter>;
onReconnectFailed(callback: ReconnectFailedCallbackType) => Socket<Adapter>;
onSend(callback: SendCallbackType<EmitterInstance>) => Socket<Adapter>;
reconnect() => Promise<void>;
setDebug(enabled: boolean) => Socket<Adapter>;
setLogLevel(level: LogLevel) => Socket<Adapter>;
setLogger(callback: (socket: Socket<Adapter>) => LoggerManager) => Socket<Adapter>;
setQueryParams(queryParams: ExtractAdapterQueryParamsType<Adapter>) => Socket<Adapter>;
unstable__modifyConnection(data: { attempt: number; connection: SocketConnectionType<Adapter> }) => Promise<SocketConnectionType<Adapter>>;
unstable__modifyResponse(data: { data: any; extra: ExtractAdapterExtraType<Adapter> }) => { data: any; extra: any };
unstable__modifySend(emitter: EmitterInstance) => EmitterInstance;
}
Parameters
NameTypeDescription
options
SocketOptionsType<Adapter>

Properties​

adapter​

Type
Adapter

appManager​

Type
AppManager

autoConnect​

Type
boolean

debug​

Type
boolean

emitter​

Type
EventEmitter

events​

Type
{ emitConnected: () => void; emitConnecting: (__namedParameters: { connecting: boolean }) => void; emitDisconnected: () => void; emitEmitterError: <EmitterType>(__namedParameters: { emitter: EmitterType; error: Error }) => void; emitEmitterStartEvent: <EmitterType>(__namedParameters: { emitter: EmitterType }) => void; emitError: <ResponseType>(__namedParameters: { error: ResponseType }) => void; emitListenerEvent: <ResponseType>(__namedParameters: { data: ResponseType; extra: any; topic: string }) => void; emitListenerRemoveEvent: (__namedParameters: { topic: string }) => void; emitReconnecting: (__namedParameters: { attempts: number }) => void; emitReconnectingFailed: (__namedParameters: { attempts: number }) => void; onConnected: (callback: () => void) => VoidFunction; onConnecting: (callback: (__namedParameters: { connecting: boolean }) => void) => VoidFunction; onDisconnected: (callback: () => void) => VoidFunction; onEmitterError: <EmitterType>(callback: (__namedParameters: { emitter: EmitterType; error: Error }) => void) => VoidFunction; onEmitterErrorByTopic: <EmitterType>(emitter: Pick<EmitterType, topic>, callback: (__namedParameters: { emitter: EmitterType; error: Error }) => void) => VoidFunction; onEmitterStartEvent: <EmitterType>(callback: (__namedParameters: { emitter: EmitterType }) => void) => VoidFunction; onEmitterStartEventByTopic: <EmitterType>(emitter: Pick<EmitterType, topic>, callback: (__namedParameters: { emitter: EmitterType }) => void) => VoidFunction; onError: (callback: <ResponseType>(__namedParameters: { error: ResponseType }) => void) => VoidFunction; onListenerEvent: <ResponseType>(callback: (__namedParameters: { data: ResponseType; extra: any; topic: string }) => void) => VoidFunction; onListenerEventByTopic: <ListenerType>(listener: Pick<ListenerType, topic>, callback: (__namedParameters: { data: ResponseType; extra: any; topic: string }) => void) => VoidFunction; onListenerRemove: (callback: (__namedParameters: { topic: string }) => void) => VoidFunction; onListenerRemoveByTopic: <ListenerType>(listener: Pick<ListenerType, topic>, callback: (__namedParameters: { topic: string }) => void) => VoidFunction; onReconnecting: (callback: (__namedParameters: { attempts: number }) => void) => VoidFunction; onReconnectingFailed: (callback: (__namedParameters: { attempts: number }) => void) => VoidFunction }

logger​

Type
LoggerMethods

loggerManager​

Type
LoggerManager

options​

Type
SocketOptionsType<Adapter>

reconnectAttempts​

Type
number

reconnectTime​

Type
number

unstable_onConnectCallbacks​

Type
ConnectCallbackType<Adapter>[]

unstable_onConnectedCallbacks​

Type
OpenCallbackType[]

unstable_onDisconnectCallbacks​

Type
CloseCallbackType[]

unstable_onErrorCallbacks​

Type
ErrorCallbackType<any>[]

unstable_onMessageCallbacks​

Type
MessageCallbackType<any>[]

unstable_onReconnectCallbacks​

Type
ReconnectCallbackType[]

unstable_onReconnectFailedCallbacks​

Type
ReconnectFailedCallbackType[]

unstable_onSendCallbacks​

Type
SendCallbackType<EmitterInstance>[]

url​

Type
string

Methods​

connect()​

This method connects the socket to the server

Preview
connect()
Returns
Promise<void>

createEmitter()​

Create event emitter

Preview
createEmitter<Payload>()
Returns
<Endpoint>(options: EmitterOptionsType<Endpoint, Adapter>) => Emitter<Payload, Endpoint, Socket<Adapter>, false, false>

createListener()​

Create event listener

Preview
createListener<Response>()
Returns
<Topic, Delivery>(options: ListenerOptionsType<Topic, Adapter, Response, Delivery>) => Listener<Response, Topic, Socket<Adapter>, false, ResolveDeliveredType<Response, Delivery>>

disconnect()​

This method disconnects the socket from the server

Preview
disconnect()
Returns
Promise<void>

onConnect()​

Triggered before every connection attempt (initial, automatic and manual reconnect). Receives the connection details ( url , queryParams , adapterOptions ) and must return them, optionally modified. Use it to resolve values that change over time - like auth tokens - right when they are needed.

Preview
onConnect(callback: ConnectCallbackType<Adapter>)
Parameters
Parameters
NameTypeDescription
callback
ConnectCallbackType<Adapter>
Returns
Socket<Adapter>

onConnected()​

Triggered when connection is opened

Preview
onConnected(callback: OpenCallbackType)
Parameters
Parameters
NameTypeDescription
callback
OpenCallbackType
Returns
Socket<Adapter>

onDisconnected()​

Triggered when connection is closed

Preview
onDisconnected(callback: CloseCallbackType)
Parameters
Parameters
NameTypeDescription
callback
CloseCallbackType
Returns
Socket<Adapter>

onError()​

Triggered when we receive error

Preview
onError<Event>(callback: ErrorCallbackType<Event>)
Parameters
Parameters
NameTypeDescription
callback
ErrorCallbackType<Event>
Returns
Socket<Adapter>

onMessage()​

Triggered when any message is received

Preview
onMessage<Event>(callback: MessageCallbackType<Event>)
Parameters
Parameters
NameTypeDescription
callback
MessageCallbackType<Event>
Returns
Socket<Adapter>

onReconnect()​

Triggered when connection is getting reconnected

Preview
onReconnect(callback: ReconnectCallbackType)
Parameters
Parameters
NameTypeDescription
callback
ReconnectCallbackType
Returns
Socket<Adapter>

onReconnectFailed()​

Triggered when connection attempts are stopped

Preview
onReconnectFailed(callback: ReconnectFailedCallbackType)
Parameters
Parameters
NameTypeDescription
callback
ReconnectFailedCallbackType
Returns
Socket<Adapter>

onSend()​

Triggered when any event is emitted

Preview
onSend(callback: SendCallbackType<EmitterInstance>)
Parameters
Parameters
NameTypeDescription
callback
SendCallbackType<EmitterInstance>
Returns
Socket<Adapter>

reconnect()​

This method reconnect the socket to the server

Preview
reconnect()
Returns
Promise<void>

setDebug()​

This method enables the logger usage and display the logs in console

Preview
setDebug(enabled: boolean)
Parameters
Parameters
NameTypeDescription
enabled
boolean
Returns
Socket<Adapter>

setLogLevel()​

Set the logger severity of the messages displayed to the console

Preview
setLogLevel(level: LogLevel)
Parameters
Parameters
NameTypeDescription
level
LogLevel
Returns
Socket<Adapter>

setLogger()​

Set the new logger instance to the socket

Preview
setLogger(callback: (socket: Socket<Adapter>) => LoggerManager)
Parameters
Parameters
NameTypeDescription
callback
(socket: Socket<Adapter>) => LoggerManager
Returns
Socket<Adapter>

setQueryParams()​

Set the default query params used by the next connection attempts. Call reconnect() to apply them to a live connection, or use onConnect to resolve them per attempt.

Preview
setQueryParams(queryParams: ExtractAdapterQueryParamsType<Adapter>)
Parameters
Parameters
NameTypeDescription
queryParams
ExtractAdapterQueryParamsType<Adapter>
Returns
Socket<Adapter>

unstable__modifyConnection()​


Interceptors


Preview
unstable__modifyConnection(data: { attempt: number; connection: SocketConnectionType<Adapter> })
Parameters
Parameters
NameTypeDescription
data
{ attempt: number; connection: SocketConnectionType<Adapter> }
Returns
Promise<SocketConnectionType<Adapter>>

unstable__modifyResponse()​

Preview
unstable__modifyResponse(data: { data: any; extra: ExtractAdapterExtraType<Adapter> })
Parameters
Parameters
NameTypeDescription
data
{ data: any; extra: ExtractAdapterExtraType<Adapter> }
Returns
unstable__modifyResponse
NameTypeDescription
data
any
extra
any

unstable__modifySend()​

Preview
unstable__modifySend(emitter: EmitterInstance)
Parameters
Parameters
NameTypeDescription
emitter
EmitterInstance
Returns
EmitterInstance