lucky-canvas-z
Version:
一个基于原生 js 的(大转盘 / 九宫格 / 老虎机)抽奖插件
54 lines (53 loc) • 1.94 kB
TypeScript
/**
* 判断是否是期望的类型
* @param { unknown } param 将要判断的变量
* @param { ...string } types 期望的类型
* @return { boolean } 返回期望是否正确
*/
export declare const isExpectType: (param: unknown, ...types: string[]) => boolean;
export declare const get: (data: object, strKeys: string) => any;
export declare const has: (data: object, key: string | number) => boolean;
/**
* 移除\n
* @param { string } str 将要处理的字符串
* @return { string } 返回新的字符串
*/
export declare const removeEnter: (str: string) => string;
/**
* 把任何数据类型转成数字
* @param num
*/
export declare const getNumber: (num: unknown) => number;
/**
* 判断颜色是否有效 (透明色 === 无效)
* @param color 颜色
*/
export declare const hasBackground: (color: string | undefined | null) => boolean;
/**
* 通过padding计算
* @return { object } block 边框信息
*/
export declare const computePadding: (block: {
padding?: string | undefined;
}, getLength: Function) => [number, number, number, number];
/**
* 节流函数
* @param fn 将要处理的函数
* @param wait 时间, 单位为毫秒
* @returns 包装好的节流函数
*/
export declare const throttle: (fn: Function, wait?: number) => (this: any, ...args: any[]) => void;
/**
* 通过概率计算出一个奖品索引
* @param { Array<number | undefined> } rangeArr 概率
* @returns { number } 中奖索引
*/
export declare const computeRange: (rangeArr: Array<number | undefined>) => number;
/**
* 根据宽度分割字符串, 来达到换行的效果
* @param text
* @param maxWidth
* @returns
*/
export declare const splitText: (ctx: CanvasRenderingContext2D, text: string, getWidth: (lines: string[]) => number, lineClamp?: number) => string[];
export declare const getSortedArrayByIndex: <T>(arr: T[], order: number[]) => T[];