/** * Types utilities */ const UNDEFINED = void 0; export default { /** * Check if argument is an object or a global object * @param {String or Object} v * @return {Boolean} */ isObj(v) { let isO = false; if (typeof v === 'string') { if (window[v] && typeof window[v] === 'object') { isO = true; } } else { if (v && typeof v === 'object') { isO = true; } } return isO; }, /** * Check if argument is a function * @param {Function} fn * @return {Boolean} */ isFn(fn) { return (fn && fn.constructor == Function); }, /** * Check if argument is an array * @param {Array} obj * @return {Boolean} */ isArray(obj) { return (obj && obj.constructor == Array); }, /** * Check argument is a string * @param {String} val Value * @returns {Boolean} */ isString(val) { return Object.prototype.toString.call(val) === '[object String]'; }, /** * Check argument is a number * @param {Number} val * @returns {Boolean} */ isNumber(val) { return Object.prototype.toString.call(val) === '[object Number]'; }, /** * Determine if argument is undefined * @param {Any} o * @return {Boolean} */ isUndef(o) { return o === UNDEFINED; }, /** * Determine if argument is null * @param {Any} o * @return {Boolean} */ isNull(o) { return o === null; }, /** * Determine if argument is empty (undefined, null or empty string) * @param {Any} o * @return {Boolean} */ isEmpty(o) { return this.isUndef(o) || this.isNull(o) || o.length === 0; } };