UNPKG

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