From ebbd788fbb2c0b45d4473798efc57eec8ba74a25 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期二, 18 六月 2024 14:51:16 +0800 Subject: [PATCH] 版本更新至2.11.5 --- src/utils/is.ts | 166 +++++++++++++++++++++++++++++++------------------------ 1 files changed, 93 insertions(+), 73 deletions(-) diff --git a/src/utils/is.ts b/src/utils/is.ts index ae7609c..7080731 100644 --- a/src/utils/is.ts +++ b/src/utils/is.ts @@ -1,3 +1,48 @@ +import { isEmpty } from 'lodash-es'; + +/* + * @Description: file content + * @Author: your name + * @version: + * @Date: 2024-06-17 14:51:26 + * @LastEditors: your name + * @LastEditTime: 2024-06-17 15:43:58 + */ +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) { @@ -8,74 +53,12 @@ return typeof val !== 'undefined'; } -export function isUnDef<T = unknown>(val?: T): val is T { - return !isDef(val); -} - +// TODO 姝ゅ isObject 瀛樺湪姝т箟 export function isObject(val: any): val is Record<any, any> { return val !== null && is(val, 'Object'); } -export function isEmpty<T = unknown>(val: T): val is T { - if (isArray(val) || isString(val)) { - return val.length === 0; - } - - if (val instanceof Map || val instanceof Set) { - return val.size === 0; - } - - if (isObject(val)) { - return Object.keys(val).length === 0; - } - - return false; -} - -export function isDate(val: unknown): val is Date { - return is(val, 'Date'); -} - -export function isNull(val: unknown): val is null { - return val === null; -} - -export function isNullAndUnDef(val: unknown): val is null | undefined { - return isUnDef(val) && isNull(val); -} - -export function isNullOrUnDef(val: unknown): val is null | undefined { - return isUnDef(val) || isNull(val); -} - -export function isNullOrEmpty(val: unknown): val is null | undefined { - return isNullOrUnDef(val) || isEmpty(val); -} - -export function isNumber(val: unknown): val is number { - return is(val, 'Number'); -} - -export function isPromise<T = any>(val: unknown): val is Promise<T> { - return is(val, 'Promise') && isObject(val) && isFunction(val.then) && isFunction(val.catch); -} - -export function isString(val: unknown): val is string { - return is(val, 'String'); -} - -export function isFunction(val: unknown): val is Function { - return typeof val === 'function'; -} - -export function isBoolean(val: unknown): val is boolean { - return is(val, 'Boolean'); -} - -export function isRegExp(val: unknown): val is RegExp { - return is(val, 'RegExp'); -} - +// TODO 姝ゅ isArray 瀛樺湪姝т箟 export function isArray(val: any): val is Array<any> { return val && Array.isArray(val); } @@ -84,19 +67,56 @@ return typeof window !== 'undefined' && is(val, 'Window'); } -export function isElement(val: unknown): val is Element { - return isObject(val) && !!val.tagName; -} - -export function isMap(val: unknown): val is Map<any, any> { - return is(val, 'Map'); -} - export const isServer = typeof window === 'undefined'; export const isClient = !isServer; -export function isUrl(path: string): boolean { +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); +} + + +export function isTimeViaRegExp8601(value: any): boolean { + return /^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(value.toString()); +} + +export function isTimeType(value: string): boolean { + return !isNaN(Date.parse(value)); +} + +export function isValidJSON(text: string): boolean { + try { + JSON.parse(text); + return true; + } catch (error) { + return false; + } +} + +export function isDef2<T = unknown>(val?: T): val is T { + return typeof val !== 'undefined'; +} + +export function isUnDef<T = unknown>(val?: T): val is T { + return !isDef(val); +} + +export function isNull2(val: unknown): val is null { + return val === null; +} + +export function isNullOrUnDef(val: unknown): val is null | undefined { + return isUnDef(val) || isNull2(val); +} + +export function isNullOrEmpty(val: unknown): val is null | undefined { + return isNullOrUnDef(val) || isEmpty(val); +} + + -- Gitblit v1.9.3