exportfunction isDef<T= unknown>(val?:T): val is T{returntypeof val !=='undefined';}exportfunction isUnDef<T= unknown>(val?:T): val is T{return!isDef(val);}exportfunctionisObject(val: any): val is Record<any, any>{return val !==null&&is(val,'Object');}
是否空
exportfunction isEmpty<T= unknown>(val:T): val is T{if(isArray(val)||isString(val)){return val.length ===0;}if(val instanceofMap|| val instanceofSet){return val.size ===0;}if(isObject(val)){return Object.keys(val).length ===0;}returnfalse;}
是否为日期
exportfunctionisDate(val: unknown): val is Date {returnis(val,'Date');}
是否null
exportfunctionisNull(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);
}
是否为number类型
exportfunctionisNumber(val: unknown): val is number {returnis(val,'Number');}
是否promise类型
exportfunction isPromise<T= any>(val: any): val is Promise<T>{// update-begin--author:sunjianlei---date:20211022---for: 不能既是 Promise 又是 Object --------returnis(val,'Promise')&&isFunction(val.then)&&isFunction(val.catch);// update-end--author:sunjianlei---date:20211022---for: 不能既是 Promise 又是 Object --------}
是否string类型
exportfunctionisString(val: unknown): val is string {returnis(val,'String');}
是否json字符串
exportfunctionisJsonObjectString(val: string): val is string {if(!val){returnfalse;}return val.startsWith('{')&& val.endsWith('}');}
是否函数类型
exportfunctionisFunction(val: unknown): val is Function {returntypeof val ==='function';}
是否boolean类型
exportfunctionisBoolean(val: unknown): val is boolean {returnis(val,'Boolean');}
是否正则
exportfunctionisRegExp(val: unknown): val is RegExp {returnis(val,'RegExp');}
是否为数组
exportfunctionisArray(val: any): val is Array<any>{return val && Array.isArray(val);}
是否为window对象
exportfunctionisWindow(val: any): val is Window {returntypeof window !=='undefined'&&is(val,'Window');}
export function isElement(val: unknown): val is Element {
return isObject(val) && !!val.tagName;
}
是否为映射
exportfunctionisMap(val: unknown): val is Map<any, any>{returnis(val,'Map');}