@cherrypulp/types

Type check library

Usage no npm install needed!

<script type="module">
  import cherrypulpTypes from 'https://cdn.skypack.dev/@cherrypulp/types';
</script>

README

Types

codebeat badge Issues License npm version

Type check library.

Installation

npm install @cherrypulp/types

Quick start

import * as types from '@cherrypulp/types';

// or

import {isBoolean/*, ...*/} from '@cherrypulp/types';

Methods

isArray

Return true if value is an array.

isArray([]); // return true
isArray(null); // return false

isBoolean

Return true if value is a boolean.

isBoolean(false); // return true
isBoolean('true'); // return false

isCallable

Return true if value is a callable object or function.

isCallable(function () {/**/}); // return true
isCallable(null); // return false

isDate

Return true if value is date object.

isDate(new Date()); // return true
isDate({}); // return false

isDataURL

Return true if value is a data URL.

isDataURL('data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'); // return true
isDataURL('foo'); // return false

isEmail

Return true if value is an email.

isEmail('john@doe.com'); // return true
isEmail('foo'); // return false

isEmpty

Return true if value is empty ('', {}, [], null or undefined).

isEmpty(''); // return true
isEmpty({}); // return true
isEmpty([]); // return true
isEmpty(null); // return true
isEmpty(undefined); // return true
isEmpty('foo'); // return false
isEmpty({foo: 'bar'}); // return false
isEmpty(['foo']); // return false

isError

Return true if value is an Error object.

isError(new Error()); // return true
isError({}); // return false

isFalse

Return true if value is false.

isFalse(false); // return true
isFalse('false'); // return false

isFloat

Return true if value is a float number.

isFloat(false); // return true
isFloat('false'); // return false

isFunction

Return true if value is a function.

isFunction(function () {/**/}); // return true
isFunction(class {}); // return true
isFunction(null); // return false

isInteger

Return true if value is integer.

isInteger(1); // return true
isInteger(1.4); // return false

isNull

Return true if value is null.

isNull(null); // return true
isNull(''); // return false

isNumeric

Return true if value is numeric.

isNumeric(1); // return true
isNumeric(1.4); // return true
isNumeric('3'); // return false

isObject

Return true if value is an object.

isObject({}); // return true
isObject(new Date()); // return false

isPromise

Return true if value is a promise.

isPromise(new Promise((resolve) => resolve())); // return true
isPromise(function () {/**/}); // return false

isRegExp

Return true if value is a RegExp.

isRegExp(/.*/); // return true
isRegExp(new RegExp('.*')); // return true
isRegExp('.*'); // return false

isString

Return true if value is a string.

isString('foo'); // return true
isString(3); // return false

isSymbol

Return true if value is a symbol.

isSymbol(Symbol('foo')); // return true
isSymbol('foo'); // return false

isTrue

Return true if value is true.

isTrue(true); // return true
isTrue('true'); // return false

isTypeOf

Return true if value typeof is equal to given type.

isTypeOf({}, 'object'); // return true
isTypeOf(null, 'string'); // return false

isUndefined

Return true if value is undefined.

isUndefined(undefined); // return true
isUndefined(null); // return false

Versioning

Versioned using SemVer.

Contribution

Please raise an issue if you find any. Pull requests are welcome!

Author

License

This project is licensed under the MIT License - see the LICENSE file for details.

TODO

  • add isAffirmative (ex. true, 'true', '1', 1, 'yes', 'y', or 'ok') and isNegative (ex. false, 'false', '0', 0, 'no', 'n', or 'cancel')
  • add isURL
  • add isCreditCard
  • add isColor (ex. 'red', '#FF0000', '#F00', 'FF0000', 'F00')
  • add isDateString (ex. '12/12/2012', '12-12-2012', ...) and isTimeString (ex. '12:12', '12:12:12')
  • add isCamelCase, isCapitalized, isLowerCase, isSnakeCase and isUpperCase
  • add isEqual, isEven and isOdd
  • add isPositive and isNegative