foop
Version:
interfaces that describe their intentions.
48 lines (46 loc) • 3.67 kB
JavaScript
var toS = require('./toS')
var isBooleanPrimitive = require('./booleanPrimitive')
/**
* @desc Checks if `value` is classified as a boolean primitive OR object.
* @since 3.0.0
* @version 1.0.0 <- supported primitive & object
* @version 2.0.0 <- split out primitive
* @category Lang
* @memberOf is
*
* @param {*} x value
* @return {boolean} isBoolean
*
* @extends isTrue
* @extends isFalse
* @extends isBooleanPrimitive
*
* @func
* @name isBoolean
*
* {@link https://github.com/infernojs/inferno/blob/master/packages/inferno-shared/src/index.ts#L23 inferno-isboolean}
* {@link https://github.com/gcanti/tcomb/blob/master/lib/isBoolean.js tcomb-isboolean}
* {@link https://nodejs.org/api/util.html#util_util_isboolean_object node-util-isboolean}
* {@link https://github.com/jashkenas/underscore/blob/master/underscore.js#L1352 underscore-is-boolean}
* @see {@link inferno-isboolean}
* @see {@link tcomb-isboolean}
* @see {@link underscore-is-boolean}
* @see {@link node-util-isboolean}
* @see is/toS
*
* @example
*
* isBoolean(false)
* //=> true
* isBoolean(new Boolean(1))
* //=> true
* isBoolean(1)
* //=> false
* isBoolean('')
* //=> false
*
*/
module.exports = function isBoolean(x) {
return isBooleanPrimitive(x) || toS(x) === '[object Boolean]'
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi5qcyIsInNvdXJjZXMiOlsiYm9vbGVhbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCB0b1MgPSByZXF1aXJlKCcuL3RvUycpXG5jb25zdCBpc0Jvb2xlYW5QcmltaXRpdmUgPSByZXF1aXJlKCcuL2Jvb2xlYW5QcmltaXRpdmUnKVxuXG4vKipcbiAqIEBkZXNjIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSBib29sZWFuIHByaW1pdGl2ZSBPUiBvYmplY3QuXG4gKiBAc2luY2UgMy4wLjBcbiAqIEB2ZXJzaW9uIDEuMC4wIDwtIHN1cHBvcnRlZCBwcmltaXRpdmUgJiBvYmplY3RcbiAqIEB2ZXJzaW9uIDIuMC4wIDwtIHNwbGl0IG91dCBwcmltaXRpdmVcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAbWVtYmVyT2YgaXNcbiAqXG4gKiBAcGFyYW0gIHsqfSB4IHZhbHVlXG4gKiBAcmV0dXJuIHtib29sZWFufSBpc0Jvb2xlYW5cbiAqXG4gKiBAZXh0ZW5kcyBpc1RydWVcbiAqIEBleHRlbmRzIGlzRmFsc2VcbiAqIEBleHRlbmRzIGlzQm9vbGVhblByaW1pdGl2ZVxuICpcbiAqIEBmdW5jXG4gKiBAbmFtZSBpc0Jvb2xlYW5cbiAqXG4gKiB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2luZmVybm9qcy9pbmZlcm5vL2Jsb2IvbWFzdGVyL3BhY2thZ2VzL2luZmVybm8tc2hhcmVkL3NyYy9pbmRleC50cyNMMjMgaW5mZXJuby1pc2Jvb2xlYW59XG4gKiB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2djYW50aS90Y29tYi9ibG9iL21hc3Rlci9saWIvaXNCb29sZWFuLmpzIHRjb21iLWlzYm9vbGVhbn1cbiAqIHtAbGluayBodHRwczovL25vZGVqcy5vcmcvYXBpL3V0aWwuaHRtbCN1dGlsX3V0aWxfaXNib29sZWFuX29iamVjdCBub2RlLXV0aWwtaXNib29sZWFufVxuICoge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9qYXNoa2VuYXMvdW5kZXJzY29yZS9ibG9iL21hc3Rlci91bmRlcnNjb3JlLmpzI0wxMzUyIHVuZGVyc2NvcmUtaXMtYm9vbGVhbn1cbiAqIEBzZWUge0BsaW5rIGluZmVybm8taXNib29sZWFufVxuICogQHNlZSB7QGxpbmsgdGNvbWItaXNib29sZWFufVxuICogQHNlZSB7QGxpbmsgdW5kZXJzY29yZS1pcy1ib29sZWFufVxuICogQHNlZSB7QGxpbmsgbm9kZS11dGlsLWlzYm9vbGVhbn1cbiAqIEBzZWUgaXMvdG9TXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiAgaXNCb29sZWFuKGZhbHNlKVxuICogIC8vPT4gdHJ1ZVxuICogIGlzQm9vbGVhbihuZXcgQm9vbGVhbigxKSlcbiAqICAvLz0+IHRydWVcbiAqICBpc0Jvb2xlYW4oMSlcbiAqICAvLz0+IGZhbHNlXG4gKiAgaXNCb29sZWFuKCcnKVxuICogIC8vPT4gZmFsc2VcbiAqXG4gKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gaXNCb29sZWFuKHgpIHtcbiAgcmV0dXJuIGlzQm9vbGVhblByaW1pdGl2ZSh4KSB8fCB0b1MoeCkgPT09ICdbb2JqZWN0IEJvb2xlYW5dJ1xufVxuIl0sIm5hbWVzIjpbImNvbnN0Il0sIm1hcHBpbmdzIjoiQUFBQUEsR0FBSyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO0FBQzVCQSxHQUFLLENBQUMsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLG9CQUFvQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUEwQ3hELE1BQU0sQ0FBQyxPQUFPLEdBQUcsU0FBUyxTQUFTLENBQUMsQ0FBQyxFQUFFO0VBQ3JDLE9BQU8sa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLGtCQUFrQjtDQUM5RDsifQ==