Skip to main content
Module

x/tpy/mod.ts>TpyWs

🔑 A strongly typed Pylon API client.
Go to Latest
class TpyWs
Re-export
import { TpyWs } from "https://deno.land/x/tpy@v1.0.0-pre-release-4/mod.ts";

This class forwards WebSocket recieving events to create a persistant stream to keep listeners active with automatic reconnection (with customizable timeouts).

Constructors

new
TpyWs(
tpyInstance: Tpy,
deploymentID: StringifiedNumber,
reconnectionTimeout?,
)

Properties

private
optional
_websocket: WebSocket
private
deploymentID: StringifiedNumber
private
reconnectionTimout: number
private
tpyClient: Tpy
private
tryToConnect: boolean
eventEmitter: EventEmitter

TpyWs uses a proxy stream that ensures the process (or at least the stream) is not terminated. This is that proxy stream.

readonly
messageTypes:
| "message"
| "open"
| "close"
| "error"
[]
readonly
websocket

The raw WebSocket object.

Methods

private
onClose(event: CloseEvent)
private
onError(event: Event | ErrorEvent)
private
onMessage(event: MessageEvent<string>)
private
onOpen(event: Event)

Closes the WebSocket connection, reconnection will not be attempted.

Retrieves the workbench URL and ties the WebSocket events to an event emitter.

on(type: "open", callback: (data: Event) => void): EventEmitter

Adds an event listener to WebSocket events.

on(type: "close", callback: (data: CloseEvent) => void): EventEmitter

Adds an event listener to WebSocket events.

on(type: "error", callback: (data: ErrorEvent | Event) => void): EventEmitter

Adds an event listener to WebSocket events.

on<T extends unknown[]>(type: "message", callback: (data: Unpacked<Pylon.WebSocket.Response<T>>) => void): EventEmitter

Adds an event listener to WebSocket events.