enjoy-typechecks

Predicate functions for checking JavaScript and enjoy.js types


Keywords
typechecks, predicate, functions, types
License
BSD-3-Clause
Install
npm install enjoy-typechecks@1.1.0

Documentation

Typecheck predicate functions for enjoy.js

This is a collection of type checkers. It also checks for some types that only exist in enjoy.js projects, but it's useful even for non-enjoy projects as well.

The following general type checkers are part of the module:

  • isArgumentsObject(a): Checks if a is an arguments object.
  • isArray(a): Checks if a is a real array.
  • isArrayLike(a): Checks if a is iterable like an array, e.g. a DOMElement or Arguments.
  • isBoolean(a): Checks if a is a boolean.
  • isChar(a): Checks if a is a string containing only one character.
  • isCollection(a): Checks if a is a collection of values (array or object).
  • isDate(a): Checks if a is a Date object.
  • isError(a): Checks if a is an Error object.
  • isFiniteNumber(a): Checks if a is an actual number (not NaN or +/-Infinity).
  • isFloat(a): Checks if a is a real number (but not an integer).
  • isFunction(a): Checks if a is a function.
  • isInfiniteNumber(a): Checks if a is an infinite number like NaN or Infinity.
  • isInfinity(a): Checks if a is positive or negative infinity.
  • isInteger(a): Checks if a is an integer.
  • isMathObject(a): Checks if a is the JavaScript built-in Math object.
  • isNegativeInfinity(a): Checks if a is -Infinity.
  • isNull(a): Checks if a is null.
  • isNumber(a): Checks if a is a number (including NaN or +/-Infinity).
  • isPositiveInfinity(a): Checks if a is Infinity.
  • isPrimitive(a): Checks if a is a primitive type (everything but an object/array).
  • isRegExp(a): Checks if a is a regular expression object.
  • isString(a): Checks if a is a string.
  • isUndefined(a): Checks if a is undefined.

The module also contains these enjoy-specific type checkers:

  • isDerivable(a): Checks if a is an enjoy.js derivable object.
  • isMethod(a): Checks if a is an enjoy.js multimethod.
  • isType(a): Checks if a is an enjoy.js type object.