UNPKG

@jil/args

Version:

A convention based argument parsing and formatting library, with strict validation checks

40 lines 1.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.format = void 0; function mapToStringList(value) { if (!Array.isArray(value)) { return [String(value)]; } return value.map(String); } /** * Format a parsed arguments object back into a command line list of arguments. */ function format(argument) { const { command = [], options = {}, params = [], rest = [] } = argument; const args = []; // Commands if (command.length > 0) { args.push(command.join(':')); } // Options Object.entries(options).forEach(([name, value]) => { if (typeof value === 'boolean') { args.push(`--${!value ? 'no-' : ''}${name}`); } else { args.push(`--${name}`, ...mapToStringList(value)); } }); // Params if (params.length > 0) { args.push(...mapToStringList(params)); } // Rest if (rest.length > 0) { args.push('--', ...mapToStringList(rest)); } return args; } exports.format = format; //# sourceMappingURL=format.js.map