@kernel-js/support
Version:
Support package for Kernel Framework
54 lines (48 loc) • 1.02 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
/**
* Convert `value` of string or number type to boolean
*
* Returns null if given value cannot be converted
*
* @param {string|number|boolean} value The value to convert.
* @returns {boolean|null}
* @example
*
* toBoolean('false');
* // => false
*
* toBoolean(0);
* // => false
*
* toBoolean(false);
* // => false
*
* toBoolean('yes');
* // => true
*
* toBoolean(1);
* // => true
*
* toBoolean('y');
* // => true
*/
var toBoolean = function toBoolean(value) {
if (value === true || value === false) {
return value;
}
if (typeof value === 'string') {
value = value.toLowerCase();
}
if ([0, 'false', '0', 'f', 'n', 'no', 'nao', 'off'].indexOf(value) !== -1) {
return false;
}
if ([1, 'true', 't', 'y', 's', 'yes', 'sim', 'on'].indexOf(value) !== -1) {
return true;
}
return null;
};
exports.default = toBoolean;
module.exports = exports['default'];
;