@duncte123/obs-websocket-js
Version:
OBS Websocket API in Javascript, consumes @Palakis/obs-websocket
27 lines (26 loc) • 1.64 kB
TypeScript
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;
}