Class: Subscription<T>
Defined in: src/channel/ws/subscription.ts:52
Represents an active WebSocket subscription.
This class should not be instantiated directly. It is returned by the
subscribe methods on the WebSocketChannel.
Example
const channel = new WebSocketChannel({ nodeUrl: 'YOUR_NODE_URL' });
await channel.waitForConnection();
// The 'sub' object is an instance of the Subscription class.
const sub = await channel.subscribeNewHeads();
sub.on((data) => {
console.log('Received new head:', data);
});
// ... later
await sub.unsubscribe();
Type Parameters
T
T = any
The type of data expected from the subscription event.
Constructors
Constructor
new Subscription<
T>(options):Subscription<T>
Defined in: src/channel/ws/subscription.ts:91
Internal
Parameters
options
Subscription configuration options
Returns
Subscription<T>
Properties
channel
channel:
WebSocketChannel
Defined in: src/channel/ws/subscription.ts:57
Internal
The containing WebSocketChannel instance.
method
method:
string
Defined in: src/channel/ws/subscription.ts:63
Internal
The JSON-RPC method used to create this subscription.
params
params:
any
Defined in: src/channel/ws/subscription.ts:69
Internal
The parameters used to create this subscription.
id
id:
string
Defined in: src/channel/ws/subscription.ts:75
Internal
The unique identifier for this subscription.
Accessors
isClosed
Get Signature
get isClosed():
boolean
Defined in: src/channel/ws/subscription.ts:103
Indicates if the subscription has been closed.
Returns
boolean
true if unsubscribed, false otherwise.
Methods
_handleEvent()
_handleEvent(
data):void
Defined in: src/channel/ws/subscription.ts:113
Internal
Internal method to handle incoming events from the WebSocket channel. If a handler is attached, it's invoked immediately. Otherwise, the event is buffered.
Parameters
data
T
The event data.
Returns
void
on()
on(
handler):void
Defined in: src/channel/ws/subscription.ts:134
Attaches a handler function to be called for each event.
When a handler is attached, any buffered events will be passed to it sequentially. Subsequent events will be passed directly as they arrive.
Parameters
handler
(data) => void
The function to call with event data.
Returns
void
Throws
If a handler is already attached to this subscription.
unsubscribe()
unsubscribe():
Promise<boolean>
Defined in: src/channel/ws/subscription.ts:155
Sends an unsubscribe request to the node and cleans up local resources.
Returns
Promise<boolean>
A Promise that resolves to true if the unsubscription was successful.