diff options
Diffstat (limited to 'src/api.mjs')
-rw-r--r-- | src/api.mjs | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/src/api.mjs b/src/api.mjs index fb62adc..31bb09e 100644 --- a/src/api.mjs +++ b/src/api.mjs @@ -3,23 +3,18 @@ import process from "node:process"; import * as ircd from "./ircd.mjs"; import * as web from "./web.mjs"; -export const main = async () => { - if (process.argv.length === 3 && process.argv[2] === "-V") { - console.log("papo 1970-01-01 0.1.0"); - return; - } - - if (process.argv[2] === "ircd") { - await ircd.app(process.argv[3]); - return; - } +const SUBCOMMANDS = { + ircd: ircd.app, + web: web.app, +}; - if (process.argv[2] === "web") { - await web.app(process.argv[3]); - return; +export const main = async () => { + const [_node, _file, cmdName, ...args] = process.argv; + const cmd = SUBCOMMANDS[cmdName]; + if (cmd === undefined) { + console.error("Usage: papo SUBCOMMAND [OPTIONS]"); + return process.exit(2); } - console.log({ - argv: process.argv, - }); + await cmd(...args); }; |