UNPKG

plex-websocket

Version:

Read [Github](https://github.com/Forbidden-Duck/plex-websocket) README, in case of unpublished changes # Plex-Websocket A tool to allow JavaScript and Typescript users to aquire the full power of [plex-api](https://github.com/phillipj/node-plex-api) wit

58 lines (49 loc) 1.77 kB
import { EventEmitter } from "events"; import * as PlexAPI from "plex-api"; import * as ws from "ws"; declare function PlexWebsocket(PlexLogin: PlexAPI, onPacket: PlexWebsocket.onPacket): PlexWebsocket.WebsocketClient; /** * PLEASE REPORT ANY ISSUES OR MISTYPES ON THE GITHUB */ declare namespace PlexWebsocket { type onPacket = (type: types, data: object) => void; type types = "update.statechange" | "playing" | "backgroundProcessingQueue" | "progress" | "activity" | "unknown"; interface PACKETTYPES { UPDATESTATECHANGE: "update.statechange", PLAYING: "playing", BACKGROUNDPROCESSINGQUEUE: "backgroundProcessingQueue", PROGRESS: "progress", ACTIVITY: "activity", UNKNOWN: "unknown" } interface ClientEvents<T> { (event: "connect", listener: (id: string) => void): T; (event: "error", listener: (err: Error, id: string) => void): T; (event: "debug", listener: (message: string, id: string) => void): T; } export class WebsocketClient { hostname: PlexAPI.hostname; port: PlexAPI.port; token: PlexAPI.authToken; onPacket: onPacket; websocket: PlexWebsocket.Websocket; static PACKETTYPES: PACKETTYPES; constructor(PlexLogin: PlexAPI, onPacket: onPacket); } export class Websocket extends EventEmitter { PACKETTYPES: PACKETTYPES; id: string; url: string; ws?: ws; constructor(address: string, url: string, packet: onPacket); init(): Websocket; on: ClientEvents<this>; } export { PlexAPI } from "plex-api"; } export = PlexWebsocket;