UNPKG

foop

Version:

interfaces that describe their intentions.

53 lines (51 loc) 3.56 kB
var toS = require('./toS') var isNumberPrimitive = require('./numberPrimitive') /** * @since 3.0.0 * @memberOf is * * @param {*} x value * @return {boolean} isNumber * * @func * @name isNumber * @extends numberPrimitive * @variation also returns true for new Number object * * {@link https://github.com/infernojs/inferno/blob/master/packages/inferno-shared/src/index.ts#L23 inferno-isnumber} * {@link http://stackoverflow.com/questions/18082/validate-decimal-numbers-in-javascript-isnumeric stack-overflow-isnumber} * {@link https://github.com/gcanti/tcomb/blob/master/lib/isNumber.js tcomb-isnumber} * @see {@link stack-overflow-isnumber} * @see {@link tcomb-isnumber} * @see {@link inferno-isnumber} * @see is/real * * @alternate !isNaN(parseFloat(n)) && isFinite(n) * * @example * * isNumber(1) * //=> true * isNumber(new Number(1)) * //=> true * isNumber(Number(1)) * //=> true * isNumber(NaN) * //=> true * * isNumber(null) * //=> false * isNumber(undefined) * //=> false * isNumber(void 0) * //=> false * isNumber({}) * //=> false * isNumber('') * //=> false * isNumber(false) * //=> false * */ module.exports = function (x) { return isNumberPrimitive(x) || toS(x) === '[object Number]'; } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLmpzIiwic291cmNlcyI6WyJudW1iZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgdG9TID0gcmVxdWlyZSgnLi90b1MnKVxuY29uc3QgaXNOdW1iZXJQcmltaXRpdmUgPSByZXF1aXJlKCcuL251bWJlclByaW1pdGl2ZScpXG5cbi8qKlxuICogQHNpbmNlIDMuMC4wXG4gKiBAbWVtYmVyT2YgaXNcbiAqXG4gKiBAcGFyYW0geyp9IHggdmFsdWVcbiAqIEByZXR1cm4ge2Jvb2xlYW59IGlzTnVtYmVyXG4gKlxuICogQGZ1bmNcbiAqIEBuYW1lIGlzTnVtYmVyXG4gKiBAZXh0ZW5kcyBudW1iZXJQcmltaXRpdmVcbiAqIEB2YXJpYXRpb24gYWxzbyByZXR1cm5zIHRydWUgZm9yIG5ldyBOdW1iZXIgb2JqZWN0XG4gKlxuICoge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9pbmZlcm5vanMvaW5mZXJuby9ibG9iL21hc3Rlci9wYWNrYWdlcy9pbmZlcm5vLXNoYXJlZC9zcmMvaW5kZXgudHMjTDIzIGluZmVybm8taXNudW1iZXJ9XG4gKiB7QGxpbmsgaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xODA4Mi92YWxpZGF0ZS1kZWNpbWFsLW51bWJlcnMtaW4tamF2YXNjcmlwdC1pc251bWVyaWMgc3RhY2stb3ZlcmZsb3ctaXNudW1iZXJ9XG4gKiB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2djYW50aS90Y29tYi9ibG9iL21hc3Rlci9saWIvaXNOdW1iZXIuanMgdGNvbWItaXNudW1iZXJ9XG4gKiBAc2VlIHtAbGluayBzdGFjay1vdmVyZmxvdy1pc251bWJlcn1cbiAqIEBzZWUge0BsaW5rIHRjb21iLWlzbnVtYmVyfVxuICogQHNlZSB7QGxpbmsgaW5mZXJuby1pc251bWJlcn1cbiAqIEBzZWUgaXMvcmVhbFxuICpcbiAqIEBhbHRlcm5hdGUgIWlzTmFOKHBhcnNlRmxvYXQobikpICYmIGlzRmluaXRlKG4pXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiAgaXNOdW1iZXIoMSlcbiAqICAvLz0+IHRydWVcbiAqICBpc051bWJlcihuZXcgTnVtYmVyKDEpKVxuICogIC8vPT4gdHJ1ZVxuICogIGlzTnVtYmVyKE51bWJlcigxKSlcbiAqICAvLz0+IHRydWVcbiAqICBpc051bWJlcihOYU4pXG4gKiAgLy89PiB0cnVlXG4gKlxuICogIGlzTnVtYmVyKG51bGwpXG4gKiAgLy89PiBmYWxzZVxuICogIGlzTnVtYmVyKHVuZGVmaW5lZClcbiAqICAvLz0+IGZhbHNlXG4gKiAgaXNOdW1iZXIodm9pZCAwKVxuICogIC8vPT4gZmFsc2VcbiAqICBpc051bWJlcih7fSlcbiAqICAvLz0+IGZhbHNlXG4gKiAgaXNOdW1iZXIoJycpXG4gKiAgLy89PiBmYWxzZVxuICogIGlzTnVtYmVyKGZhbHNlKVxuICogIC8vPT4gZmFsc2VcbiAqXG4gKi9cbm1vZHVsZS5leHBvcnRzID0geCA9PiBpc051bWJlclByaW1pdGl2ZSh4KSB8fCB0b1MoeCkgPT09ICdbb2JqZWN0IE51bWJlcl0nXG4iXSwibmFtZXMiOlsiY29uc3QiXSwibWFwcGluZ3MiOiJBQUFBQSxHQUFLLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7QUFDNUJBLEdBQUssQ0FBQyxpQkFBaUIsR0FBRyxPQUFPLENBQUMsbUJBQW1CLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpRHRELE1BQU0sQ0FBQyxPQUFPLEdBQUcsVUFBQSxDQUFDLENBQUEsQ0FBQyxBQUFHLFNBQUEsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLGlCQUFpQixHQUFBOyJ9