3 // The actual option data.
6 // Get or set an option value.
7 var option = module.exports = function(key, value) {
8 var no = key.match(/^no-(.+)$/);
9 if (arguments.length === 2) {
10 return (data[key] = value);
12 return data[no[1]] === false;
18 // Initialize option data.
19 option.init = function(obj) {
20 return (data = obj || {});
23 // List of options as flags.
24 option.flags = function() {
25 return Object.keys(data).filter(function(key) {
26 // Don't display empty arrays.
27 return !(Array.isArray(data[key]) && data[key].length === 0);
28 }).map(function(key) {
30 return '--' + (val === false ? 'no-' : '') + key +
31 (typeof val === 'boolean' ? '' : '=' + val);