parse-strings-in-object
Advanced tools
+1
-0
@@ -42,2 +42,3 @@ "use strict"; | ||
| } | ||
| return result; | ||
| }; | ||
@@ -44,0 +45,0 @@ const convertArray = (a) => a.map(el => convert(el)); |
@@ -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"} |
+1
-1
| { | ||
| "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: |
+1
-1
@@ -49,3 +49,3 @@ const parseKeys = <T>(obj: object): T => | ||
| return result; | ||
| }; | ||
@@ -52,0 +52,0 @@ |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
28702
1.07%518
0.39%100
4.17%0
-100%