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 |  159 ++++++++++++++++++++++++-----------------------------
 1 files changed, 72 insertions(+), 87 deletions(-)

diff --git a/src/utils/is.ts b/src/utils/is.ts
index 9f47d93..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,33 +67,23 @@
   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 isTime(value: any): value is Date {
-  return value instanceof Date && !isNaN(value.getTime());
+export function isPascalCase(str: string): boolean {
+  const regex = /^[A-Z][A-Za-z]*$/;
+  return regex.test(str);
 }
 
-export function isTimeViaConstructor(value: any): boolean {
-  return value instanceof Date || value.constructor === Date;
-}
 
-export function isTimeViaRegExp(value: any): boolean {
-  return /\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z/.test(value.toString());
+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 {
@@ -126,12 +99,24 @@
   }
 }
 
-// // 绀轰緥
-// const time1 = new Date();
-// console.log(isTime(time1)); // true
+export function isDef2<T = unknown>(val?: T): val is T {
+  return typeof val !== 'undefined';
+}
 
-// const time2 = '2023-04-01T12:00:00Z';
-// console.log(isTimeViaRegExp(time2)); // true
+export function isUnDef<T = unknown>(val?: T): val is T {
+  return !isDef(val);
+}
 
-// const notTime = 'hello world';
-// console.log(isTime(notTime)); // false
+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