You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
988 B
31 lines
988 B
// eslint-disable-next-line @typescript-eslint/ban-types |
|
export function isFunction(val) { |
|
return typeof val === 'function'; |
|
} |
|
export function isPlainObject(val) { |
|
return val !== null && typeof val === 'object' && !Array.isArray(val); |
|
} |
|
export function isPromise(val) { |
|
return isPlainObject(val) && isFunction(val.then) && isFunction(val.catch); |
|
} |
|
export function isDef(value) { |
|
return value !== undefined && value !== null; |
|
} |
|
export function isObj(x) { |
|
const type = typeof x; |
|
return x !== null && (type === 'object' || type === 'function'); |
|
} |
|
export function isNumber(value) { |
|
return /^\d+(\.\d+)?$/.test(value); |
|
} |
|
export function isBoolean(value) { |
|
return typeof value === 'boolean'; |
|
} |
|
const IMAGE_REGEXP = /\.(jpeg|jpg|gif|png|svg|webp|jfif|bmp|dpg)/i; |
|
const VIDEO_REGEXP = /\.(mp4|mpg|mpeg|dat|asf|avi|rm|rmvb|mov|wmv|flv|mkv)/i; |
|
export function isImageUrl(url) { |
|
return IMAGE_REGEXP.test(url); |
|
} |
|
export function isVideoUrl(url) { |
|
return VIDEO_REGEXP.test(url); |
|
}
|
|
|