UNPKG

@duncte123/obs-websocket-js

Version:

OBS Websocket API in Javascript, consumes @Palakis/obs-websocket

27 lines (26 loc) 1.64 kB
import { Socket } from './Socket.js'; import { Callback, RequestMethodReturnMap, RequestMethodsArgsMap } from './typings/obsWebsocket'; export declare class OBSWebSocket extends Socket { private static requestCounter; private static generateMessageId; /** * Generic Socket request method. Returns a promise. * Generates a messageId internally and will override any passed in the args. * Note that the requestType here is pre-marshaling and currently must match exactly what the websocket plugin is expecting. * * @param {String} requestType obs-websocket plugin expected request type. * @param {Object} [args={}] request arguments. * @return {Promise} Promise, passes the plugin response object. */ send<K extends keyof RequestMethodsArgsMap>(requestType: K, args?: RequestMethodsArgsMap[K] extends object ? RequestMethodsArgsMap[K] : undefined): Promise<RequestMethodReturnMap[K]>; /** * Generic Socket request method. Handles callbacks. * Internally calls `send` (which is promise-based). See `send`'s docs for more details. * * @param {String} requestType obs-websocket plugin expected request type. * @param {Object} [args={}] request arguments. * @param {Function} callback Optional. callback(err, data) * @deprecated This method is not fun to maintain in typescript, use the promise api instead */ sendCallback<K extends keyof RequestMethodsArgsMap>(requestType: K, args?: RequestMethodsArgsMap[K] extends object ? RequestMethodsArgsMap[K] : Callback<K>, callback?: Callback<K> | undefined): void; }