shineout
Version:
A components library for React
115 lines (113 loc) • 4.82 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isValidKey = exports.isUndef = exports.isSymbol = exports.isString = exports.isSet = exports.isRegexp = exports.isPromise = exports.isPercent = exports.isOne = exports.isObject = exports.isNumber = exports.isNotUndef = exports.isNan = exports.isMergeable = exports.isMap = exports.isMacOS = exports.isLink = exports.isInseparable = exports.isInPath = exports.isFunc = exports.isFirefox = exports.isError = exports.isEnterPress = exports.isEmpty = exports.isDate = exports.isBuffer = exports.isArray = void 0;
var _react = _interopRequireDefault(require("react"));
var _func = require("./func");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
var nameIs = (0, _func.curry)(function (name, val) {
if (_typeof(val) === 'object') {
return val && val.constructor && val.constructor.name === name;
}
return false;
});
// eslint-disable-next-line
var isArray = exports.isArray = Array.isArray;
var isUndef = exports.isUndef = function isUndef(v) {
return v == null;
};
var isNotUndef = exports.isNotUndef = function isNotUndef(v) {
return v != null;
};
// eslint-disable-next-line
var isNan = exports.isNan = function isNan(a) {
return a !== a;
};
var isFunc = exports.isFunc = function isFunc(f) {
return typeof f === 'function';
};
var isNumber = exports.isNumber = function isNumber(n) {
return typeof n === 'number';
};
var isObject = exports.isObject = function isObject(val) {
return !!val && _typeof(val) === 'object' && !isArray(val);
};
var isString = exports.isString = function isString(s) {
return typeof s === 'string';
};
var isDate = exports.isDate = function isDate(val) {
return val instanceof Date;
};
var isError = exports.isError = function isError(val) {
return val instanceof Error;
};
var isRegexp = exports.isRegexp = function isRegexp(val) {
return val instanceof RegExp;
};
var isMap = exports.isMap = nameIs('Map');
var isSet = exports.isSet = nameIs('Set');
var isSymbol = exports.isSymbol = nameIs('Symbol');
var isPromise = exports.isPromise = function isPromise(p) {
return p && (nameIs('Promise', p) || isFunc(p.then));
};
var isValidKey = exports.isValidKey = function isValidKey(key, object) {
return key in object;
};
var isInPath = exports.isInPath = function isInPath(val, path) {
if (val === path) return true;
return path.indexOf("".concat(val, "[")) === 0 || path.indexOf("".concat(val, ".")) === 0;
};
var isEmpty = exports.isEmpty = function isEmpty(val) {
if (val == null) return true;
if (isNan(val)) return true;
if (val.length !== undefined) return val.length === 0;
if (val instanceof Date) return false;
if (_typeof(val) === 'object') return Object.keys(val).length === 0;
return false;
};
var isBuffer = exports.isBuffer = function isBuffer(val) {
if (val && _typeof(val) === 'object' && val.constructor && typeof val.constructor.isBuffer === 'function') {
return val.constructor.isBuffer(val);
}
return false;
};
var isMergeable = exports.isMergeable = function isMergeable(val) {
if (!isObject(val)) return false;
var fns = [isDate, isError, isRegexp, isMap, isSet, isBuffer];
for (var i = 0; i < fns.length; i++) {
if (fns[i](val)) return false;
}
return true;
};
var isOne = exports.isOne = function isOne(val) {
if (val === 1) return true;
return typeof val === 'string' && val.indexOf('.') !== -1 && parseFloat(val) === 1;
};
// /\d{1,3}%$/
var isPercent = exports.isPercent = function isPercent(n) {
return typeof n === 'string' && /\d{1,3}%$/.test(n);
};
var isInseparable = exports.isInseparable = function isInseparable(val) {
return Object(val) !== val || isFunc(val) || isDate(val) || isError(val) || isSet(val) || isMap(val) || isRegexp(val);
};
var isLink = exports.isLink = function isLink(el) {
if (_typeof(el) === 'object') {
if (! /*#__PURE__*/_react.default.isValidElement(el)) return false;
if (!el.type) return false;
if (el.type === 'a') return true;
if (el.props && el.props.to) return true;
}
return false;
};
var isEnterPress = exports.isEnterPress = function isEnterPress(e) {
if (_typeof(e) !== 'object') return false;
return e.keyCode === 13;
};
var isMacOS = exports.isMacOS = function isMacOS() {
return /macintosh|mac os x/i.test(navigator.userAgent);
};
var isFirefox = exports.isFirefox = function isFirefox() {
return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;
};