@meyer/hyperdeck-emulator
Version:
Typescript Node.js library for emulating a Blackmagic Hyperdeck
29 lines • 1.21 kB
TypeScript
/// <reference types="node" />
import type { Socket } from 'net';
import { EventEmitter } from 'events';
import { DeserializedCommand, ErrorCode, NotifyType, ResponseCode, TypesByStringKey } from './types';
import type { Logger } from 'pino';
interface ResponseWithMessage {
code: ErrorCode;
message: string;
}
interface ResponseWithParams {
code: ResponseCode;
params?: Record<string, any>;
}
export declare type ReceivedCommandCallback = (cmd: DeserializedCommand) => Promise<ResponseCode | ResponseWithParams | ResponseWithMessage>;
export declare class HyperDeckSocket extends EventEmitter {
private socket;
private logger;
private receivedCommand;
constructor(socket: Socket, logger: Logger, receivedCommand: ReceivedCommandCallback);
private parser;
private lastReceivedMS;
private watchdogTimer;
private notifySettings;
private onMessage;
sendResponse(code: ResponseCode, paramsOrMessage?: Record<string, TypesByStringKey[keyof TypesByStringKey]> | string, cmd?: DeserializedCommand): void;
notify(type: NotifyType, params: Record<string, string>): void;
}
export {};
//# sourceMappingURL=HyperDeckSocket.d.ts.map