Skip to content

Latest commit

 

History

History
476 lines (239 loc) · 8.44 KB

NostrWSClient.md

File metadata and controls

476 lines (239 loc) · 8.44 KB

nostr-websocket-utils v0.3.0


nostr-websocket-utils / NostrWSClient

Class: NostrWSClient

WebSocket client implementation for Nostr protocol communication Extends EventEmitter to provide event-based message handling

Extends

  • EventEmitter

Constructors

new NostrWSClient()

new NostrWSClient(url, options): NostrWSClient

Parameters

url

string

options

Partial<NostrWSOptions> = {}

Returns

NostrWSClient

Overrides

EventEmitter.constructor

Defined in

core/client.ts:62

Properties

ws

private ws: null | ExtendedWebSocket = null

Defined in

core/client.ts:50


state

private state: ConnectionState = ConnectionState.DISCONNECTED

Defined in

core/client.ts:51


messageQueue

private messageQueue: MessageQueue

Defined in

core/client.ts:52


reconnectTimeout

private reconnectTimeout: null | Timeout = null

Defined in

core/client.ts:53


heartbeatInterval

private heartbeatInterval: null | Timeout = null

Defined in

core/client.ts:54


heartbeatTimeout

private heartbeatTimeout: null | Timeout = null

Defined in

core/client.ts:55


missedHeartbeats

private missedHeartbeats: number = 0

Defined in

core/client.ts:56


reconnectAttempts

private reconnectAttempts: number = 0

Defined in

core/client.ts:57


subscriptions

private subscriptions: Map<string, NostrWSMessage>

Defined in

core/client.ts:58


clientId

private readonly clientId: string

Defined in

core/client.ts:59


options

private readonly options: NostrWSOptions

Defined in

core/client.ts:60


url

private readonly url: string

Defined in

core/client.ts:62

Accessors

connectionState

Get Signature

get connectionState(): ConnectionState

Gets the current connection state

Returns

ConnectionState

Defined in

core/client.ts:95

Methods

setState()

private setState(newState): void

Updates the connection state and notifies handlers

Parameters

newState

ConnectionState

Returns

void

Defined in

core/client.ts:102


connect()

connect(): Promise<void>

Establishes a connection to the WebSocket server

Returns

Promise<void>

Defined in

core/client.ts:111


setupEventHandlers()

private setupEventHandlers(): void

Sets up event handlers for the WebSocket connection

Returns

void

Defined in

core/client.ts:156


startHeartbeat()

private startHeartbeat(): void

Starts the heartbeat mechanism

Returns

void

Defined in

core/client.ts:190


handleHeartbeatResponse()

private handleHeartbeatResponse(): void

Handles heartbeat responses

Returns

void

Defined in

core/client.ts:217


stopHeartbeat()

private stopHeartbeat(): void

Stops the heartbeat mechanism

Returns

void

Defined in

core/client.ts:229


handleConnectionError()

private handleConnectionError(error): void

Handles connection errors

Parameters

error

Error

Returns

void

Defined in

core/client.ts:243


handleDisconnection()

private handleDisconnection(): void

Handles disconnection and cleanup

Returns

void

Defined in

core/client.ts:252


reconnect()

private reconnect(): void

Initiates reconnection with exponential backoff

Returns

void

Defined in

core/client.ts:267


subscribe()

subscribe(channel, filter?): void

Subscribes to a channel with optional filter

Parameters

channel

string

filter?

unknown

Returns

void

Defined in

core/client.ts:306


resubscribeAll()

private resubscribeAll(): void

Resubscribes to all active subscriptions

Returns

void

Defined in

core/client.ts:320


unsubscribe()

unsubscribe(channel): void

Unsubscribes from a channel

Parameters

channel

string

Returns

void

Defined in

core/client.ts:329


flushMessageQueue()

private flushMessageQueue(): Promise<void>

Flushes the message queue by sending pending messages

Returns

Promise<void>

Defined in

core/client.ts:344


sendImmediate()

private sendImmediate(message): Promise<void>

Sends a message immediately without queueing

Parameters

message

NostrWSMessage

Returns

Promise<void>

Defined in

core/client.ts:362


send()

send(message): Promise<void>

Sends a message to the WebSocket server

Parameters

message

NostrWSMessage

Returns

Promise<void>

Defined in

core/client.ts:382


close()

close(): void

Closes the WebSocket connection

Returns

void

Defined in

core/client.ts:404