{"version":3,"file":"index4.mjs","sources":["../../../src/utils/types.ts"],"sourcesContent":["import { isNil } from 'lodash-es'\n\nexport const objectToString = Object.prototype.toString\n\nexport const is = (value: unknown, type: string): boolean =>\n  objectToString.call(value) === `[object ${type}]`\n\nexport const isArray = Array.isArray\n\nexport const isMap = (val: unknown): val is Map<any, any> => is(val, 'Map')\n\nexport const isSet = (val: unknown): val is Set<any> => is(val, 'Set')\n\nexport const isBoolean = (val: unknown): val is Boolean => is(val, 'Boolean')\n\nexport const isNumber = (val: unknown): val is Number => is(val, 'Number')\n\nexport const isDate = (val: unknown): val is Date => is(val, 'Date')\n\nexport const isFunction = (val: unknown): val is Function =>\n  typeof val === 'function'\n\nexport const isString = (val: unknown): val is string => typeof val === 'string'\n\nexport const isSymbol = (val: unknown): val is symbol => typeof val === 'symbol'\n\nexport const isObject = (val: unknown): val is Record<any, any> =>\n  val !== null && typeof val === 'object'\n\nexport const isPlainObject = (val: unknown): val is object => is(val, 'Object')\n\nexport const isPromise = <T = any>(val: unknown): val is Promise<T> =>\n  isObject(val) && isFunction(val.then) && isFunction(val.catch)\n\nexport const isDef = (val: any): val is undefined => val !== undefined\n\nexport const isUndef = (val: any): val is undefined => val === undefined\n\nexport const isRegExp = (val: unknown): val is RegExp => is(val, 'RegExp')\n\nexport const isEmpty = (val: unknown) =>\n  (!val && val !== 0) ||\n  (isArray(val) && val.length === 0) ||\n  (isObject(val) && !Object.keys(val).length)\n\nexport const isElement = (e: unknown): e is Element => {\n  if (typeof Element === 'undefined') return false\n  return e instanceof Element\n}\n\nexport const isPropAbsent = (prop: unknown): prop is null | undefined => {\n  return isNil(prop)\n}\n\nexport function isUrl(path: string): boolean {\n  const reg =\n    // eslint-disable-next-line no-useless-escape\n    /(((^https?:(?:\\/\\/)?)(?:[-;:&=\\+\\$,\\w]+@)?[A-Za-z0-9.-]+(?::\\d+)?|(?:www.|[-;:&=\\+\\$,\\w]+@)[A-Za-z0-9.-]+)((?:\\/[\\+~%\\/.\\w-_]*)?\\??(?:[-\\+=&;%@.\\w_]*)#?(?:[\\w]*))?)$/\n  return reg.test(path)\n}\n\nexport const isWindow = (val: any): val is Window =>\n  typeof window !== 'undefined' && is(val, 'Window')\n\nexport const isServer = typeof window === 'undefined'\n\nexport const isClient = !isServer\n"],"names":["isString","val"],"mappings":"AAsBO,MAAMA,IAAW,CAACC,MAAgC,OAAOA,KAAQ;"}