com-tools
Version:
com-tools 提供了一些通用的工具函数;
43 lines • 2.22 kB
TypeScript
/**
* 由于 eval() 有 安全 和 性能 的问题,所以封装了本函数 来 替代 eval()
* 本方法采用 Function 的方式 来实现 eval() 的效果;
* @param code
*/
export declare function betterEval(code: string): any;
/**
* 拷贝构造函数,与 copyFunction 相比,该函数还会还原构造函数的继续链,即 prototype
* @param fun
*/
export declare function copyConstructor<F extends Function>(fun: F): F;
export declare function copyFunction<F extends Function>(fun: F): F;
/**
* 根据函数字符串 和 函数名字 来创建函数
* @param funString:string 必选; 函数的代码字符串,必须是完整的函数代码字符串,不能是函数体的代码片断,可通过函数的 toString() 方法获得;
* @param name?:string 可选; 函数的名字;
* @param asDefault?:boolean 可选;name 参数是否作为函数名字的默认值(当 funString 中不包含函数名字时,再使用 name 作为函数的名字)
*/
export declare function createFunctionBy(funString: string, name?: string, asDefault?: boolean): Function;
/**
* 为指定的函数 fun 创建对应的 单例函数
* @param fun : Function 普通函数 或者 构造函数
* @return Function 增加了单例机制的函数;该函数的使用方式 和 原函数 fun 一样,只是无论多少次调用该函数,该函数都会返回原函数 fun 的同一实例
*/
export declare function createSingleton<Fun extends Function>(fun: Fun): Fun;
/**
* 等待一会
* @param time - 毫秒
* @param value - 等待的值
* @returns
*/
export declare function waitWhile<Value = any>(time: number, value?: Value): Promise<unknown>;
/**
* 分配默认值
* @remarks
* 将 defaulValues 的成员值作为 target 中的默认成员值:即仅当 target 中对应的属性为 undefined 时,才会使用 defaultMembers 中的值
* @param target
* @param defaulValues
* @param nullValue - 是否将 null 也视为空值,并给其分配默认值
* @returns 返回 target ,不会创建新的对象
*/
export declare function assignDefaultValues<T extends {}, U>(target: T, defaulValues: U, nullValue?: boolean): T & U;
//# sourceMappingURL=tools.d.ts.map