2016-05-08 07:26:52 +02:00
|
|
|
import {root} from './root';
|
|
|
|
|
2014-11-16 01:29:07 +01:00
|
|
|
/**
|
|
|
|
* Types utilities
|
|
|
|
*/
|
|
|
|
|
2015-05-30 14:23:33 +02:00
|
|
|
const UNDEFINED = void 0;
|
2014-11-16 01:29:07 +01:00
|
|
|
|
2015-05-30 14:23:33 +02:00
|
|
|
export default {
|
|
|
|
/**
|
2015-06-27 12:52:40 +02:00
|
|
|
* Check if argument is an object or a global object
|
2015-05-30 14:23:33 +02:00
|
|
|
* @param {String or Object} v
|
|
|
|
* @return {Boolean}
|
|
|
|
*/
|
2016-05-07 06:33:17 +02:00
|
|
|
isObj(v) {
|
2015-05-30 14:23:33 +02:00
|
|
|
let isO = false;
|
2016-05-07 06:33:17 +02:00
|
|
|
if (typeof v === 'string') {
|
2016-05-08 07:26:52 +02:00
|
|
|
if (root[v] && typeof root[v] === 'object') {
|
2015-05-30 14:23:33 +02:00
|
|
|
isO = true;
|
|
|
|
}
|
|
|
|
} else {
|
2016-05-07 06:33:17 +02:00
|
|
|
if (v && typeof v === 'object') {
|
2015-05-30 14:23:33 +02:00
|
|
|
isO = true;
|
|
|
|
}
|
2014-11-16 01:29:07 +01:00
|
|
|
}
|
2015-05-30 14:23:33 +02:00
|
|
|
return isO;
|
|
|
|
},
|
2014-11-16 01:29:07 +01:00
|
|
|
|
2015-05-30 14:23:33 +02:00
|
|
|
/**
|
2015-06-14 04:23:27 +02:00
|
|
|
* Check if argument is a function
|
2015-05-30 14:23:33 +02:00
|
|
|
* @param {Function} fn
|
|
|
|
* @return {Boolean}
|
|
|
|
*/
|
2016-05-07 06:33:17 +02:00
|
|
|
isFn(fn) {
|
2015-05-30 14:23:33 +02:00
|
|
|
return (fn && fn.constructor == Function);
|
|
|
|
},
|
2014-11-16 01:29:07 +01:00
|
|
|
|
2015-05-30 14:23:33 +02:00
|
|
|
/**
|
2015-06-14 04:23:27 +02:00
|
|
|
* Check if argument is an array
|
2015-05-30 14:23:33 +02:00
|
|
|
* @param {Array} obj
|
|
|
|
* @return {Boolean}
|
|
|
|
*/
|
2016-05-07 06:33:17 +02:00
|
|
|
isArray(obj) {
|
2015-05-30 14:23:33 +02:00
|
|
|
return (obj && obj.constructor == Array);
|
|
|
|
},
|
2014-11-16 01:29:07 +01:00
|
|
|
|
2016-03-20 06:15:15 +01:00
|
|
|
/**
|
|
|
|
* Check argument is a string
|
|
|
|
* @param {String} val Value
|
|
|
|
* @returns {Boolean}
|
|
|
|
*/
|
2016-05-07 06:33:17 +02:00
|
|
|
isString(val) {
|
2016-03-20 06:15:15 +01:00
|
|
|
return Object.prototype.toString.call(val) === '[object String]';
|
|
|
|
},
|
|
|
|
|
2016-05-07 06:33:17 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Check argument is a number
|
|
|
|
* @param {Number} val
|
|
|
|
* @returns {Boolean}
|
|
|
|
*/
|
|
|
|
isNumber(val) {
|
|
|
|
return Object.prototype.toString.call(val) === '[object Number]';
|
|
|
|
},
|
|
|
|
|
2015-05-30 14:23:33 +02:00
|
|
|
/**
|
2015-06-14 04:23:27 +02:00
|
|
|
* Determine if argument is undefined
|
2015-05-30 14:23:33 +02:00
|
|
|
* @param {Any} o
|
|
|
|
* @return {Boolean}
|
|
|
|
*/
|
2016-05-07 06:33:17 +02:00
|
|
|
isUndef(o) {
|
2016-02-16 08:41:47 +01:00
|
|
|
return o === UNDEFINED;
|
2015-06-14 04:23:27 +02:00
|
|
|
},
|
2014-11-16 01:29:07 +01:00
|
|
|
|
2015-06-14 04:23:27 +02:00
|
|
|
/**
|
|
|
|
* Determine if argument is null
|
|
|
|
* @param {Any} o
|
|
|
|
* @return {Boolean}
|
|
|
|
*/
|
2016-05-07 06:33:17 +02:00
|
|
|
isNull(o) {
|
2015-06-14 04:23:27 +02:00
|
|
|
return o === null;
|
2015-06-14 04:44:02 +02:00
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Determine if argument is empty (undefined, null or empty string)
|
|
|
|
* @param {Any} o
|
|
|
|
* @return {Boolean}
|
|
|
|
*/
|
2016-05-07 06:33:17 +02:00
|
|
|
isEmpty(o) {
|
|
|
|
return this.isUndef(o) || this.isNull(o) || o.length === 0;
|
2015-06-14 04:23:27 +02:00
|
|
|
}
|
2015-05-30 14:23:33 +02:00
|
|
|
};
|