@cherrypulp/types v1.0.3
Types
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 falseisBoolean
Return true if value is a boolean.
isBoolean(false); // return true
isBoolean('true'); // return falseisCallable
Return true if value is a callable object or function.
isCallable(function () {/**/}); // return true
isCallable(null); // return falseisDate
Return true if value is date object.
isDate(new Date()); // return true
isDate({}); // return falseisDataURL
Return true if value is a data URL.
isDataURL('data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'); // return true
isDataURL('foo'); // return falseisEmail
Return true if value is an email.
isEmail('john@doe.com'); // return true
isEmail('foo'); // return falseisEmpty
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 falseisError
Return true if value is an Error object.
isError(new Error()); // return true
isError({}); // return falseisFalse
Return true if value is false.
isFalse(false); // return true
isFalse('false'); // return falseisFloat
Return true if value is a float number.
isFloat(false); // return true
isFloat('false'); // return falseisFunction
Return true if value is a function.
isFunction(function () {/**/}); // return true
isFunction(class {}); // return true
isFunction(null); // return falseisInteger
Return true if value is integer.
isInteger(1); // return true
isInteger(1.4); // return falseisNull
Return true if value is null.
isNull(null); // return true
isNull(''); // return falseisNumeric
Return true if value is numeric.
isNumeric(1); // return true
isNumeric(1.4); // return true
isNumeric('3'); // return falseisObject
Return true if value is an object.
isObject({}); // return true
isObject(new Date()); // return falseisPromise
Return true if value is a promise.
isPromise(new Promise((resolve) => resolve())); // return true
isPromise(function () {/**/}); // return falseisRegExp
Return true if value is a RegExp.
isRegExp(/.*/); // return true
isRegExp(new RegExp('.*')); // return true
isRegExp('.*'); // return falseisString
Return true if value is a string.
isString('foo'); // return true
isString(3); // return falseisSymbol
Return true if value is a symbol.
isSymbol(Symbol('foo')); // return true
isSymbol('foo'); // return falseisTrue
Return true if value is true.
isTrue(true); // return true
isTrue('true'); // return falseisTypeOf
Return true if value typeof is equal to given type.
isTypeOf({}, 'object'); // return true
isTypeOf(null, 'string'); // return falseisUndefined
Return true if value is undefined.
isUndefined(undefined); // return true
isUndefined(null); // return falseVersioning
Versioned using SemVer.
Contribution
Please raise an issue if you find any. Pull requests are welcome!
Author
- Stéphan Zych - monkeymonk
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') andisNegative(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', ...) andisTimeString(ex. '12:12', '12:12:12') - add
isCamelCase,isCapitalized,isLowerCase,isSnakeCaseandisUpperCase - add
isEqual,isEvenandisOdd - add
isPositiveandisNegative