Comparing version 0.0.3 to 0.0.4
{ | ||
"name": "splitargs", | ||
"version": "0.0.3", | ||
"version": "0.0.4", | ||
"description": "Splits strings into tokens by given separator except treating quoted part as a single token.", | ||
@@ -5,0 +5,0 @@ "main": "splitargs.js", |
@@ -8,3 +8,3 @@ /** | ||
module.exports = function (input, separator) { | ||
module.exports = function (input, separator, keepQuotes) { | ||
separator = separator || /\s/g; | ||
@@ -20,35 +20,23 @@ var singleQuoteOpen = false; | ||
var matches = element.match(separator); | ||
if (element === "'") { | ||
if (!doubleQuoteOpen) { | ||
singleQuoteOpen = !singleQuoteOpen; | ||
// if (!singleQuoteOpen) { | ||
// ret.push(tokenBuffer.join('')); | ||
// tokenBuffer = []; | ||
// } | ||
continue; | ||
if (element === "'" && !doubleQuoteOpen) { | ||
if (keepQuotes === true) { | ||
tokenBuffer.push(element); | ||
} | ||
} else if (element === '"') { | ||
if (!singleQuoteOpen) { | ||
doubleQuoteOpen = !doubleQuoteOpen; | ||
// if (!doubleQuoteOpen) { | ||
// ret.push(tokenBuffer.join('')); | ||
// tokenBuffer = []; | ||
// } | ||
continue; | ||
singleQuoteOpen = !singleQuoteOpen; | ||
continue; | ||
} else if (element === '"' && !singleQuoteOpen) { | ||
if (keepQuotes === true) { | ||
tokenBuffer.push(element); | ||
} | ||
doubleQuoteOpen = !doubleQuoteOpen; | ||
continue; | ||
} | ||
if (!singleQuoteOpen && !doubleQuoteOpen) { | ||
if (matches) { | ||
if (tokenBuffer && tokenBuffer.length > 0) { | ||
ret.push(tokenBuffer.join('')); | ||
tokenBuffer = []; | ||
} | ||
} else { | ||
tokenBuffer.push(element); | ||
if (!singleQuoteOpen && !doubleQuoteOpen && matches) { | ||
if (tokenBuffer && tokenBuffer.length > 0) { | ||
ret.push(tokenBuffer.join('')); | ||
tokenBuffer = []; | ||
} | ||
} else if (singleQuoteOpen) { | ||
} else { | ||
tokenBuffer.push(element); | ||
} else if (doubleQuoteOpen) { | ||
tokenBuffer.push(element); | ||
} | ||
@@ -55,0 +43,0 @@ } |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
6018
102