summaryrefslogtreecommitdiff
path: root/src/api.mjs
diff options
context:
space:
mode:
Diffstat (limited to 'src/api.mjs')
-rw-r--r--src/api.mjs27
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);
};