File tree Expand file tree Collapse file tree 2 files changed +29
-8
lines changed Expand file tree Collapse file tree 2 files changed +29
-8
lines changed Original file line number Diff line number Diff line change @@ -77,17 +77,20 @@ const isValidHexColor = (hexColor) => {
77
77
/**
78
78
* Returns boolean if value is either "true" or "false" else the value as it is.
79
79
*
80
- * @param {string } value The value to parse.
81
- * @returns {boolean | string } The parsed value.
80
+ * @param {string | boolean } value The value to parse.
81
+ * @returns {boolean | undefined } The parsed value.
82
82
*/
83
83
const parseBoolean = ( value ) => {
84
- if ( value === "true" ) {
85
- return true ;
86
- } else if ( value === "false" ) {
87
- return false ;
88
- } else {
89
- return value ;
84
+ if ( typeof value === "boolean" ) return value ;
85
+
86
+ if ( typeof value === "string" ) {
87
+ if ( value . toLowerCase ( ) === "true" ) {
88
+ return true ;
89
+ } else if ( value . toLowerCase ( ) === "false" ) {
90
+ return false ;
91
+ }
90
92
}
93
+ return undefined ;
91
94
} ;
92
95
93
96
/**
Original file line number Diff line number Diff line change 4
4
encodeHTML ,
5
5
getCardColors ,
6
6
kFormatter ,
7
+ parseBoolean ,
7
8
renderError ,
8
9
wrapTextMultiline ,
9
10
} from "../src/common/utils.js" ;
@@ -19,6 +20,23 @@ describe("Test utils.js", () => {
19
20
expect ( kFormatter ( 9900000 ) ) . toBe ( "9900k" ) ;
20
21
} ) ;
21
22
23
+ it ( "should test parseBoolean" , ( ) => {
24
+ expect ( parseBoolean ( true ) ) . toBe ( true ) ;
25
+ expect ( parseBoolean ( false ) ) . toBe ( false ) ;
26
+
27
+ expect ( parseBoolean ( "true" ) ) . toBe ( true ) ;
28
+ expect ( parseBoolean ( "false" ) ) . toBe ( false ) ;
29
+ expect ( parseBoolean ( "True" ) ) . toBe ( true ) ;
30
+ expect ( parseBoolean ( "False" ) ) . toBe ( false ) ;
31
+ expect ( parseBoolean ( "TRUE" ) ) . toBe ( true ) ;
32
+ expect ( parseBoolean ( "FALSE" ) ) . toBe ( false ) ;
33
+
34
+ expect ( parseBoolean ( "1" ) ) . toBe ( undefined ) ;
35
+ expect ( parseBoolean ( "0" ) ) . toBe ( undefined ) ;
36
+ expect ( parseBoolean ( "" ) ) . toBe ( undefined ) ;
37
+ expect ( parseBoolean ( undefined ) ) . toBe ( undefined ) ;
38
+ } ) ;
39
+
22
40
it ( "should test encodeHTML" , ( ) => {
23
41
expect ( encodeHTML ( `<html>hello world<,.#4^&^@%!))` ) ) . toBe (
24
42
"<html>hello world<,.#4^&^@%!))" ,
You can’t perform that action at this time.
0 commit comments