UNPKG

chain-able

Version:

interfaces that describe their intentions.

34 lines (32 loc) 685 B
const toS = require('./toS') const isTrue = require('./true') const isFalse = require('./false') /** * @desc Checks if `value` is classified as a boolean primitive or object. * @category Lang * @since 3.0.0 * * @param {*} x value * @return {boolean} isBoolean * * @extends isTrue * @extends isFalse * @see is/toS * @memberOf is * @func isBoolean * * @NOTE could also have typeof x === 'boolean' || (/true|false/).test(x) * * @example * * isBoolean(false) * //=> true * isBoolean(new Boolean(1)) * //=> true * isBoolean(1) * //=> false * isBoolean('') * //=> false * */ module.exports = x => isTrue(x) || isFalse(x) || toS(x) === '[object Boolean]'