'use strict'; const camelToSnake = s => s.replace(/[A-Z]/g, c => '_' + c.toLowerCase()); exports.stringify = ({ command = '', flags = {}, reason = '' }) => { const flagS = Object.entries(flags) .flatMap(([ key, value ]) => { switch (value) { case null: case false: case undefined: // eslint-disable-line no-undefined return []; case true: return [ '-' + camelToSnake(key) ]; default: return [ `-${camelToSnake(key)}=${value}` ]; } }).join(' '); return [ '/' + command, flagS, reason ].filter(Boolean).join(' '); };