UNPKG

ola-toolkit

Version:

ola 开发工具套件

85 lines (59 loc) 2.81 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.isPromise = exports.isPlainObject = exports.isImmutable = exports.isEmptyObject = exports.isEmptyArray = exports.isArray = exports.isGenerator = exports.isObject = exports.isFunction = undefined; var _keys = require('babel-runtime/core-js/object/keys'); var _keys2 = _interopRequireDefault(_keys); var _typeof2 = require('babel-runtime/helpers/typeof'); var _typeof3 = _interopRequireDefault(_typeof2); var _isGeneratorFn = require('is-generator-fn'); var _isGeneratorFn2 = _interopRequireDefault(_isGeneratorFn); var _isImmutable2 = require('../isImmutable'); var _isImmutable3 = _interopRequireDefault(_isImmutable2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var isFunction = exports.isFunction = function isFunction(fn) { var string = toString.call(fn); return (string === '[object Function]' || typeof fn === 'function' && string !== '[object RegExp]' || typeof window !== 'undefined' && ( // IE8 and below fn === window.setTimeout || fn === window.alert || fn === window.confirm || fn === window.prompt)) && !isGenerator(fn); }; var isObject = exports.isObject = function isObject(val) { return val != null && (typeof val === 'undefined' ? 'undefined' : (0, _typeof3.default)(val)) === 'object' && Array.isArray(val) === false; }; var isGenerator = exports.isGenerator = function isGenerator(fn) { return (0, _isGeneratorFn2.default)(fn); }; var isArray = exports.isArray = function isArray(arr) { return Array.isArray(arr); }; var isEmptyArray = exports.isEmptyArray = function isEmptyArray(arr) { return isArray(arr) && !arr.length; }; var isEmptyObject = exports.isEmptyObject = function isEmptyObject(obj) { return (0, _keys2.default)(obj).length === 0; }; exports.isImmutable = _isImmutable3.default; function isObjectObject(o) { return isObject(o) === true && Object.prototype.toString.call(o) === '[object Object]'; } var isPlainObject = exports.isPlainObject = function isPlainObject(o) { var ctor = void 0, prot = void 0; if (isObjectObject(o) === false) return false; // If has modified constructor ctor = o.constructor; if (typeof ctor !== 'function') return false; // If has modified prototype prot = ctor.prototype; if (isObjectObject(prot) === false) return false; // If constructor does not have an Object-specific method if (prot.hasOwnProperty('isPrototypeOf') === false) { return false; } // Most likely a plain Object return true; }; var isPromise = exports.isPromise = function isPromise(obj) { return !!obj && ((typeof obj === 'undefined' ? 'undefined' : (0, _typeof3.default)(obj)) === 'object' || typeof obj === 'function') && typeof obj.then === 'function'; };