src/types.js
/**
* Types utilities
*/
const UNDEFINED = void 0;
/**
* Return an empty function
* @return {Function}
*/
export const EMPTY_FN = function() {};
/**
* Check passed argument is an object
* @param {Object} obj
* @return {Boolean}
*/
export const isObj =
(obj) => Object.prototype.toString.call(obj) === '[object Object]';
/**
* Check passed argument is a function
* @param {Function} obj
* @return {Boolean}
*/
export const isFn =
(obj) => Object.prototype.toString.call(obj) === '[object Function]';
/**
* Check passed argument is an array
* @param {Array} obj
* @return {Boolean}
*/
export const isArray =
(obj) => Object.prototype.toString.call(obj) === '[object Array]';
/**
* Check passed argument is a string
* @param {String} obj obj
* @returns {Boolean}
*/
export const isString =
(obj) => Object.prototype.toString.call(obj) === '[object String]';
/**
* Check passed argument is a number
* @param {Number} obj
* @returns {Boolean}
*/
export const isNumber =
(obj) => Object.prototype.toString.call(obj) === '[object Number]';
/**
* Check passed argument is a boolean
* @param {Boolean} obj
* @returns {Boolean}
*/
export const isBoolean =
(obj) => Object.prototype.toString.call(obj) === '[object Boolean]';
/**
* Check passed argument is undefined
* @param {Any} obj
* @return {Boolean}
*/
export const isUndef = (obj) => obj === UNDEFINED;
/**
* Check passed argument is null
* @param {Any} obj
* @return {Boolean}
*/
export const isNull = (obj) => obj === null;
/**
* Check passed argument is empty (undefined, null or empty string)
* @param {Any} obj
* @return {Boolean}
*/
export const isEmpty = (obj) => isUndef(obj) || isNull(obj) || obj.length === 0;