isFunction()

isFunction()

Checks if anyarrow-up-right value is a functionarrow-up-right type or the type obtained from its object classarrow-up-right equal to 'function' and an instance of Functionarrow-up-right. It also denies it's a classarrow-up-right by checking whether the function converted with Function.prototype.toString()arrow-up-right to the stringarrow-up-right does not contain the word classarrow-up-right at the beginning.

is-function.func.ts
const isFunction = <Payload extends object>(
  value: any,
  callback: ResultCallback<any, Payload> = resultCallback,
  payload?: Payload
): value is Function =>
  callback(
    typeof value === 'function' ||
      (typeOf(value) === 'function' && (value as any) instanceof Function)
      ? /class/.test(Function.prototype.toString.call(value).slice(0, 5)) ===
          false
      : false,
    value,
    payload
  );

Generic type variables

Payloadextendsobject

The Payload generic type variable constrained by objectarrow-up-right indicates the type of optional parameter payload of the supplied callback function and payload optional parameter of the isFunction() function from which it captures its value.

Parameters

value: any

The value of anyarrow-up-right type to check.

callback: ResultCallback<any, Payload>

A callback function of ResultCallback type with parameters, the value that has been checked, the result of this check, and payload of generic type variable Payload with optional properties from the provided payload, to handle them before the result return. By default, it uses resultCallback() function.

payload?: Payload

An optional objectarrow-up-right of the generic type variable Payload is assigned to the payload of the given callback function.

Return type

value is Function

The return type is a booleanarrow-up-right as the result of its statement indicating the value is a Functionarrow-up-right.

Returns

The return value is a booleanarrow-up-right indicating whether the provided value is a functionarrow-up-right.

Example usage

Parameters callback and payload

Last updated