Skip to content

wenq1/extra-websocket

 
 

Repository files navigation

extra-websocket

Install

npm install --save extra-websocket
# or
yarn add extra-websocket

API

ExtraWebSocket

import { WebSocket, Event as OpenEvent, MessageEvent, ErrorEvent, CloseEvent } from 'ws'

enum BinaryType {
  NodeBuffer
, ArrayBuffer
, Fragments
}

enum State {
  Closed
, Connecting
, Connected
, Closing
}

class ExtraWebSocket {
  constructor(createWebSocket: () => WebSocket)

  getState(): State
  getBinaryType(): BinaryType
  setBinaryType(val: BinaryType): void

  connect(): Promise<void>
  close(code?: number, reason?: string): Promise<void>
  send(data: unknown): void
  ping(): void

  addEventListener(event: 'message', listener: (event: MessageEvent) => void): void
  addEventListener(event: 'close', listener: (event: CloseEvent) => void): void
  addEventListener(event: 'error', listener: (event: ErrorEvent) => void): void
  addEventListener(event: 'open', listener: (event: OpenEvent) => void): void

  removeEventListener(event: 'message', listener: (event: MessageEvent) => void): void
  removeEventListener(event: 'close', listener: (event: CloseEvent) => void): void
  removeEventListener(event: 'error', listener: (event: ErrorEvent) => void): void
  removeEventListener(event: 'open', listener: (event: OpenEvent) => void): void
}

autoReconnect

function autoReconnect(ws: ExtraWebSocket, timeout?: number): () => void

startHeartbeat

function startHeartbeat(ws: ExtraWebSocket, interval: number): () => void

About

🌱

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 94.4%
  • JavaScript 5.6%