123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- export {
- isArguments,
- isArrayBuffer,
- isArrayLike,
- isArrayLikeObject,
- isBuffer,
- isBoolean,
- isDate,
- isElement,
- isEmpty,
- isEqual,
- isEqualWith,
- isError,
- isFunction,
- isFinite,
- isLength,
- isMap,
- isMatch,
- isMatchWith,
- isNative,
- isNil,
- isNumber,
- isNull,
- isObjectLike,
- isPlainObject,
- isRegExp,
- isSafeInteger,
- isSet,
- isString,
- isSymbol,
- isTypedArray,
- isUndefined,
- isWeakMap,
- isWeakSet,
- } from 'lodash-es'
- const toString = Object.prototype.toString
- export function is(val: unknown, type: string) {
- return toString.call(val) === `[object ${type}]`
- }
- export function isDef<T = unknown>(val?: T): val is T {
- return typeof val !== 'undefined'
- }
- // TODO 此处 isObject 存在歧义
- export function isObject(val: any): val is Record<any, any> {
- return val !== null && is(val, 'Object')
- }
- // TODO 此处 isArray 存在歧义
- export function isArray(val: any): val is Array<any> {
- return val && Array.isArray(val)
- }
- export function isWindow(val: any): val is Window {
- return typeof window !== 'undefined' && is(val, 'Window')
- }
- export const isServer = typeof window === 'undefined'
- export const isClient = !isServer
- export function isHttpUrl(path: string): boolean {
- const reg = /^http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- ./?%&=]*)?/
- return reg.test(path)
- }
- export function isPascalCase(str: string): boolean {
- const regex = /^[A-Z][A-Za-z]*$/
- return regex.test(str)
- }
|