type-tls
Version:
type-tls 封装了与类型相关的工具,比如:获取数据的类型 或 类型名字、判断数据的类型 等
50 lines (49 loc) • 1.69 kB
TypeScript
/**
* 判断 code 是否是有校的 js 标识符
* @param code - 标识符的字符串
*/
export declare function isIdentifier(code: string): boolean;
/**
* 判断函数是否是箭头函数
* @param fun - 被判断的函数
*/
export declare function isArrowFunction(fun: Function): boolean;
/**
* 判断函数是否是 async 异步函数
* @remarks
* 异步函数 不包含 异步生成器函数 AsyncGeneratorFunction
* @param fun - 被判断的函数
*/
export declare function isAsyncFunction(fun: Function): boolean;
/**
* 判断函数是否是生成器函数
*
* @remarks
* 生成器函数 不包含 异步生成器函数 AsyncGeneratorFunction
* @param fun - 被判断的函数
*/
export declare function isGeneratorFunction(fun: Function): boolean;
/**
* 判断函数是否是异步生成器函数
* @param fun - 被判断的函数
*/
export declare function isAsyncGeneratorFunction(fun: Function): boolean;
/**
* 判断是否是匿名函数
*
* @remarks
* 判断函数在被定义时是否是通过匿名函数来定义的。
* 匿名函数是指声明函数时没有写名字的函数。
* 注意:即使是匿名函数,函数对象上的 name 属性也可能是有值的,因为 js解析器 会自动将 函数表达式函数变量的名字作为匿名函数的名字,如下:
* ```ts
* var funName = function(){};
* ```
* 其中的匿名函数对象的 name 属性的值会是 `funName`
*
* 如果 函数对象上的 name 属性的值为 `""`,函数一定是匿名函数。
*/
export declare function isAnonymousFunction(fun: Function): boolean;
/**
* 表示任意的函数类型
*/
export type AnyFunction = (...args: any) => any;