UNPKG

@iimm/shared

Version:

shared utils on browser and react env

39 lines (37 loc) 2.02 kB
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } import loadashIsEqual from 'lodash-es/isEqual'; export var isEqual = loadashIsEqual; /** */ export var isInArray = function isInArray(value, array, compareOptions) { var parser = compareOptions === null || compareOptions === void 0 ? void 0 : compareOptions.parser; var isEqual = (compareOptions === null || compareOptions === void 0 ? void 0 : compareOptions.isEqual) || loadashIsEqual; if (!array || !Array.isArray(array)) return false; return ['number', 'string'].includes(_typeof(value !== null && value !== void 0 ? value : 0)) ? array.includes(value) : array.some(function (item) { return isEqual(parser ? parser(value) : value, parser ? parser(item) : item); }); }; export var isObject = function isObject(value) { return value !== null && _typeof(value) === 'object'; }; export var isFunction = function isFunction(value) { return typeof value === 'function'; }; export var isString = function isString(value) { return typeof value === 'string'; }; export var isNumber = function isNumber(value) { return typeof value === 'number'; }; export var isUndefined = function isUndefined(value) { return value === 'undefined'; }; export var isPlainObject = function isPlainObject(obj) { return Object.prototype.toString.call(obj) === '[object Object]'; }; export var isBrowser = !!(typeof window !== 'undefined' && window.document && window.document.createElement); /** 字符串是否是Base64,可以有data前缀,也可以无 */ export var isBase64 = function isBase64(str) { if (!str) return false; var re = /^(data:([a-z0-9/+.-])+;base64,)?([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$/; return re.test(str); };