UNPKG

foop

Version:

interfaces that describe their intentions.

56 lines (54 loc) 3.36 kB
var isNullOrUndefined = require('./nullOrUndefined') var isNotEhNumber = require('./NaN') /** * @desc ensure a value is not nill, or nan * @param {*} x value * @return {boolean} x isReal * * @since 3.0.0 * @memberOf is * @see is/null * @see is/undefined * * @see http://2ality.com/2013/04/quirk-implicit-conversion.html * @see https://javascriptrefined.io/nan-and-typeof-36cd6e2a4e43 * @see https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/isNaN * * @NOTE eslint-disable-next-line no-self-compare * && x !== x * * @func * @name isReal * @extends isNullOrUndefined * @variation *not* isNullOrUndefined && false for NaN * * @example * * isReal(null) * //=> false * isReal(void 0) * //=> false * const nan = Number(undefined) * isReal(nan) * //=> false * * isReal({eh: true}) * //=> true * isReal({}) * //=> true * isReal(Object) * //=> true * isReal([]) * //=> true * isReal(new Set()) * //=> true * isReal(function() {}) * //=> true * isReal('') * //=> true * isReal(1) * //=> true * */ module.exports = function (x) { return !isNullOrUndefined(x) && !isNotEhNumber(x); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbC5qcyIsInNvdXJjZXMiOlsicmVhbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBpc051bGxPclVuZGVmaW5lZCA9IHJlcXVpcmUoJy4vbnVsbE9yVW5kZWZpbmVkJylcbmNvbnN0IGlzTm90RWhOdW1iZXIgPSByZXF1aXJlKCcuL05hTicpXG5cbi8qKlxuICogQGRlc2MgZW5zdXJlIGEgdmFsdWUgaXMgbm90IG5pbGwsIG9yIG5hblxuICogQHBhcmFtIHsqfSB4IHZhbHVlXG4gKiBAcmV0dXJuIHtib29sZWFufSB4IGlzUmVhbFxuICpcbiAqIEBzaW5jZSAzLjAuMFxuICogQG1lbWJlck9mIGlzXG4gKiBAc2VlIGlzL251bGxcbiAqIEBzZWUgaXMvdW5kZWZpbmVkXG4gKlxuICogQHNlZSBodHRwOi8vMmFsaXR5LmNvbS8yMDEzLzA0L3F1aXJrLWltcGxpY2l0LWNvbnZlcnNpb24uaHRtbFxuICogQHNlZSBodHRwczovL2phdmFzY3JpcHRyZWZpbmVkLmlvL25hbi1hbmQtdHlwZW9mLTM2Y2Q2ZTJhNGU0M1xuICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9pc05hTlxuICpcbiAqIEBOT1RFIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAqICAgICAgICYmIHggIT09IHhcbiAqXG4gKiBAZnVuY1xuICogQG5hbWUgaXNSZWFsXG4gKiBAZXh0ZW5kcyBpc051bGxPclVuZGVmaW5lZFxuICogQHZhcmlhdGlvbiAqbm90KiBpc051bGxPclVuZGVmaW5lZCAmJiBmYWxzZSBmb3IgTmFOXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiAgaXNSZWFsKG51bGwpXG4gKiAgLy89PiBmYWxzZVxuICogIGlzUmVhbCh2b2lkIDApXG4gKiAgLy89PiBmYWxzZVxuICogIGNvbnN0IG5hbiA9IE51bWJlcih1bmRlZmluZWQpXG4gKiAgaXNSZWFsKG5hbilcbiAqICAvLz0+IGZhbHNlXG4gKlxuICogIGlzUmVhbCh7ZWg6IHRydWV9KVxuICogIC8vPT4gdHJ1ZVxuICogIGlzUmVhbCh7fSlcbiAqICAvLz0+IHRydWVcbiAqICBpc1JlYWwoT2JqZWN0KVxuICogIC8vPT4gdHJ1ZVxuICogIGlzUmVhbChbXSlcbiAqICAvLz0+IHRydWVcbiAqICBpc1JlYWwobmV3IFNldCgpKVxuICogIC8vPT4gdHJ1ZVxuICogIGlzUmVhbChmdW5jdGlvbigpIHt9KVxuICogIC8vPT4gdHJ1ZVxuICogIGlzUmVhbCgnJylcbiAqICAvLz0+IHRydWVcbiAqICBpc1JlYWwoMSlcbiAqICAvLz0+IHRydWVcbiAqXG4gKi9cbm1vZHVsZS5leHBvcnRzID0geCA9PiAhaXNOdWxsT3JVbmRlZmluZWQoeCkgJiYgIWlzTm90RWhOdW1iZXIoeClcbiJdLCJuYW1lcyI6WyJjb25zdCJdLCJtYXBwaW5ncyI6IkFBQUFBLEdBQUssQ0FBQyxpQkFBaUIsR0FBRyxPQUFPLENBQUMsbUJBQW1CLENBQUM7QUFDdERBLEdBQUssQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9EdEMsTUFBTSxDQUFDLE9BQU8sR0FBRyxVQUFBLENBQUMsQ0FBQSxDQUFDLEFBQUcsU0FBQSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxHQUFBOyJ9