Socket
Socket
Sign inDemoInstall

splitargs

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

splitargs - npm Package Compare versions

Comparing version 0.0.3 to 0.0.4

2

package.json
{
"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 @@ }

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc