feat: use minimist to refactor cli

This commit is contained in:
wancat committed 2023-08-21 20:40:05 +08:00
1 parent 6ace18475b
commit 34d5ace664
5 files changed
+48 -41

No files matched your search

+5 -7
View File
@@ -1,6 +1,7 @@
/* eslint-disable no-restricted-syntax */
const fs = require('fs').promises
const { exit } = require('process')
const minimist = require('minimist')
const { colorize, printResponses } = require('./print.js')
const discoverFiles = require('./discover.js')
@@ -12,21 +13,18 @@ async function readOrNone(file) {
}
}
function parseCommand(command) {
const [name, ...args] = command.trim().split(' ')
return { name, args }
}
const commandListeners = {
ls: [discoverFiles],
}
async function handleCommand(command) {
const { name, args } = parseCommand(command)
const argv = minimist(command.split(' '))
console.log(argv)
const name = argv._[0]
const listeners = commandListeners[name]
if (!listeners) return {}
return listeners.reduce(async (result, listener) => {
const res = await listener(name, args)
const res = await listener(argv)
return { ...res, ...result }
}, {})
}