New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

strnum

Package Overview
Dependencies
Maintainers
0
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

strnum - npm Package Compare versions

Comparing version 2.0.0 to 2.0.1

4

CHANGELOG.md
**2.0.1 / 2025-02-20**
- fix: handle only zeros
- fix: return original string when NaN
**2.0.0 / 2025-02-20**

@@ -3,0 +7,0 @@ - Migrating to ESM modules. No functional change

2

package.json
{
"name": "strnum",
"version": "2.0.0",
"version": "2.0.1",
"description": "Parse String to Number based on configuration",

@@ -5,0 +5,0 @@ "type": "module",

@@ -19,3 +19,4 @@ const hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;

if(!str || typeof str !== "string" ) return str;
else if(str==="0") return 0;
let trimmedStr = str.trim();

@@ -37,8 +38,8 @@

}else{
return trimmedStr;
return str;
}
}
return options.eNotation ? Number(trimmedStr) : trimmedStr;
return options.eNotation ? Number(trimmedStr) : str;
}else{
return trimmedStr;
return str;
}

@@ -59,2 +60,4 @@ // }else if (options.parseBin && binRegex.test(str)) {

else if(!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== ".") return str; //0123
else if(options.leadingZeros && leadingZeros===str) return 0; //00
else{//no leading zeros or leading zeros are allowed

@@ -61,0 +64,0 @@ const num = Number(trimmedStr);

@@ -37,2 +37,10 @@ import toNumber from "./strnum.js";

it("leading zeros", () => {
expect(toNumber("0")).toEqual(0);
expect(toNumber("00")).toEqual(0);
expect(toNumber("00.0")).toEqual(0);
expect(toNumber("0",{ leadingZeros : false})).toEqual(0);
expect(toNumber("00",{ leadingZeros : false})).toEqual("00");
expect(toNumber("00.0",{ leadingZeros : false})).toEqual("00.0");
expect(toNumber("06")).toEqual(6);

@@ -55,2 +63,4 @@ expect(toNumber("06", { leadingZeros : true})).toEqual(6);

expect(toNumber("0.21.") ).toEqual("0.21.");
});
it("floating point and leading zeros", () => {
expect(toNumber("0.")).toEqual(0);

@@ -60,4 +70,2 @@ expect(toNumber("+0.")).toEqual(0);

expect(toNumber("1.") ).toEqual(1);
});
it("floating point and leading zeros", () => {
expect(toNumber("00.00")).toEqual(0);

@@ -64,0 +72,0 @@ expect(toNumber("0.06")).toEqual(0.06);

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