jcommon
Version:
JavaScript 常用纯函数工具库
78 lines (77 loc) • 2.67 kB
TypeScript
/**
* @description: 单击事件转换为多击事件
* @author: wxingheng
* @Date: 2022-05-04 14:20:22
* @param {*} wait
* @param {array} events
* @return {*}
* @example:
* // 连续点击一次触发,连续点击两次触发,连续点击三次触发
var oneClickToMoreClickCallBack = jcommon.oneClickToMoreClick(300, () => {
console.log(111)
}, () => {
console.log(222)
}, ()=> {
console.log(333)
})
dom.addEventListener('click', oneClickToMoreClickCallBack);
*/
export declare const oneClickToMoreClick: (wait?: number, ...events: ((...args: any[]) => void)[]) => () => void;
/**
* @description: 单击事件转换为多击事件
* @author: wxingheng
* @Date: 2022-08-09 14:03:34
* @param {Function} fun 回调函数
* @param {*} n 连续几次触发才触发回调函数
* @param {*} wait 两次之间的间隔时间
* @return {*}
* @example: const dobuleClick = moreClick(handleClick)
// 连续点击三次触发
var moreClickCallBack = jcommon.moreClick(() => {
console.log("moreClickCallBack")
}, 3)
dom.addEventListener('click', moreClickCallBack);
*/
export declare const moreClick: (fun: (...args: any) => void, n?: number, wait?: number) => (...args: any[]) => void;
/**
* @description: 产生一个随机颜色
* @author: wxingheng
* @Date: 2022-09-30 11:13:13
* @return {*}
* @example: randomColor() => "rgba(107, 35, 72, 1)";
*/
export declare const randomColor: () => any;
/**
* @description: 比例计算
* @author: wxingheng
* @Date: 2022-09-30 11:13:27
* @param {number} value 当前值
* @param {number} source 当前值所在的区间
* @param {number} target 目标区间
* @param {any} toFixedLength 保留小数位数
* @return {*}
* @example: scaleLinear(50, 100, 10, 2) => 5; scaleLinear(50, 100, 10, 0) => 5;
*/
export declare const scaleLinear: (value: number, source: number, target: number, toFixedLength?: any) => any;
/**
* @description: 转换请求为慢响应
* @param {*} func 请求函数
* @param {*} fastestTime 最快响应时间
* @return {*}
* @example: const data = await fetchToSlow(1000 * 2)(getKgDetail(kg_id));
*/
export declare const fetchToSlow: (fastestTime: number | undefined) => (func: any) => any;
/**
* @description: 处理流响应数据
* @author: wxingheng
* @Date: 2023-06-13 16:14:34
* @param {any} response
* @param {object} typewriter
* @return {*}
* @example:
*/
export declare const processStreamResponse: (response: any, typewriter: {
start: () => void;
done: () => void;
add: (arg0: any) => void;
}) => Promise<void>;