source: trip-planner-front/node_modules/yargs-parser/lib/tokenize-arg-string.js@ e29cc2e

Last change on this file since e29cc2e was e29cc2e, checked in by Ema <ema_spirova@…>, 3 years ago

primeNG components

  • Property mode set to 100644
File size: 854 bytes
Line 
1// take an un-split argv string and tokenize it.
2module.exports = function (argString) {
3 if (Array.isArray(argString)) {
4 return argString.map(e => typeof e !== 'string' ? e + '' : e)
5 }
6
7 argString = argString.trim()
8
9 var i = 0
10 var prevC = null
11 var c = null
12 var opening = null
13 var args = []
14
15 for (var ii = 0; ii < argString.length; ii++) {
16 prevC = c
17 c = argString.charAt(ii)
18
19 // split on spaces unless we're in quotes.
20 if (c === ' ' && !opening) {
21 if (!(prevC === ' ')) {
22 i++
23 }
24 continue
25 }
26
27 // don't split the string if we're in matching
28 // opening or closing single and double quotes.
29 if (c === opening) {
30 opening = null
31 } else if ((c === "'" || c === '"') && !opening) {
32 opening = c
33 }
34
35 if (!args[i]) args[i] = ''
36 args[i] += c
37 }
38
39 return args
40}
Note: See TracBrowser for help on using the repository browser.