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
TypeScript
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;