MIRROR: javascript for 馃悳's, a tiny runtime with big ambitions
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at master 37 lines 1.2 kB view raw
1const { parseArgs } = require('node:util'); 2 3function assert(cond, msg) { 4 if (!cond) throw new Error(msg); 5} 6 7let result = parseArgs({ 8 args: ['--prompt', 'hello', '-c', 'positional'], 9 options: { 10 prompt: { type: 'string', short: 'p' }, 11 continue: { type: 'boolean', short: 'c', default: false }, 12 format: { type: 'string', default: 'default' } 13 }, 14 strict: false, 15 allowPositionals: true 16}); 17 18assert(result.values.prompt === 'hello', 'expected string long option'); 19assert(result.values.continue === true, 'expected boolean short option'); 20assert(result.values.format === 'default', 'expected default string option'); 21assert(Array.isArray(result.positionals), 'expected positionals array'); 22assert(result.positionals.length === 1 && result.positionals[0] === 'positional', 'expected positional passthrough'); 23 24result = parseArgs({ 25 args: ['-phello', '--format=json'], 26 options: { 27 prompt: { type: 'string', short: 'p' }, 28 format: { type: 'string' } 29 }, 30 strict: false, 31 allowPositionals: true 32}); 33 34assert(result.values.prompt === 'hello', 'expected attached short string value'); 35assert(result.values.format === 'json', 'expected inline long string value'); 36 37console.log('PASS');