smart-boolean
Version:
Convert various values to booleans and check if they are boolean-like.
18 lines (17 loc) • 565 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.boolean = boolean;
const trueValues = new Set([
true, 'true', 'TRUE', 't', 'T', 'yes', 'YES', 'y', 'Y', 'on', 'ON', '1', 1
]);
function boolean(value) {
if (typeof value === 'string' || value instanceof String) {
value = value.trim();
}
if (typeof value === 'boolean')
return value;
if (value instanceof Boolean || value instanceof String || value instanceof Number) {
value = value.valueOf();
}
return trueValues.has(value);
}