Socket
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;
}
| Name | Type | Description |
|---|---|---|
| options | |
Properties
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 }
Methods
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
| Name | Type | Description |
|---|---|---|
| callback | |
Returns
Socket<Adapter>
onConnected()
Triggered when connection is opened
Preview
onConnected(callback: OpenCallbackType)
Parameters
| Name | Type | Description |
|---|---|---|
| callback | |
Returns
Socket<Adapter>
onDisconnected()
Triggered when connection is closed
Preview
onDisconnected(callback: CloseCallbackType)
Parameters
| Name | Type | Description |
|---|---|---|
| callback | |
Returns
Socket<Adapter>
onError()
Triggered when we receive error
Preview
onError<Event>(callback: ErrorCallbackType<Event>)
Parameters
| Name | Type | Description |
|---|---|---|
| callback | |
Returns
Socket<Adapter>
onMessage()
Triggered when any message is received
Preview
onMessage<Event>(callback: MessageCallbackType<Event>)
Parameters
| Name | Type | Description |
|---|---|---|
| callback | |
Returns
Socket<Adapter>
onReconnect()
Triggered when connection is getting reconnected
Preview
onReconnect(callback: ReconnectCallbackType)
Parameters
| Name | Type | Description |
|---|---|---|
| callback | |
Returns
Socket<Adapter>
onReconnectFailed()
Triggered when connection attempts are stopped
Preview
onReconnectFailed(callback: ReconnectFailedCallbackType)
Parameters
| Name | Type | Description |
|---|---|---|
| callback | |
Returns
Socket<Adapter>
onSend()
Triggered when any event is emitted
Preview
onSend(callback: SendCallbackType<EmitterInstance>)
Parameters
| Name | Type | Description |
|---|---|---|
| callback | |
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
| Name | Type | Description |
|---|---|---|
| enabled | |
Returns
Socket<Adapter>
setLogLevel()
Set the logger severity of the messages displayed to the console
Preview
setLogLevel(level: LogLevel)
Parameters
| Name | Type | Description |
|---|---|---|
| level | |
Returns
Socket<Adapter>
setLogger()
Set the new logger instance to the socket
Preview
setLogger(callback: (socket: Socket<Adapter>) => LoggerManager)
Parameters
| Name | Type | Description |
|---|---|---|
| callback | |
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
| Name | Type | Description |
|---|---|---|
| queryParams | |
Returns
Socket<Adapter>
unstable__modifyConnection()
Interceptors
Preview
unstable__modifyConnection(data: { attempt: number; connection: SocketConnectionType<Adapter> })
Parameters
| Name | Type | Description |
|---|---|---|
| data | |
Returns
Promise<SocketConnectionType<Adapter>>
unstable__modifyResponse()
Preview
unstable__modifyResponse(data: { data: any; extra: ExtractAdapterExtraType<Adapter> })
Parameters
| Name | Type | Description |
|---|---|---|
| data | |
Returns
| Name | Type | Description |
|---|---|---|
| data | | |
| extra | |
unstable__modifySend()
Preview
unstable__modifySend(emitter: EmitterInstance)
Parameters
| Name | Type | Description |
|---|---|---|
| emitter | |
Returns
EmitterInstance
