hubot-command-mapper
Version:
Helps with mapping tools and commands to Hubot.
29 lines (28 loc) • 913 B
JavaScript
import { defaultOptions } from "../entities/options.mjs";
import { map_tool } from "../index.mjs";
export function map_command(robot, command, args) {
let callback = args.find(a => a instanceof Function);
if (!callback)
throw "Missing callback function.";
let parameters = args.filter(a => a.name);
let options = args.find(a => a.addDebugCommand ||
a.addHelpCommand ||
a.invalidSyntaxHelpPrefix ||
a.invalidSyntaxMessage ||
a.notAuthorizedMessage ||
a.replacedByBot ||
a.showHelpOnInvalidSyntax ||
a.showInvalidSyntax) || defaultOptions;
let tool = {
name: command,
commands: [
{
name: "cmd",
parameters: parameters,
alias: [""],
execute: context => callback(context)
}
]
};
map_tool(robot, tool, options);
}