@showbridge/lib
Version:
Main library for showbridge protocol router
42 lines (41 loc) • 1.51 kB
TypeScript
import { EventEmitter } from 'node:events';
import Config from './config.js';
import { RouterVars } from '@showbridge/types';
import Action from './actions/action.js';
import { Message } from './messages/index.js';
import { CloudProtocol, HTTPProtocol, MIDIProtocol, MQTTProtocol, TCPProtocol, UDPProtocol } from './protocols/index.js';
import Trigger from './triggers/trigger.js';
export type RouterProtocols = {
http: HTTPProtocol;
udp: UDPProtocol;
tcp: TCPProtocol;
midi: MIDIProtocol;
mqtt: MQTTProtocol;
cloud: CloudProtocol;
};
declare class Router extends EventEmitter {
vars: RouterVars;
_config: Config;
protocols: RouterProtocols;
constructor(config: Config);
set config(value: Config);
get config(): Config;
stop(): void;
start(): void;
setLogLevel(logLevel: any): void;
servePath(filePath: string): void;
processTrigger(trigger: Trigger<unknown>, triggerPath: string, msg: Message): void;
processMessage(msg: Message): void;
runAction(action: Action<unknown>, msg: Message, vars: RouterVars): void;
stopProtocol(type: string): void;
reloadProtocol(type: string): void;
disableAction(type: string): void;
enableAction(type: string): void;
disableProtocol(type: string): void;
enabledProtocol(type: string): void;
disableTrigger(type: string): void;
enableTrigger(type: string): void;
disableTransform(type: string): void;
enableTransform(type: string): void;
}
export default Router;