From c6de12a7079a0ac065238a0e549890916817f227 Mon Sep 17 00:00:00 2001 From: Jannis R Date: Thu, 4 Jul 2019 18:50:11 +0200 Subject: [PATCH] debug CLI: parse args properly --- debug-cli/cli.js | 37 ++++++++++++++++++++++++++++++++++--- debug-cli/package.json | 1 - 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/debug-cli/cli.js b/debug-cli/cli.js index cecce270..fd3c1b1c 100755 --- a/debug-cli/cli.js +++ b/debug-cli/cli.js @@ -3,7 +3,6 @@ const mri = require('mri') const {join} = require('path') -const {to: fromCli} = require('cli-native') const createClient = require('..') const showError = (err) => { @@ -11,13 +10,45 @@ const showError = (err) => { process.exit(1) } +const toString = val => val + '' +const parseJSON = val => JSON.parse(val) +const parseArgs = [ + ['departures', 0, toString], + ['departures', 1, parseJSON], + ['arrivals', 0, toString], + ['arrivals', 1, parseJSON], + ['journeys', 0, toString], + ['journeys', 1, toString], + ['journeys', 2, parseJSON], + ['refreshJourney', 0, toString], + ['refreshJourney', 1, parseJSON], + ['locations', 0, toString], + ['locations', 1, parseJSON], + ['stop', 0, toString], + ['stop', 1, parseJSON], + ['nearby', 0, parseJSON], + ['nearby', 1, parseJSON], + ['trip', 0, toString], + ['trip', 1, toString], + ['trip', 2, parseJSON], + ['radar', 0, parseJSON], + ['radar', 1, parseJSON], + ['reachableFrom', 0, parseJSON], + ['reachableFrom', 1, parseJSON] +] + const argv = mri(process.argv.slice(2)) const profile = require(join('../p', argv._[0])) const client = createClient(profile, 'hafas-client debug CLI') -const fn = client[argv._[1]] -const args = argv._.slice(2).map(arg => fromCli(arg)) +const fnName = argv._[1] +const fn = client[fnName] + +const args = argv._.slice(2).map((arg, i) => { + const parser = parseArgs.find(([_fnName, _i]) => _fnName === fnName && _i === i) + return parser ? parser[2](arg) : arg +}) fn(...args) .then((res) => { diff --git a/debug-cli/package.json b/debug-cli/package.json index 67f1faaf..cd6a49cf 100644 --- a/debug-cli/package.json +++ b/debug-cli/package.json @@ -8,7 +8,6 @@ "author": "Jannis R ", "license": "ISC", "dependencies": { - "cli-native": "^1.0.0", "mri": "^1.1.4" } }