★ isNumber()

isNumber()

Checks if any value is a number type, or the type obtained from its object class equal to 'number' or an object type and an instance of Number. The value is also checked by the Number.isFinite() method to determine whether it's finite and is validated by the Number.isNaN() method.

is-number.func.ts
const isNumber = <
  Type extends AnyNumber = number,
  Payload extends object = object
>(
  value: any,
  callback: ResultCallback<any, Payload> = resultCallback,
  payload?: Payload
): value is Type =>
  callback(
    (typeof value === 'number' ||
      ((typeOf(value) === 'number' || typeof value === 'object') &&
        value instanceof Number)) &&
      !Number.isNaN(value.valueOf()) &&
      Number.isFinite(value.valueOf()),
    value,
    payload
  );xz

Generic type variables

TypeextendsAnyNumber=number

A generic type variable Type constrained by AnyNumber indicates the number type of the given value via the return type, by default number.

Payloadextendsobject=object

Parameters

value: any

The value of any type to check.

callback: ResultCallback<any, Payload>

payload?: Payload

Return type

value is Type

The return type is a boolean as the result of its statement indicating the value is a generic type variable Type constrained by AnyNumber by default of number type.

Returns

The return value is a boolean indicating whether the provided value is a number type or an instance of Number.

Example usage

// Example usage.
import { isNumber } from '@angular-package/type';

isNumber(10304050); // true, value is number
isNumber(Number(10304050)); // true, value is number
isNumber(new Number(10304050)); // true, value is number
isNumber<Number>(new Number(10304050)); // true, value is Number

Last updated

Was this helpful?