Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoInstallSign in
Socket

parse-strings-in-object

Package Overview
Dependencies
Maintainers
1
Versions
22
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

parse-strings-in-object - npm Package Compare versions

Comparing version
1.3.0
to
1.3.1
+1
-0
dist/index.js

@@ -42,2 +42,3 @@ "use strict";

}
return result;
};

@@ -44,0 +45,0 @@ const convertArray = (a) => a.map(el => convert(el));

+1
-1

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,MAAM,SAAS,GAAG,CAAI,GAAW,EAAK,EAAE,CACtC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACnC,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IAEvB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAE9B,uCAAY,GAAG,KAAE,CAAC,GAAG,CAAC,EAAE,MAAM,IAAG;AACnC,CAAC,EAAE,EAAE,CAAM,CAAC;AAEd,MAAM,OAAO,GAAG,CAAC,KAAqB,EAAO,EAAE;IAC7C,IAAI,MAAM,GAAQ,KAAK,CAAC;IAExB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;QAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;SAC5B;aAAM;YACL,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;SACzB;KACF;IAED,QAAO,KAAK,EAAE;QACZ,KAAK,MAAM;YACT,OAAO,IAAI,CAAC;QACd,KAAK,OAAO;YACV,OAAO,KAAK,CAAC;QACf,KAAK,MAAM;YACT,OAAO,IAAI,CAAC;QACd,KAAK,WAAW;YACd,OAAO,SAAS,CAAC;QACnB;YACE,cAAc;YACd,IACE,CAAC,KAAK,CAAC,UAAU,CAAC,KAAe,CAAC,CAAC;gBACnC,KAAK,KAAK,UAAU,CAAC,KAAe,CAAC,CAAC,QAAQ,EAAE,EAChD;gBACA,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;aAC1B;iBAAM;gBAEL,IAAI,iBAAiB,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;oBACrC,OAAO,YAAY,CAAC,sBAAsB,CAAC,KAAe,CAAC,CAAC,CAAC;iBAC9D;qBAAM;oBACL,wCAAwC;oBACxC,OAAO,KAAK,CAAC;iBACd;aAEF;KACJ;AAGH,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,CAAQ,EAAS,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAEnE,MAAM,iBAAiB,GAAG,CAAC,CAAM,EAAW,EAAE;IAC5C,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;QACzB,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;KACF;SAAM;QACL,OAAO,KAAK,CAAC;KACd;AACH,CAAC,CAAA;AAED,MAAM,sBAAsB,GAAG,CAAC,CAAS,EAAE,QAAgB,GAAG,EAAE,EAAE,CAChE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAEjB,iBAAS,SAAS,CAAC"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,MAAM,SAAS,GAAG,CAAI,GAAW,EAAK,EAAE,CACtC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACnC,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IAEvB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAE9B,uCAAY,GAAG,KAAE,CAAC,GAAG,CAAC,EAAE,MAAM,IAAG;AACnC,CAAC,EAAE,EAAE,CAAM,CAAC;AAEd,MAAM,OAAO,GAAG,CAAC,KAAqB,EAAO,EAAE;IAC7C,IAAI,MAAM,GAAQ,KAAK,CAAC;IAExB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;QAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;SAC5B;aAAM;YACL,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;SACzB;KACF;IAED,QAAO,KAAK,EAAE;QACZ,KAAK,MAAM;YACT,OAAO,IAAI,CAAC;QACd,KAAK,OAAO;YACV,OAAO,KAAK,CAAC;QACf,KAAK,MAAM;YACT,OAAO,IAAI,CAAC;QACd,KAAK,WAAW;YACd,OAAO,SAAS,CAAC;QACnB;YACE,cAAc;YACd,IACE,CAAC,KAAK,CAAC,UAAU,CAAC,KAAe,CAAC,CAAC;gBACnC,KAAK,KAAK,UAAU,CAAC,KAAe,CAAC,CAAC,QAAQ,EAAE,EAChD;gBACA,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;aAC1B;iBAAM;gBAEL,IAAI,iBAAiB,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;oBACrC,OAAO,YAAY,CAAC,sBAAsB,CAAC,KAAe,CAAC,CAAC,CAAC;iBAC9D;qBAAM;oBACL,wCAAwC;oBACxC,OAAO,KAAK,CAAC;iBACd;aAEF;KACJ;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,CAAQ,EAAS,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAEnE,MAAM,iBAAiB,GAAG,CAAC,CAAM,EAAW,EAAE;IAC5C,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;QACzB,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;KACF;SAAM;QACL,OAAO,KAAK,CAAC;KACd;AACH,CAAC,CAAA;AAED,MAAM,sBAAsB,GAAG,CAAC,CAAS,EAAE,QAAgB,GAAG,EAAE,EAAE,CAChE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAEjB,iBAAS,SAAS,CAAC"}
{
"name": "parse-strings-in-object",
"version": "1.3.0",
"version": "1.3.1",
"description": "Convert string values in object to boolean and numbers",

@@ -5,0 +5,0 @@ "keywords": [

+16
-12

@@ -7,9 +7,13 @@ # Parse Strings in JS Object

So:
* `'true'` and `'false'` becomes `true` and `false`
* `'1'` and `'3.147'` become `1` and `3.147`
* `'192.168.1.1'` is left alone even though it "looks" like a number
* `'null'` becomes `null`
* `"true"` and `"false"` becomes `true` and `false`
* `"1"` and `"3.147"` become `1` and `3.147`
* `"192.168.1.1"` is left alone even though it "looks" like a number
* `"null"` becomes `null`
It works recursively, so nested structures are no problem.
Array-like strings (currently, only comma-separated values are intepreted like this), are converted too:
* `"test,one,two,three"` becomes `["test","one","two","three"]` (an array of strings)
* `"0,1,2,3"` becomes `[0,1,2,3]` (an array of numbers)
This module was originally inspired by the experience of using a configuration module ([rc](https://www.npmjs.com/package/rc)) and having to check things like `active === false || active === 'false'` repeatedly. I have therefore provided an example of this use case [below](#example-in-rc-config).

@@ -36,4 +40,4 @@

aFloat: 1.1,
justAString: 'hello',
ipAddress: '192.168.1.101'
justAString: "hello",
ipAddress: "192.168.1.101"
}

@@ -51,4 +55,4 @@

aFloat: 1.1,
justAString: 'hello',
ipAddress: '192.168.1.101'
justAString: "hello",
ipAddress: "192.168.1.101"
}

@@ -59,3 +63,3 @@ number

```
Notice that both ints and floats are converted correctly to the single `number` type, and a number-like string such as an IP address is left alone (stays a string).
Notice that both ints and floats are converted correctly to the single "number" type, and a number-like string such as an IP address is left alone (stays a string).

@@ -69,3 +73,3 @@

const conf = require('parse-strings-in-object')(require('rc')('myapp', {
anOrdinaryString: 'test',
anOrdinaryString: "test",
aBoolean: true,

@@ -82,4 +86,4 @@ aNumber: 9000

```
'isMaster': 'true',
myNumber: '0'
"isMaster": "true",
myNumber: "0"
```

@@ -86,0 +90,0 @@ So, now:

@@ -49,3 +49,3 @@ const parseKeys = <T>(obj: object): T =>

return result;
};

@@ -52,0 +52,0 @@