UNPKG

663 BJavaScriptView Raw
1// Returns true for `true`, true, positive numbers
2// Returns false for `false`, false, 0, negative integers and anything else
3const isTruthy = value => {
4 // Return if Boolean
5 if (typeof value === `boolean`) return value
6
7 // Return false if null or undefined
8 if (value === undefined || value === null) return false
9
10 // If the String is true or false
11 if (value.toLowerCase() === `true`) return true
12 if (value.toLowerCase() === `false`) return false
13
14 // Now check if it's a number
15 const number = parseInt(value, 10)
16 if (isNaN(number)) return false
17 if (number > 0) return true
18
19 // Default to false
20 return false
21}
22
23module.exports = isTruthy