diff options
Diffstat (limited to 'dev/util.js')
-rw-r--r-- | dev/util.js | 53 |
1 files changed, 36 insertions, 17 deletions
diff --git a/dev/util.js b/dev/util.js index 542ad6a2..731b5456 100644 --- a/dev/util.js +++ b/dev/util.js @@ -45,25 +45,44 @@ export function getArgs(args, argMap) { } const target = argMap.get(key); - if (typeof target === 'boolean') { - argMap.set(key, true); - key = null; - } else if (typeof target === 'number') { - argMap.set(key, target + 1); - key = null; - } else if (target === null || typeof target === 'string') { - if (!onKey) { - argMap.set(key, arg); + + switch (typeof target) { + case 'boolean': + argMap.set(key, true); key = null; - } - } else if (Array.isArray(target)) { - if (!onKey) { - target.push(arg); + break; + case 'number': + argMap.set(key, target + 1); key = null; - } - } else { - console.error(`Unknown argument: ${arg}`); - key = null; + break; + case 'string': + if (!onKey) { + argMap.set(key, arg); + key = null; + } + break; + case 'object': + if (target === null) { + if (!onKey) { + argMap.set(key, arg); + key = null; + } + return argMap; + } else if (Array.isArray(target)) { + if (!onKey) { + target.push(arg); + key = null; + } + return argMap; + } else { + console.error(`Unknown argument: ${arg}`); + key = null; + } + break; + default: + console.error(`Unknown argument: ${arg}`); + key = null; + break; } } |