UNPKG

shineout

Version:
115 lines (113 loc) • 4.82 kB
"use strict"; 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; };