Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/austingebauer/devise.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/yargs-parser/lib/tokenize-arg-string.js')
-rw-r--r--node_modules/yargs-parser/lib/tokenize-arg-string.js14
1 files changed, 10 insertions, 4 deletions
diff --git a/node_modules/yargs-parser/lib/tokenize-arg-string.js b/node_modules/yargs-parser/lib/tokenize-arg-string.js
index 23d39e1..fe05e27 100644
--- a/node_modules/yargs-parser/lib/tokenize-arg-string.js
+++ b/node_modules/yargs-parser/lib/tokenize-arg-string.js
@@ -1,18 +1,26 @@
// take an un-split argv string and tokenize it.
module.exports = function (argString) {
- if (Array.isArray(argString)) return argString
+ if (Array.isArray(argString)) {
+ return argString.map(e => typeof e !== 'string' ? e + '' : e)
+ }
+
+ argString = argString.trim()
var i = 0
+ var prevC = null
var c = null
var opening = null
var args = []
for (var ii = 0; ii < argString.length; ii++) {
+ prevC = c
c = argString.charAt(ii)
// split on spaces unless we're in quotes.
if (c === ' ' && !opening) {
- i++
+ if (!(prevC === ' ')) {
+ i++
+ }
continue
}
@@ -20,10 +28,8 @@ module.exports = function (argString) {
// opening or closing single and double quotes.
if (c === opening) {
opening = null
- continue
} else if ((c === "'" || c === '"') && !opening) {
opening = c
- continue
}
if (!args[i]) args[i] = ''