.
This commit is contained in:
		
							
								
								
									
										49
									
								
								qwen/nodejs/node_modules/nodemon/lib/cli/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								qwen/nodejs/node_modules/nodemon/lib/cli/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,49 @@
 | 
			
		||||
var parse = require('./parse');
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Converts a string to command line args, in particular
 | 
			
		||||
 * groups together quoted values.
 | 
			
		||||
 * This is a utility function to allow calling nodemon as a required
 | 
			
		||||
 * library, but with the CLI args passed in (instead of an object).
 | 
			
		||||
 *
 | 
			
		||||
 * @param  {String} string
 | 
			
		||||
 * @return {Array}
 | 
			
		||||
 */
 | 
			
		||||
function stringToArgs(string) {
 | 
			
		||||
  var args = [];
 | 
			
		||||
 | 
			
		||||
  var parts = string.split(' ');
 | 
			
		||||
  var length = parts.length;
 | 
			
		||||
  var i = 0;
 | 
			
		||||
  var open = false;
 | 
			
		||||
  var grouped = '';
 | 
			
		||||
  var lead = '';
 | 
			
		||||
 | 
			
		||||
  for (; i < length; i++) {
 | 
			
		||||
    lead = parts[i].substring(0, 1);
 | 
			
		||||
    if (lead === '"' || lead === '\'') {
 | 
			
		||||
      open = lead;
 | 
			
		||||
      grouped = parts[i].substring(1);
 | 
			
		||||
    } else if (open && parts[i].slice(-1) === open) {
 | 
			
		||||
      open = false;
 | 
			
		||||
      grouped += ' ' + parts[i].slice(0, -1);
 | 
			
		||||
      args.push(grouped);
 | 
			
		||||
    } else if (open) {
 | 
			
		||||
      grouped += ' ' + parts[i];
 | 
			
		||||
    } else {
 | 
			
		||||
      args.push(parts[i]);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return args;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module.exports = {
 | 
			
		||||
  parse: function (argv) {
 | 
			
		||||
    if (typeof argv === 'string') {
 | 
			
		||||
      argv = stringToArgs(argv);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return parse(argv);
 | 
			
		||||
  },
 | 
			
		||||
};
 | 
			
		||||
		Reference in New Issue
	
	Block a user