import { EncodeForHTML } from "../Utilities.js"; export class ConsoleCommand { constructor(name, parameters, summary, syntax, extendedHelp, callback) { this.Name = name; this.Parameters = parameters; this.Summary = summary; this.Syntax = syntax; this.ExtendedHelp = extendedHelp; this.Callback = callback; } get FullHelp() { if (this.ExtendedHelp) { var fullHelp = this.PartialHelp.substring(0, this.PartialHelp.lastIndexOf("")); fullHelp += "

Extended Help:
" + this.ExtendedHelp + ""; return fullHelp; } else { return this.PartialHelp; } } get PartialHelp() { var partialHelp = `
Summary: ${EncodeForHTML(this.Summary)}
Syntax: ${EncodeForHTML(this.Syntax).trim()}
`; if (this.Parameters.length > 0) { partialHelp += "
"; partialHelp += `
Parameters:
`; for (var i = 0; i < this.Parameters.length; i++) { var paramText = ""; if (this.Parameters[i].ParameterType) { paramText = ` [${EncodeForHTML(this.Parameters[i].ParameterType)}]`; } partialHelp += `
-${EncodeForHTML(this.Parameters[i].Name)}${EncodeForHTML(paramText)}: ${EncodeForHTML(this.Parameters[i].Summary).trim()}
`; } partialHelp += "
"; } partialHelp += "
"; return partialHelp; } Execute(parameters) { var paramDictionary = {}; parameters.forEach(x => { paramDictionary[x.Name.toLowerCase()] = x.Value; }); this.Callback(parameters, paramDictionary); } } //# sourceMappingURL=ConsoleCommand.js.map