tav-ui
Version:
1 lines • 5.1 kB
Source Map (JSON)
{"version":3,"file":"is2.mjs","sources":["../../../../../packages/utils/is.ts"],"sourcesContent":["/* eslint-disable no-useless-escape */\nconst toString = Object.prototype.toString\n\nexport function is(val: unknown, type: string) {\n return toString.call(val) === `[object ${type}]`\n}\n\nexport function isDef<T = unknown>(val?: T): val is T {\n return typeof val !== 'undefined'\n}\n\nexport function isUnDef<T = unknown>(val?: T): val is T {\n return !isDef(val)\n}\n\nexport function isObject(val: any): val is Record<any, any> {\n return val !== null && is(val, 'Object')\n}\n\nexport function isEmpty<T = unknown>(val: T): val is T {\n if (isArray(val) || isString(val)) return val.length === 0\n\n if (val instanceof Map || val instanceof Set) return val.size === 0\n\n if (isObject(val)) return Object.keys(val).length === 0\n\n return false\n}\n\nexport function isDate(val: unknown): val is Date {\n return is(val, 'Date')\n}\n\nexport function isNull(val: unknown): val is null {\n return val === null\n}\n\nexport function isNullAndUnDef(val: unknown): val is null | undefined {\n return isUnDef(val) && isNull(val)\n}\n\nexport function isNullOrUnDef(val: unknown): val is null | undefined {\n return isUnDef(val) || isNull(val)\n}\n\nexport function isNumber(val: unknown): val is number {\n return is(val, 'Number')\n}\n\nexport function isPromise<T = any>(val: unknown): val is Promise<T> {\n return is(val, 'Promise')\n}\n\nexport function isString(val: unknown): val is string {\n return is(val, 'String')\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function isFunction(val: unknown): val is Function {\n return typeof val === 'function'\n}\n\nexport function isBoolean(val: unknown): val is boolean {\n return is(val, 'Boolean')\n}\n\nexport function isRegExp(val: unknown): val is RegExp {\n return is(val, 'RegExp')\n}\n\nexport function isArray(val: any): val is Array<any> {\n return val && Array.isArray(val)\n}\n\nexport function isWindow(val: any): val is Window {\n return typeof window !== 'undefined' && is(val, 'Window')\n}\n\nexport function isElement(val: unknown): val is Element {\n return isObject(val) && !!val.tagName\n}\n\nexport function isMap(val: unknown): val is Map<any, any> {\n return is(val, 'Map')\n}\n\nexport const isServer = typeof window === 'undefined'\n\nexport const isClient = !isServer\n\nexport function isUrl(path: string): boolean {\n const reg =\n /(((^https?:(?:\\/\\/)?)(?:[-;:&=\\+\\$,\\w]+@)?[A-Za-z0-9.-]+(?::\\d+)?|(?:www.|[-;:&=\\+\\$,\\w]+@)[A-Za-z0-9.-]+)((?:\\/[\\+~%\\/.\\w-_]*)?\\??(?:[-\\+=&;%@.\\w_]*)#?(?:[\\w]*))?)$/\n return reg.test(path)\n}\n"],"names":[],"mappings":"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"}