2284 lines
59 KiB
TypeScript
2284 lines
59 KiB
TypeScript
/**
|
||
* 为日期增减给定的天数
|
||
*
|
||
* @param date 原始日期
|
||
* @param amount 增减的天数
|
||
*
|
||
* @returns 修改后的日期
|
||
*/
|
||
export declare function addDays(date: Dateable, amount: number): Date;
|
||
|
||
/**
|
||
* 为日期增减给定的半天数(12小时)
|
||
*
|
||
* @param date 原始日期
|
||
* @param amount 增减的半天数
|
||
*
|
||
* @returns 修改后的日期
|
||
*/
|
||
export declare function addHalfDays(date: Dateable, amount: number): Date;
|
||
|
||
/**
|
||
* 为日期增减给定的小时
|
||
*
|
||
* @param date 原始日期
|
||
* @param amount 增减的小时
|
||
*
|
||
* @returns 修改后的日期
|
||
*/
|
||
export declare function addHours(date: Dateable, amount: number): Date;
|
||
|
||
/**
|
||
* 为日期增减给定的毫秒
|
||
*
|
||
* @param date 原始日期
|
||
* @param amount 增减的毫秒
|
||
*
|
||
* @returns 修改后的日期
|
||
*/
|
||
export declare function addMilliseconds(date: Dateable, amount: number): Date;
|
||
|
||
/**
|
||
* 为日期增减给定的分钟
|
||
*
|
||
* @param date 原始日期
|
||
* @param amount 增减的分钟
|
||
*
|
||
* @returns 修改后的日期
|
||
*/
|
||
export declare function addMinutes(date: Dateable, amount: number): Date;
|
||
|
||
/**
|
||
* 为日期增减给定的月数
|
||
*
|
||
* @param date 原始日期
|
||
* @param amount 增减的月数
|
||
*
|
||
* @returns 修改后的日期
|
||
*/
|
||
export declare function addMonths(date: Dateable, amount: number): Date;
|
||
|
||
/**
|
||
* 为日期增减给定的季度(3个月)
|
||
*
|
||
* @param date 原始日期
|
||
* @param amount 增减的季度
|
||
*
|
||
* @returns 修改后的日期
|
||
*/
|
||
export declare function addQuarters(date: Dateable, amount: number): Date;
|
||
|
||
/**
|
||
* 为日期增减给定的秒
|
||
*
|
||
* @param date 原始日期
|
||
* @param amount 增减的秒
|
||
*
|
||
* @returns 修改后的日期
|
||
*/
|
||
export declare function addSeconds(date: Dateable, amount: number): Date;
|
||
|
||
/**
|
||
* 为日期增减给定的周数
|
||
*
|
||
* @param date 原始日期
|
||
* @param amount 增减的周数
|
||
*
|
||
* @returns 修改后的日期
|
||
*/
|
||
export declare function addWeeks(date: Dateable, amount: number): Date;
|
||
|
||
/**
|
||
* 为日期增减给定的年份
|
||
*
|
||
* @param date 原始日期
|
||
* @param amount 增减的年份
|
||
*
|
||
* @returns 修改后的日期
|
||
*/
|
||
export declare function addYears(date: Dateable, amount: number): Date;
|
||
|
||
/**
|
||
* 调整给定颜色值的透明度
|
||
*
|
||
* @param color 需要调整的颜色
|
||
* @param alpha 调整后的透明度 0 ~ 1,0% ~ 100%
|
||
*
|
||
* @returns 调整后的颜色
|
||
*/
|
||
export declare function adjustAlpha(color: Color, alpha: number | string): RGBAColor;
|
||
|
||
/**
|
||
* 将给定的常量字符串类型拓展为不区分大小写的任意组合
|
||
*/
|
||
export declare type AnyCase<S> = string extends S ? string : S extends `${infer F1}${infer F2}${infer R}` ? `${Uppercase<F1> | Lowercase<F1>}${Uppercase<F2> | Lowercase<F2>}${AnyCase<R>}` : S extends `${infer F}${infer R}` ? `${Uppercase<F> | Lowercase<F>}${AnyCase<R>}` : '';
|
||
|
||
export declare interface BITree {
|
||
tree: number[];
|
||
/**
|
||
* 为第 index 个元素增减值
|
||
*
|
||
* @param index 索引值
|
||
* @param num 增减的值
|
||
*/
|
||
add(index: number, num: number): void;
|
||
/**
|
||
* 求前 index 个元素的和
|
||
*
|
||
* @param index 索引值
|
||
*
|
||
* @returns 前 index 个元素的和
|
||
*/
|
||
sum(index?: number): number;
|
||
/**
|
||
* 获取第 index 个元素的值
|
||
*
|
||
* @param index 索引值
|
||
*
|
||
* @returns 第 index 个元素的值
|
||
*/
|
||
get(index: number): number;
|
||
/**
|
||
* 根据目标值寻找一个最接近的元素的索引值
|
||
*
|
||
* @param target 目标值
|
||
*
|
||
* @returns 最接近的元素的索引值
|
||
*/
|
||
boundIndex(target: number): number;
|
||
}
|
||
|
||
/**
|
||
* 将给定的数字限定在指定的范围内
|
||
*
|
||
* @param number 需要限定范围的数
|
||
* @param min 边界最小值,包含该值
|
||
* @param max 边界最大值,包含该值
|
||
*
|
||
* @returns 限定在范围内的值
|
||
*/
|
||
export declare function boundRange(number: number | string, min: number, max: number): number;
|
||
|
||
/**
|
||
* 如果一个值为函数,则执行它并返回结果,否则返回其本身
|
||
*
|
||
* @param value 指定的值
|
||
* @param args 若为函数时,传入的参数
|
||
*
|
||
* @returns 原始值或函数执行结果
|
||
*/
|
||
export declare function callIfFunc<T, P extends any[] = any[]>(value: T | ((...args: P) => T), ...args: P): T;
|
||
|
||
/**
|
||
* 将给定的常量字符串类型拓展为大驼峰
|
||
*/
|
||
export declare type CapitalCase<T extends string> = T extends `${infer First} ${infer Rest}` ? CapitalCase<`${First}-${Rest}`> : T extends `${infer First}-${infer Rest}` ? `${Capitalize<First>}${CapitalCase<Rest>}` : Capitalize<T>;
|
||
|
||
/**
|
||
* 当前点击的类型,可以使用触摸交互时为 `pointerdown`,否则为 `click`
|
||
*/
|
||
export declare const CLICK_TYPE: string;
|
||
|
||
export declare type Color = string | RGBColor | RGBAColor | HSLColor | HSLAColor | HSVColor | HSVAColor | HEX3Color | HEX4Color | HEX6Color | HEX8Color;
|
||
|
||
export declare const COLOR_NAMES: Readonly<Set<ColorName>>;
|
||
|
||
export declare interface ColorMeta {
|
||
rgb: RGBColor;
|
||
hsl: HSLColor;
|
||
hsv: HSVColor;
|
||
hex: string;
|
||
alpha: number;
|
||
rgba: RGBAColor;
|
||
hsla: HSLAColor;
|
||
hsva: HSVAColor;
|
||
hex8: string;
|
||
gray: number;
|
||
origin: Color;
|
||
}
|
||
|
||
export declare type ColorName = keyof typeof NAMED_COLORS;
|
||
|
||
export declare type ColorType = 'hex' | 'rgb' | 'hsv' | 'hsl';
|
||
|
||
/**
|
||
* 升序比较两个日期大小,用于给数组的 sort 方法使用
|
||
*
|
||
* @param left 原始日期
|
||
* @param right 原始日期
|
||
*
|
||
* @returns 比较后的结果,`-1` 则左侧小,`1` 则右侧小,`0` 则相等
|
||
*/
|
||
export declare function compareAsc(left: Dateable, right: Dateable): number;
|
||
|
||
/**
|
||
* 降序比较两个日期大小,用于给数组的 sort 方法使用
|
||
*
|
||
* @param left 原始日期
|
||
* @param right 原始日期
|
||
*
|
||
* @returns 比较后的结果,`1` 则左侧小,`-1` 则右侧小,`0` 则相等
|
||
*/
|
||
export declare function compareDesc(left: Dateable, right: Dateable): number;
|
||
|
||
/**
|
||
* 判断一个元素是否包含另一个元素
|
||
*
|
||
* @param el 被包含的元素(子元素)
|
||
* @param parent 包含的元素(父元素)
|
||
*
|
||
* @returns 元素是否包含另一个元素
|
||
*/
|
||
export declare function contains(el?: Element | null, parent?: HTMLElement | null): boolean;
|
||
|
||
/**
|
||
* 创建一个二叉索引树(Fenwick 树)对象
|
||
*
|
||
* 为了节省初始化性能开销,需确保元素最小值已知,其初始值为:元素最小值 * 元素总数
|
||
*
|
||
* @param length 树的大小,即元素的总数
|
||
* @param min 规定元素的最小值
|
||
*
|
||
* @returns 二叉索引树对象
|
||
*/
|
||
export declare function createBITree(length: number, min?: number): BITree;
|
||
|
||
export declare function createCounter(count?: number): {
|
||
getCount: () => number;
|
||
setCount: (newCount: number) => void;
|
||
};
|
||
|
||
/**
|
||
* 创建一个自定义的事件发射器
|
||
*
|
||
* @returns 事件发射器
|
||
*/
|
||
export declare function createEventEmitter(): EventEmitter;
|
||
|
||
export declare type Dateable = number | string | Date;
|
||
|
||
export declare const DAY_ON_HOURS = 24;
|
||
|
||
export declare const DAY_ON_MILLISECONDS: number;
|
||
|
||
/** @deprecated renames to `DAY_ON_MILLISECONDS` */
|
||
export declare const DAY_ON_MILLS: number;
|
||
|
||
export declare const DAY_ON_MINUTES: number;
|
||
|
||
export declare const DAY_ON_SECONDS: number;
|
||
|
||
/**
|
||
* 将一个方法进行防抖
|
||
*
|
||
* @param method 需要防抖的方法,需自行绑定 this
|
||
* @param delay 防抖的限制时间,默认 100ms
|
||
*
|
||
* @returns 防抖后的方法
|
||
*/
|
||
export declare function debounce<T extends (...args: any[]) => any>(method: T, delay?: number): (...args: Parameters<T>) => void;
|
||
|
||
/**
|
||
* 对给定的方法进行渲染帧级别的防抖
|
||
*
|
||
* @param method 需要防抖的方法,需自行绑定 this
|
||
*
|
||
* @returns 防抖后的方法
|
||
*/
|
||
export declare function debounceFrame<T extends (...args: any[]) => any>(method: T): (...args: Parameters<T>) => Promise<Awaited<ReturnType<T>>>;
|
||
|
||
/**
|
||
* 对给定的方法进行微任务级别的防抖
|
||
*
|
||
* @param method 需要防抖的方法,需自行绑定 this
|
||
*
|
||
* @returns 防抖后的方法
|
||
*/
|
||
export declare function debounceMinor<T extends (...args: any[]) => any>(method: T): (...args: Parameters<T>) => Promise<Awaited<ReturnType<T>>>;
|
||
|
||
/**
|
||
* 根据一系列判断条件,执行第一个为 `true` 的条件所对应的回调函数
|
||
*
|
||
* @param conditions 判断条件及回调函数
|
||
* @param options 额外的选项
|
||
*
|
||
* @returns 是否匹配了任一条件
|
||
*/
|
||
export declare function decide(conditions: [boolean | (() => boolean), () => void | Promise<void>][], options?: {
|
||
/**
|
||
* 当匹配任意一个条件时,会在该条件对应的回调函数执行前执行
|
||
*/
|
||
beforeMatchAny?: () => void | Promise<void>;
|
||
/**
|
||
* 当匹配任意一个条件时,会在该条件对应的回调函数执行完后执行
|
||
*/
|
||
afterMatchAny?: () => void | Promise<void>;
|
||
}): Promise<boolean>;
|
||
|
||
/**
|
||
* 返回数字的小数位数
|
||
*
|
||
* @param number 指定的数字
|
||
*
|
||
* @returns 数字的小数位数
|
||
*/
|
||
export declare function decimalLength(number: number | string): number;
|
||
|
||
/**
|
||
* 深度拷贝对象或数组
|
||
*
|
||
* @param obj 需要拷贝的对象或数组
|
||
*
|
||
* @returns 克隆后的对象
|
||
*/
|
||
export declare function deepClone<T>(obj: T, options?: DeepCloneOptions): T;
|
||
|
||
export declare interface DeepCloneOptions {
|
||
/**
|
||
* 一个自定义的克隆对象方法,用于处理方法内置以外的对象克隆,如 Class 的实例
|
||
*
|
||
* @param type 对象的类型,注意格式为大驼峰
|
||
* @param obj 原始对象
|
||
*
|
||
* @returns 克隆后对象
|
||
*/
|
||
cloneObject?: (type: string, obj: unknown) => any;
|
||
}
|
||
|
||
/**
|
||
* 将一个对象销毁,销毁后的对象所有方法不可用,属性值均为 `null`
|
||
*
|
||
* @param object 要销毁的对象
|
||
* @param message 销毁后,调用方法时的错误信息
|
||
*/
|
||
export declare function destroyObject(object: any, message?: string): void;
|
||
|
||
/**
|
||
* 比较两个日期相差的天数
|
||
*
|
||
* @param left 原始日期
|
||
* @param right 原始日期
|
||
*
|
||
* @returns 相差的天数
|
||
*/
|
||
export declare function differenceDays(left: Dateable, right: Dateable): number;
|
||
|
||
/**
|
||
* 比较两个日期相差的完整天
|
||
*
|
||
* @param left 原始日期
|
||
* @param right 原始日期
|
||
*
|
||
* @returns 相差的完整天数
|
||
*/
|
||
export declare function differenceFullDays(left: Dateable, right: Dateable): number;
|
||
|
||
/**
|
||
* 比较两个日期相差的完整小时
|
||
*
|
||
* @param left 原始日期
|
||
* @param right 原始日期
|
||
*
|
||
* @returns 相差的完整小时数
|
||
*/
|
||
export declare function differenceFullHours(left: Dateable, right: Dateable): number;
|
||
|
||
/**
|
||
* 比较两个日期相差的完整分钟
|
||
*
|
||
* @param left 原始日期
|
||
* @param right 原始日期
|
||
*
|
||
* @returns 相差的完整分钟数
|
||
*/
|
||
export declare function differenceFullMinutes(left: Dateable, right: Dateable): number;
|
||
|
||
/**
|
||
* 比较两个日期相差的完整月
|
||
*
|
||
* @param left 原始日期
|
||
* @param right 原始日期
|
||
*
|
||
* @returns 相差的完整月份
|
||
*/
|
||
export declare function differenceFullMonths(left: Dateable, right: Dateable): number;
|
||
|
||
/**
|
||
* 比较两个日期相差的完整季度
|
||
*
|
||
* @param left 原始日期
|
||
* @param right 原始日期
|
||
*
|
||
* @returns 相差的完整季度
|
||
*/
|
||
export declare function differenceFullQuarters(left: Dateable, right: Dateable): number;
|
||
|
||
/**
|
||
* 比较两个日期相差的完整秒
|
||
*
|
||
* @param left 原始日期
|
||
* @param right 原始日期
|
||
*
|
||
* @returns 相差的完整秒数
|
||
*/
|
||
export declare function differenceFullSeconds(left: Dateable, right: Dateable): number;
|
||
|
||
/**
|
||
* 比较两个日期相差的完整周
|
||
*
|
||
* @param left 原始日期
|
||
* @param right 原始日期
|
||
*
|
||
* @returns 相差的完整周数
|
||
*/
|
||
export declare function differenceFullWeeks(left: Dateable, right: Dateable): number;
|
||
|
||
/**
|
||
* 比较两个日期相差的完整年份
|
||
*
|
||
* @param left 原始日期
|
||
* @param right 原始日期
|
||
*
|
||
* @returns 相差的完整年份
|
||
*/
|
||
export declare function differenceFullYears(left: Dateable, right: Dateable): number;
|
||
|
||
/**
|
||
* 比较两个日期相差的小时
|
||
*
|
||
* @param left 原始日期
|
||
* @param right 原始日期
|
||
*
|
||
* @returns 相差的小时数
|
||
*/
|
||
export declare function differenceHours(left: Dateable, right: Dateable): number;
|
||
|
||
/**
|
||
* 比较两个日期相差的毫秒
|
||
*
|
||
* @param left 原始日期
|
||
* @param right 原始日期
|
||
*
|
||
* @returns 相差的毫秒数
|
||
*/
|
||
export declare function differenceMilliseconds(left: Dateable, right: Dateable): number;
|
||
|
||
/**
|
||
* 比较两个日期相差的分钟
|
||
*
|
||
* @param left 原始日期
|
||
* @param right 原始日期
|
||
*
|
||
* @returns 相差的分钟数
|
||
*/
|
||
export declare function differenceMinutes(left: Dateable, right: Dateable): number;
|
||
|
||
/**
|
||
* 比较两个日期相差的月
|
||
*
|
||
* @param left 原始日期
|
||
* @param right 原始日期
|
||
*
|
||
* @returns 相差的月份
|
||
*/
|
||
export declare function differenceMonths(left: Dateable, right: Dateable): number;
|
||
|
||
/**
|
||
* 比较两个日期相差的季度
|
||
*
|
||
* @param left 原始日期
|
||
* @param right 原始日期
|
||
*
|
||
* @returns 相差的季度
|
||
*/
|
||
export declare function differenceQuarters(left: Dateable, right: Dateable): number;
|
||
|
||
/**
|
||
* 比较两个日期相差的秒
|
||
*
|
||
* @param left 原始日期
|
||
* @param right 原始日期
|
||
*
|
||
* @returns 相差的秒数
|
||
*/
|
||
export declare function differenceSeconds(left: Dateable, right: Dateable): number;
|
||
|
||
/**
|
||
* 比较两个日期相差的周
|
||
*
|
||
* @param left 原始日期
|
||
* @param right 原始日期
|
||
* @param weekStartOn 设定周的第一天,默认为周日
|
||
*
|
||
* @returns 相差的周数
|
||
*/
|
||
export declare function differenceWeeks(left: Dateable, right: Dateable, weekStartOn?: number): number;
|
||
|
||
/**
|
||
* 比较两个日期相差的年份
|
||
*
|
||
* @param left 原始日期
|
||
* @param right 原始日期
|
||
*
|
||
* @returns 相差的年份
|
||
*/
|
||
export declare function differenceYears(left: Dateable, right: Dateable): number;
|
||
|
||
/**
|
||
* Return decimal length of a number
|
||
*
|
||
* @param number The input number
|
||
* @deprecated Using `decimalLength` to replace it
|
||
*/
|
||
export declare function digitLength(number: number | string): number;
|
||
|
||
/**
|
||
* 为指定的元素派发事件
|
||
*
|
||
* @param el 指定的元素
|
||
* @param payload 事件的属性
|
||
* @param Event 事件类
|
||
*
|
||
* @returns 事件是否派发成功
|
||
*/
|
||
declare function dispatchEvent_2(el: Element, payload: EventPayload, Event?: {
|
||
new (type: string, eventInitDict?: EventInit): Event;
|
||
prototype: Event;
|
||
readonly NONE: 0;
|
||
readonly CAPTURING_PHASE: 1;
|
||
readonly AT_TARGET: 2;
|
||
readonly BUBBLING_PHASE: 3;
|
||
}): boolean;
|
||
export { dispatchEvent_2 as dispatchEvent }
|
||
|
||
/**
|
||
* 精确的除法
|
||
*
|
||
* @param numbers 需要依次相除的数字
|
||
*
|
||
* @returns 商
|
||
*/
|
||
export declare const divide: (...numbers: (number | string)[]) => number;
|
||
|
||
/**
|
||
* 将小于 10 整数 N 变成 `0N` 的字符串,方法不会对入参校验
|
||
*
|
||
* @param number 需要处理的整数
|
||
*
|
||
* @returns 填充后的字面值
|
||
*/
|
||
export declare function doubleDigits(number: number): string;
|
||
|
||
/**
|
||
* 获取给定日期所在天的结束日期
|
||
*
|
||
* @param date 原始日期
|
||
*
|
||
* @returns 新的开始日期
|
||
*/
|
||
export declare function endOfDay(date: Dateable): Date;
|
||
|
||
/**
|
||
* 如果一个值不为数组,则将其转换为数组
|
||
*
|
||
* @param value 指定的值
|
||
*
|
||
* @returns 原始数组或转换后的数组
|
||
*/
|
||
export declare function ensureArray<T>(value: T | T[]): T[];
|
||
|
||
/**
|
||
* 仅发出一次的错误消息
|
||
*
|
||
* @param message 消息内容
|
||
* @param logFn 输出函数
|
||
*/
|
||
export declare function errorOnce(message: string, logFn?: (...data: any[]) => void): void;
|
||
|
||
/**
|
||
* 将 html 内容的敏感字符进行转换
|
||
*
|
||
* @param string html 内容
|
||
*
|
||
* @returns 转换后的 html 内容
|
||
*/
|
||
export declare function escapeHtml(string: unknown): string;
|
||
|
||
export declare interface EventEmitter {
|
||
/**
|
||
* 为指定的事件添加回调方法
|
||
*
|
||
* @param type 事件类型
|
||
* @param handler 回调方法
|
||
*/
|
||
on: (type: EventType, handler: EventHandler) => void;
|
||
/**
|
||
* 为指定的事件移除回调方法
|
||
*
|
||
* @param type 事件类型
|
||
* @param handler 回调方法
|
||
*/
|
||
off: (type: EventType, handler: EventHandler) => void;
|
||
/**
|
||
* 为指定的事件清除所有回调方法
|
||
*
|
||
* @param type 事件类型
|
||
*/
|
||
clear: (type: EventType) => void;
|
||
/**
|
||
* 清除所有事件的所有回调方法
|
||
*/
|
||
clearAll: () => void;
|
||
/**
|
||
* 派发特定的事件
|
||
*
|
||
* @param type 事件类型
|
||
* @param payload 传入事件回调方法的参数
|
||
*/
|
||
emit: (type: EventType, ...payload: any[]) => void;
|
||
}
|
||
|
||
export declare type EventHandler = (...payload: any[]) => void;
|
||
|
||
export declare type EventHandlerMap = Map<EventType, EventHandlerSet>;
|
||
|
||
export declare type EventHandlerSet = Set<EventHandler>;
|
||
|
||
export declare interface EventPayload extends EventInit {
|
||
/**
|
||
* 事件的类型
|
||
*/
|
||
type: string;
|
||
[prop: string]: any;
|
||
}
|
||
|
||
export declare type EventType = number | string | symbol;
|
||
|
||
/**
|
||
* 遍历树并为每个节点执行过滤方法,并用符合条件的节点构建一棵新的树
|
||
*
|
||
* @param tree 要遍历的树
|
||
* @param cb 过滤的方法
|
||
* @param options 遍历的配置项
|
||
*
|
||
* @returns 过滤后新的树
|
||
*/
|
||
export declare function filterTree<T = any>(tree: T[], cb: (item: T, depth: number, parent: T | null) => boolean, options?: {
|
||
/** 判断一个节点是否为叶子节点 */
|
||
isLeaf?: (item: T) => boolean;
|
||
/** 是否只对叶子节点进行过滤 */
|
||
leafOnly?: boolean;
|
||
childField?: keyof T;
|
||
}): T[];
|
||
|
||
/**
|
||
* 将一个树展平成列表
|
||
*
|
||
* @param tree 要展平的树
|
||
* @param options 转换的配置项
|
||
*
|
||
* @returns 展平后的列表
|
||
*/
|
||
export declare function flatTree<T = any>(tree: T[], options?: TreeOptions<keyof T> & {
|
||
/** 是否为深度优先遍历 */
|
||
depthFirst?: boolean;
|
||
/**
|
||
* 是否为无 ID 的节点插入 ID 值
|
||
*
|
||
* @default true
|
||
*/
|
||
injectId?: boolean;
|
||
/** 构建节点的 ID 的方法 */
|
||
buildId?: (index: number) => any;
|
||
/** 过滤节点的方法 */
|
||
filter?: (item: T) => boolean;
|
||
/** 过滤的结果是否会影响其子级 */
|
||
cascaded?: boolean;
|
||
/** 是否强制为节点插入 ID 值 */
|
||
forceInject?: boolean;
|
||
}): T[];
|
||
|
||
/**
|
||
* 将日期格式化成指定格式
|
||
*
|
||
* @param date 需要格式化的Date对象
|
||
* @param pattern 格式化结构 年-y 月-M 日-d 时-H 分-m 秒-s 季度-q
|
||
*
|
||
* @returns 格式化后的字面值
|
||
*
|
||
* @example
|
||
* ```ts
|
||
* format(new Date(), 'yyyy-MM-dd')
|
||
* ```
|
||
*
|
||
* @example
|
||
* ```ts
|
||
* format(Date.now(), 'yyyy-MM-dd\'T\'HH:mm:ss\'Z\'')
|
||
* ```
|
||
*/
|
||
export declare function format(date: Dateable, pattern?: string): string;
|
||
|
||
/**
|
||
* 根据给定的 Byte 数值,将其格式化成指定单位的大小
|
||
*
|
||
* @param byte 需要计算的 Byte 数值
|
||
* @param unit 格式化的单位
|
||
* @param precision 结果的精度
|
||
* @param joinUtil 是否加入单位
|
||
*
|
||
* @returns 格式化后的值
|
||
*/
|
||
export declare function formatByteSize(byte: number, unit?: SizeUnitWithAuto): number;
|
||
|
||
export declare function formatByteSize(byte: number, unit?: SizeUnitWithAuto, precision?: number): number;
|
||
|
||
export declare function formatByteSize(byte: number, unit?: SizeUnitWithAuto, joinUtil?: true): number;
|
||
|
||
export declare function formatByteSize(byte: number, unit?: SizeUnitWithAuto, joinUtil?: true, precision?: number): number;
|
||
|
||
/**
|
||
* 获取中文星期
|
||
*
|
||
* @param date 给定的日期
|
||
*
|
||
* @returns 中文星期
|
||
*/
|
||
export declare function getChineseWeek(date: Date): string;
|
||
|
||
export declare function getGlobalCount(): number;
|
||
|
||
/**
|
||
* 获取字符串的最后一个字符
|
||
*
|
||
* @param value 指定的字符串
|
||
*
|
||
* @returns 最后一个字符
|
||
*/
|
||
export declare function getLast(value: string): string | undefined;
|
||
|
||
/**
|
||
* 获取数组的最后一个元素
|
||
*
|
||
* @param value 指定的数组
|
||
*
|
||
* @returns 最后一个元素
|
||
*/
|
||
export declare function getLast<T>(value: T[]): T | undefined;
|
||
|
||
/**
|
||
* 获取给定年份和月份的最后一天
|
||
*
|
||
* @param year 原始年份
|
||
* @param month 原始月份
|
||
*
|
||
* @returns 最后一天
|
||
*/
|
||
export declare function getLastDayOfMonth(year: number, month: number): number;
|
||
|
||
/**
|
||
* 根据给定的日期获取上一个周日
|
||
*
|
||
* @param date 原始日期
|
||
*
|
||
* @returns 上一个周日
|
||
*/
|
||
export declare function getLastSunday(date: Date): Date;
|
||
|
||
/**
|
||
* 获取日期所在的季度
|
||
*
|
||
* @param date 给定的日期
|
||
*
|
||
* @returns 日期所在的季度
|
||
*/
|
||
export declare function getQuarter(date: Dateable): number;
|
||
|
||
/**
|
||
* 获取元素的选中宽度
|
||
*
|
||
* @param el 指定的元素
|
||
*
|
||
* @returns 元素的选中宽度
|
||
*/
|
||
export declare function getRangeWidth(el: HTMLElement | null): number;
|
||
|
||
/**
|
||
* 获取日期的时间部分
|
||
*
|
||
* @param date 给定的日期
|
||
*
|
||
* @returns 日期的时间部分
|
||
*/
|
||
export declare function getTime(date: Dateable): string;
|
||
|
||
/**
|
||
* 获取变量的类型
|
||
*
|
||
* @param value 任意变量
|
||
*
|
||
* @returns 变量的类型
|
||
*/
|
||
export declare function getType(value: unknown): string;
|
||
|
||
/**
|
||
* 获取元素横向的边框像素值
|
||
*
|
||
* @param el 指定的元素
|
||
*
|
||
* @returns 元素横向的边框像素值
|
||
*/
|
||
export declare function getXBorder(el: HTMLElement | null): number;
|
||
|
||
/**
|
||
* 获取元素横向的外边距像素值
|
||
*
|
||
* @param el 指定的元素
|
||
*
|
||
* @returns 元素横向的外边距像素值
|
||
*/
|
||
export declare function getXMargin(el: HTMLElement | null): number;
|
||
|
||
/**
|
||
* 获取元素横向的内边距像素值
|
||
*
|
||
* @param el 指定的元素
|
||
*
|
||
* @returns 元素横向的内边距像素值
|
||
*/
|
||
export declare function getXPadding(el: HTMLElement | null): number;
|
||
|
||
/**
|
||
* 获取元素纵向的边框像素值
|
||
*
|
||
* @param el 指定的元素
|
||
*
|
||
* @returns 元素纵向的边框像素值
|
||
*/
|
||
export declare function getYBorder(el: HTMLElement | null): number;
|
||
|
||
/**
|
||
* 获取元素纵向的外边距像素值
|
||
*
|
||
* @param el 指定的元素
|
||
*
|
||
* @returns 元素纵向的外边距像素值
|
||
*/
|
||
export declare function getYMargin(el: HTMLElement | null): number;
|
||
|
||
/**
|
||
* 获取元素纵向的内边距像素值
|
||
*
|
||
* @param el 指定的元素
|
||
*
|
||
* @returns 元素纵向的内边距像素值
|
||
*/
|
||
export declare function getYPadding(el: HTMLElement | null): number;
|
||
|
||
/**
|
||
* 按照一定顺序的属性对数据进行分组
|
||
*
|
||
* @param list 需要分数的数据
|
||
* @param props 需要按顺序分组的属性
|
||
*
|
||
* @returns 分组后的对象
|
||
*/
|
||
export declare function groupByProps<T = any>(list: T[], props?: Array<string | ((item: T) => any)> | string | ((item: T) => any)): Record<string, T[]>;
|
||
|
||
/**
|
||
* 判断一个对象是否包含指定的键值
|
||
*
|
||
* @param value 需判断的对象
|
||
* @param key 指定的键值
|
||
*
|
||
* @returns 是否包含键值
|
||
*/
|
||
export declare function has(value: Record<string, any>, key: string | symbol): key is keyof typeof value;
|
||
|
||
export declare interface HEX3Color extends RGB {
|
||
a?: 1;
|
||
format?: 'name' | 'hex3';
|
||
}
|
||
|
||
export declare interface HEX4Color extends RGB {
|
||
a: number;
|
||
format?: 'name' | 'hex4';
|
||
}
|
||
|
||
export declare interface HEX6Color extends RGB {
|
||
a?: 1;
|
||
format?: 'name' | 'hex6';
|
||
}
|
||
|
||
export declare interface HEX8Color extends RGB {
|
||
a: number;
|
||
format?: 'name' | 'hex8';
|
||
}
|
||
|
||
export declare const HEX_REG_3: RegExp;
|
||
|
||
export declare const HEX_REG_4: RegExp;
|
||
|
||
export declare const HEX_REG_6: RegExp;
|
||
|
||
export declare const HEX_REG_8: RegExp;
|
||
|
||
export declare const HOUR_ON_MILLISECONDS: number;
|
||
|
||
/** @deprecated renames to `HOUR_ON_MILLISECONDS` */
|
||
export declare const HOUR_ON_MILLS: number;
|
||
|
||
export declare const HOUR_ON_MINUTES = 60;
|
||
|
||
export declare const HOUR_ON_SECONDS: number;
|
||
|
||
declare interface HSL extends Record<any, any> {
|
||
h: number;
|
||
s: number;
|
||
l: number;
|
||
a?: number;
|
||
}
|
||
|
||
export declare const HSL_REG: RegExp;
|
||
|
||
export declare const HSLA_REG: RegExp;
|
||
|
||
export declare interface HSLAColor extends HSL {
|
||
a: number;
|
||
format?: 'name' | 'hsla';
|
||
}
|
||
|
||
export declare interface HSLColor extends HSL {
|
||
a?: 1;
|
||
format?: 'name' | 'hsl';
|
||
}
|
||
|
||
/**
|
||
* 将 HSL 颜色转换为 HSV 颜色
|
||
*
|
||
* @param h 0 ~ 360
|
||
* @param s 0 ~ 1,0% ~ 100%
|
||
* @param l 0 ~ 1,0% ~ 100%
|
||
*
|
||
* @returns 转换后的 HSV 颜色
|
||
*/
|
||
export declare function hslToHsv(h: number | string, s: number | string, l: number | string): HSVColor;
|
||
|
||
/**
|
||
* 将 HSL 颜色转换为 RGB 颜色
|
||
*
|
||
* @param h 0 ~ 360
|
||
* @param s 0 ~ 1,0% ~ 100%
|
||
* @param l 0 ~ 1,0% ~ 100%
|
||
*
|
||
* @returns 转换后的 RGB 颜色
|
||
*/
|
||
export declare function hslToRgb(h: number | string, s: number | string, l: number | string): RGBColor;
|
||
|
||
declare interface HSV extends Record<any, any> {
|
||
h: number;
|
||
s: number;
|
||
v: number;
|
||
a?: number;
|
||
}
|
||
|
||
export declare const HSV_REG: RegExp;
|
||
|
||
export declare const HSVA_REG: RegExp;
|
||
|
||
export declare interface HSVAColor extends HSV {
|
||
a: number;
|
||
format?: 'name' | 'hsva';
|
||
}
|
||
|
||
export declare interface HSVColor extends HSV {
|
||
a?: 1;
|
||
format?: 'name' | 'hsv';
|
||
}
|
||
|
||
/**
|
||
* 将 HSV 颜色转换为 HSL 颜色
|
||
*
|
||
* @param h 0 ~ 360
|
||
* @param s 0 ~ 1,0% ~ 100%
|
||
* @param v 0 ~ 1,0% ~ 100%
|
||
*
|
||
* @returns 转换后的 HSL 颜色
|
||
*/
|
||
export declare function hsvToHsl(h: number | string, s: number | string, v: number | string): HSLColor;
|
||
|
||
/**
|
||
* 将 HSV 颜色转换为 RGB 颜色
|
||
*
|
||
* @param h 0 ~ 360
|
||
* @param s 0 ~ 1,0% ~ 100%
|
||
* @param v 0 ~ 1,0% ~ 100%
|
||
*
|
||
* @returns 转换后的 RGB 颜色
|
||
*/
|
||
export declare function hsvToRgb(h: number | string, s: number | string, v: number | string): RGBColor;
|
||
|
||
/**
|
||
* 仅发出一次的提示消息
|
||
*
|
||
* @param message 消息内容
|
||
* @param logFn 输出函数
|
||
*/
|
||
export declare function infoOnce(message: string, logFn?: (...data: any[]) => void): void;
|
||
|
||
/**
|
||
* 判断一个值是否为指定的类型
|
||
*
|
||
* @param value 需判断的值
|
||
* @param type 指定的类型,注意大小写
|
||
*
|
||
* @returns 类型是否匹配
|
||
*/
|
||
export declare function is(value: unknown, type: string): boolean;
|
||
|
||
/**
|
||
* 判断一个值是否为数组
|
||
*
|
||
* @param value 需判断的值
|
||
*
|
||
* @returns 是否为数组
|
||
*/
|
||
export declare function isArray<T = any>(value: unknown): value is T[];
|
||
|
||
/**
|
||
* 判断一个值是否为 `BigInt`
|
||
*
|
||
* @param value 需判断的值
|
||
*
|
||
* @returns 是否为 `BigInt`
|
||
*/
|
||
export declare function isBigInt(value: unknown): value is bigint;
|
||
|
||
/**
|
||
* 判断一个值是否为布尔值
|
||
*
|
||
* @param value 需判断的值
|
||
*
|
||
* @returns 是否为布尔值
|
||
*/
|
||
export declare function isBoolean(value: unknown): value is boolean;
|
||
|
||
/** 当前环境是否为客户端 */
|
||
export declare const isClient: boolean;
|
||
|
||
/**
|
||
* 判断给定的字符串是否为一个合法颜色值
|
||
*
|
||
* @param value 原始字符串
|
||
*
|
||
* @returns 是否为合法颜色
|
||
*/
|
||
export declare function isColor(value: string): boolean;
|
||
|
||
/**
|
||
* 判断一个值是否为 `Date`
|
||
*
|
||
* @param value 需判断的值
|
||
*
|
||
* @returns 是否为 `Date`
|
||
*/
|
||
export declare function isDate(value: unknown): value is Date;
|
||
|
||
/**
|
||
* 判断一个值是否已定义
|
||
*
|
||
* @param value 需判断的值
|
||
*
|
||
* @returns 是否已定义
|
||
*/
|
||
export declare function isDefined<T = unknown>(value: T | undefined | null): value is Exclude<T, undefined | null>;
|
||
|
||
/**
|
||
* 判断指定的元素是否被禁用
|
||
*
|
||
* @param el 需判断的元素
|
||
*
|
||
* @returns 元素是否被禁用
|
||
*/
|
||
export declare function isDisabled(el?: Element | null): boolean;
|
||
|
||
/**
|
||
* 判断一个值是否为 `Element`
|
||
*
|
||
* @param value 需判断的值
|
||
* @param ssr 是否考虑服务端渲染
|
||
*
|
||
* @returns 是否为 `Element`
|
||
*/
|
||
export declare function isElement<T extends Element = Element>(value: unknown, ssr?: boolean): value is T;
|
||
|
||
/**
|
||
* 判断一个值是否为空
|
||
*
|
||
* - 如果这是一个数组或字符串,则 `length` 为 `0` 时为空
|
||
* - 如果这是一个 `Set` 或 `Map`,则 `size` 为 `0` 时为空
|
||
* - 如果这是一个对象,则无任何键值时为空
|
||
* - 如果这是一个数字,则为 `NaN` 时为空
|
||
* - 其余情况下,未定义时为空
|
||
*
|
||
* @param value 需判断的值
|
||
*
|
||
* @returns 是否为空
|
||
*/
|
||
export declare function isEmpty(value: unknown): boolean;
|
||
|
||
/**
|
||
* 判断一个值是否为 `false`
|
||
*
|
||
* @param value 需判断的值
|
||
*
|
||
* @returns 是否为 `false`
|
||
*/
|
||
export declare function isFalse(value: unknown): value is false;
|
||
|
||
/**
|
||
* 判断指定的元素是否聚焦或包含聚焦的元素
|
||
*
|
||
* @param el 需判断的元素
|
||
*
|
||
* @returns 是否聚焦或包含聚焦的元素
|
||
*/
|
||
export declare function isFocusIn(el?: Element | null): boolean;
|
||
|
||
/**
|
||
* 判断一个值是否为函数
|
||
*
|
||
* @param value 需判断的值
|
||
*
|
||
* @returns 是否为函数
|
||
*/
|
||
export declare function isFunction(value: unknown): value is (...any: any[]) => any;
|
||
|
||
/**
|
||
* 判断指定的元素是否隐藏
|
||
*
|
||
* @param el 需判断的元素
|
||
*
|
||
* @returns 元素是否隐藏
|
||
*/
|
||
export declare function isHidden(el?: Element | null): boolean;
|
||
|
||
/** 当前环境是否为 IOS */
|
||
export declare const isIOS: boolean | "";
|
||
|
||
/**
|
||
* 判断一个值能否被迭代
|
||
*
|
||
* @param value 需判断的值
|
||
*
|
||
* @returns 能否被迭代
|
||
*/
|
||
export declare function isIterable(value: unknown): boolean;
|
||
|
||
/**
|
||
* 判断给定的年份是否为闰年
|
||
*
|
||
* @param year 原始年份
|
||
*
|
||
* @returns 是否为闰年
|
||
*/
|
||
export declare function isLeapYear(year: number): boolean;
|
||
|
||
/**
|
||
* 判断一个值是否为 `Map`
|
||
*
|
||
* @param value 需判断的值
|
||
*
|
||
* @returns 是否为 `Map`
|
||
*/
|
||
export declare function isMap<K = any, V = any>(value: unknown): value is Map<K, V>;
|
||
|
||
/**
|
||
* 判断一个值是否为 `NaN`
|
||
*
|
||
* @param value 需判断的值
|
||
*
|
||
* @returns 是否为 `NaN`
|
||
*/
|
||
declare function isNaN_2(value: unknown): value is number;
|
||
export { isNaN_2 as isNaN }
|
||
|
||
/**
|
||
* 判断一个值是否未被定义
|
||
*
|
||
* @param value 需判断的值
|
||
*
|
||
* @returns 是否未定义
|
||
*/
|
||
export declare function isNull(value: unknown): value is null | undefined;
|
||
|
||
/**
|
||
* 判断一个值是否为数字
|
||
*
|
||
* @param value 需判断的值
|
||
*
|
||
* @returns 是否为数字
|
||
*/
|
||
export declare function isNumber(value: unknown): value is number;
|
||
|
||
/**
|
||
* 判断一个值是否为对象
|
||
*
|
||
* 注意,`null` 与原生的特殊对象不被包含
|
||
*
|
||
* @param value 需判断的值
|
||
*
|
||
* @returns 是否为对象
|
||
*/
|
||
export declare function isObject<T extends Record<any, any> = Record<any, any>>(value: unknown): value is T;
|
||
|
||
/**
|
||
* 判断一个值是否为 `Promise`
|
||
*
|
||
* 如果一个对象包含 `then` 和 `catch` 方法,则被认为是一个 `Promise`
|
||
*
|
||
* @param value 需判断的值
|
||
*
|
||
* @returns 是否为 `Promise`
|
||
*/
|
||
export declare function isPromise<T = any>(value: unknown): value is Promise<T>;
|
||
|
||
/**
|
||
* 判断一个值是否为正则
|
||
*
|
||
* @param value 需判断的值
|
||
*
|
||
* @returns 是否为正则
|
||
*/
|
||
export declare function isRegExp(value: unknown): value is RegExp;
|
||
|
||
/**
|
||
* 判断一个值是否为 `Set`
|
||
*
|
||
* @param value 需判断的值
|
||
*
|
||
* @returns 是否为 `Set`
|
||
*/
|
||
export declare function isSet<T = any>(value: unknown): value is Set<T>;
|
||
|
||
/**
|
||
* 判断一个值是否为字符串
|
||
*
|
||
* @param value 需判断的值
|
||
*
|
||
* @returns 是否为字符串
|
||
*/
|
||
export declare function isString(value: unknown): value is string;
|
||
|
||
/**
|
||
* 判断一个值是否为 `Symbol`
|
||
*
|
||
* @param value 需判断的值
|
||
*
|
||
* @returns 是否为 `Symbol`
|
||
*/
|
||
export declare function isSymbol(value: unknown): value is symbol;
|
||
|
||
/**
|
||
* 判断一个值是否为 `true`
|
||
*
|
||
* @param value 需判断的值
|
||
*
|
||
* @returns 是否为 `true`
|
||
*/
|
||
export declare function isTrue(value: unknown): value is true;
|
||
|
||
/**
|
||
* 检测给定的值是否可以通过 parseFlat 或 Number 方法转为数字
|
||
*
|
||
* 开启严格模式则通过正则以更严格的方法判断
|
||
*
|
||
* @param value 需要检测的值
|
||
* @param strict 是否为严格模式
|
||
*
|
||
* @returns 值是否可以转为数字
|
||
*/
|
||
export declare function isValidNumber(value: unknown, strict?: boolean): boolean;
|
||
|
||
/**
|
||
* 判断指定的元素是否可见
|
||
*
|
||
* @param el 需判断的元素
|
||
*
|
||
* @returns 元素是否可见
|
||
*/
|
||
export declare function isVisible(el?: Element | null): boolean;
|
||
|
||
/**
|
||
* 将给定的被除数和除数,不断的取余直至达到次数限制或余数小于除数,返回系列余数
|
||
*
|
||
* @param number 被除数,需大于 0
|
||
* @param divideBy 除数,需大于 1
|
||
* @param limit 次数限制,默认为 0,小于 1 则不作限制
|
||
*
|
||
* @returns 相除过程的系列余数
|
||
*/
|
||
export declare function leaveNumber(number: number, divideBy: number, limit?: number): number[];
|
||
|
||
declare function listToMap<T = any, K extends keyof T = keyof T>(list: T[], prop: K, useMap?: false): Record<T[K] extends RecordKey ? T[K] : RecordKey, T>;
|
||
|
||
declare function listToMap<T = any, O = T, K extends keyof T = keyof T>(list: T[], prop: K, accessor?: (item: T) => O, useMap?: false): Record<T[K] extends RecordKey ? T[K] : RecordKey, O>;
|
||
|
||
declare function listToMap<T = any, K = RecordKey>(list: T[], prop: (item: T) => K, useMap?: false): Record<K extends RecordKey ? K : RecordKey, T>;
|
||
|
||
declare function listToMap<T = any, O = T, K = RecordKey>(list: T[], prop: (item: T) => K, accessor?: (item: T) => O, useMap?: false): Record<K extends RecordKey ? K : RecordKey, O>;
|
||
|
||
declare function listToMap<T = any, K extends keyof T = keyof T>(list: T[], prop: K, useMap?: true): Map<T[K], T>;
|
||
|
||
declare function listToMap<T = any, O = T, K extends keyof T = keyof T>(list: T[], prop: K, accessor?: (item: T) => O, useMap?: true): Map<T[K], O>;
|
||
|
||
declare function listToMap<T = any, K = any>(list: T[], prop: (item: T) => K, useMap?: true): Map<K, T>;
|
||
|
||
declare function listToMap<T = any, O = T, K = any>(list: T[], prop: (item: T) => K, accessor?: (item: T) => O, useMap?: true): Map<K, O>;
|
||
export { listToMap }
|
||
export { listToMap as transformListToMap }
|
||
|
||
/**
|
||
* 遍历树并为每个节点执行回调方法,并用其返回值构建一颗新的树
|
||
*
|
||
* @param tree 要遍历的树
|
||
* @param cb 回调函数
|
||
* @param options 遍历的配置项
|
||
*
|
||
* @returns 构建后新的树
|
||
*/
|
||
export declare function mapTree<T = any, R = any>(tree: T[], cb: (item: T, depth: number, parent: T | null) => R, options?: {
|
||
/** 是否为深度优先遍历 */
|
||
depthFirst?: boolean;
|
||
childField?: keyof T;
|
||
/** 是否强制重置 `children` 字段 */
|
||
clearChildren?: boolean;
|
||
}): R[];
|
||
|
||
/**
|
||
* 将两个对象进行深度的动态合并
|
||
*
|
||
* @param sourceObj 用于接收合并的源对象
|
||
* @param targetObj 被合并的对象,当属性名相同但值类型不同的情况,此对象的权重更高
|
||
* @param isNewObj 标记合并至一个全新的对象(深度的)
|
||
*
|
||
* @returns 合并后的对象
|
||
*/
|
||
export declare function mergeObjects<T extends Record<string, any>, U extends Record<string, any>>(sourceObj: T, targetObj: U, isNewObj?: boolean): T & U;
|
||
|
||
/**
|
||
* 精确的减法
|
||
*
|
||
* @param numbers 需要依次相减的数字
|
||
*
|
||
* @returns 差值
|
||
*/
|
||
export declare const minus: (...numbers: (number | string)[]) => number;
|
||
|
||
export declare const MINUTE_ON_MILLISECONDS: number;
|
||
|
||
/** @deprecated renames to `MINUTE_ON_MILLISECONDS` */
|
||
export declare const MINUTE_ON_MILLS: number;
|
||
|
||
export declare const MINUTE_ON_SECONDS = 60;
|
||
|
||
/**
|
||
* 将两种颜色按照一定的比例混合
|
||
*
|
||
* @param color1 第一种颜色
|
||
* @param color2 第二种颜色
|
||
* @param weight 混合比例 0 ~ 1,越小则第一种颜色越少
|
||
*
|
||
* @returns 混合后的颜色
|
||
*/
|
||
export declare function mixColor(color1: Color, color2: Color, weight?: number): RGBAColor;
|
||
|
||
/**
|
||
* 将给定的实数扩大一定的倍数并保留一定的小数
|
||
*
|
||
* @param number 要处理的实数
|
||
* @param multiple 要扩大的倍数
|
||
* @param decimal 要保留的小数
|
||
*
|
||
* @returns 扩大并保留小数后的值
|
||
*/
|
||
export declare function multipleFixed(number: number, multiple: number, decimal: number): number;
|
||
|
||
export declare const NAMED_COLORS: Readonly<{
|
||
aliceblue: "f0f8ff";
|
||
antiquewhite: "faebd7";
|
||
aqua: "0ff";
|
||
aquamarine: "7fffd4";
|
||
azure: "f0ffff";
|
||
beige: "f5f5dc";
|
||
bisque: "ffe4c4";
|
||
black: "000";
|
||
blanchedalmond: "ffebcd";
|
||
blue: "00f";
|
||
blueviolet: "8a2be2";
|
||
brown: "a52a2a";
|
||
burlywood: "deb887";
|
||
burntsienna: "ea7e5d";
|
||
cadetblue: "5f9ea0";
|
||
chartreuse: "7fff00";
|
||
chocolate: "d2691e";
|
||
coral: "ff7f50";
|
||
cornflowerblue: "6495ed";
|
||
cornsilk: "fff8dc";
|
||
crimson: "dc143c";
|
||
cyan: "0ff";
|
||
darkblue: "00008b";
|
||
darkcyan: "008b8b";
|
||
darkgoldenrod: "b8860b";
|
||
darkgray: "a9a9a9";
|
||
darkgreen: "006400";
|
||
darkgrey: "a9a9a9";
|
||
darkkhaki: "bdb76b";
|
||
darkmagenta: "8b008b";
|
||
darkolivegreen: "556b2f";
|
||
darkorange: "ff8c00";
|
||
darkorchid: "9932cc";
|
||
darkred: "8b0000";
|
||
darksalmon: "e9967a";
|
||
darkseagreen: "8fbc8f";
|
||
darkslateblue: "483d8b";
|
||
darkslategray: "2f4f4f";
|
||
darkslategrey: "2f4f4f";
|
||
darkturquoise: "00ced1";
|
||
darkviolet: "9400d3";
|
||
deeppink: "ff1493";
|
||
deepskyblue: "00bfff";
|
||
dimgray: "696969";
|
||
dimgrey: "696969";
|
||
dodgerblue: "1e90ff";
|
||
firebrick: "b22222";
|
||
floralwhite: "fffaf0";
|
||
forestgreen: "228b22";
|
||
fuchsia: "f0f";
|
||
gainsboro: "dcdcdc";
|
||
ghostwhite: "f8f8ff";
|
||
gold: "ffd700";
|
||
goldenrod: "daa520";
|
||
gray: "808080";
|
||
green: "008000";
|
||
greenyellow: "adff2f";
|
||
grey: "808080";
|
||
honeydew: "f0fff0";
|
||
hotpink: "ff69b4";
|
||
indianred: "cd5c5c";
|
||
indigo: "4b0082";
|
||
ivory: "fffff0";
|
||
khaki: "f0e68c";
|
||
lavender: "e6e6fa";
|
||
lavenderblush: "fff0f5";
|
||
lawngreen: "7cfc00";
|
||
lemonchiffon: "fffacd";
|
||
lightblue: "add8e6";
|
||
lightcoral: "f08080";
|
||
lightcyan: "e0ffff";
|
||
lightgoldenrodyellow: "fafad2";
|
||
lightgray: "d3d3d3";
|
||
lightgreen: "90ee90";
|
||
lightgrey: "d3d3d3";
|
||
lightpink: "ffb6c1";
|
||
lightsalmon: "ffa07a";
|
||
lightseagreen: "20b2aa";
|
||
lightskyblue: "87cefa";
|
||
lightslategray: "789";
|
||
lightslategrey: "789";
|
||
lightsteelblue: "b0c4de";
|
||
lightyellow: "ffffe0";
|
||
lime: "0f0";
|
||
limegreen: "32cd32";
|
||
linen: "faf0e6";
|
||
magenta: "f0f";
|
||
maroon: "800000";
|
||
mediumaquamarine: "66cdaa";
|
||
mediumblue: "0000cd";
|
||
mediumorchid: "ba55d3";
|
||
mediumpurple: "9370db";
|
||
mediumseagreen: "3cb371";
|
||
mediumslateblue: "7b68ee";
|
||
mediumspringgreen: "00fa9a";
|
||
mediumturquoise: "48d1cc";
|
||
mediumvioletred: "c71585";
|
||
midnightblue: "191970";
|
||
mintcream: "f5fffa";
|
||
mistyrose: "ffe4e1";
|
||
moccasin: "ffe4b5";
|
||
navajowhite: "ffdead";
|
||
navy: "000080";
|
||
oldlace: "fdf5e6";
|
||
olive: "808000";
|
||
olivedrab: "6b8e23";
|
||
orange: "ffa500";
|
||
orangered: "ff4500";
|
||
orchid: "da70d6";
|
||
palegoldenrod: "eee8aa";
|
||
palegreen: "98fb98";
|
||
paleturquoise: "afeeee";
|
||
palevioletred: "db7093";
|
||
papayawhip: "ffefd5";
|
||
peachpuff: "ffdab9";
|
||
peru: "cd853f";
|
||
pink: "ffc0cb";
|
||
plum: "dda0dd";
|
||
powderblue: "b0e0e6";
|
||
purple: "800080";
|
||
rebeccapurple: "663399";
|
||
red: "f00";
|
||
rosybrown: "bc8f8f";
|
||
royalblue: "4169e1";
|
||
saddlebrown: "8b4513";
|
||
salmon: "fa8072";
|
||
sandybrown: "f4a460";
|
||
seagreen: "2e8b57";
|
||
seashell: "fff5ee";
|
||
sienna: "a0522d";
|
||
silver: "c0c0c0";
|
||
skyblue: "87ceeb";
|
||
slateblue: "6a5acd";
|
||
slategray: "708090";
|
||
slategrey: "708090";
|
||
snow: "fffafa";
|
||
springgreen: "00ff7f";
|
||
steelblue: "4682b4";
|
||
tan: "d2b48c";
|
||
teal: "008080";
|
||
thistle: "d8bfd8";
|
||
tomato: "ff6347";
|
||
turquoise: "40e0d0";
|
||
violet: "ee82ee";
|
||
wheat: "f5deb3";
|
||
white: "fff";
|
||
whitesmoke: "f5f5f5";
|
||
yellow: "ff0";
|
||
yellowgreen: "9acd32";
|
||
}>;
|
||
|
||
/**
|
||
* 在下一渲染帧,仅执行一次传入的方法
|
||
*
|
||
* @param method 需要执行的方法
|
||
* @param args 方法的额外参数,在方法调用前多次传入将会覆盖之前的参数
|
||
*/
|
||
export declare function nextFrameOnce<T extends (...args: any[]) => any>(method: T, ...args: any[]): undefined;
|
||
|
||
/**
|
||
* 在下一微任务,仅执行一次传入的方法
|
||
*
|
||
* @param method 需要执行的方法
|
||
* @param args 方法的额外参数,在方法调用前多次传入将会覆盖之前的参数
|
||
*/
|
||
export declare function nextTickOnce<T extends (...args: any[]) => any>(method: T, ...args: any[]): undefined;
|
||
|
||
/**
|
||
* 一个空的占位函数
|
||
*/
|
||
export declare function noop(...args: any[]): any;
|
||
|
||
/**
|
||
* 将原始透明度值标准化为 0 ~ 1 的值
|
||
*
|
||
* @param a 0 ~ 1,0% ~ 100%
|
||
*
|
||
* @returns 标准化后的透明度
|
||
*/
|
||
export declare function normalizeAlpha(a: number | string): number;
|
||
|
||
/**
|
||
* 将原始的 h、s、l 值标准化为 0 ~ 1 的值
|
||
*
|
||
* @param h 0 ~ 360
|
||
* @param s 0 ~ 1,0% ~ 100%
|
||
* @param l 0 ~ 1,0% ~ 100%
|
||
*
|
||
* @returns 标准化后的 HSL 对象
|
||
*/
|
||
export declare function normalizeHsl(h: number | string, s: number | string, l: number | string): {
|
||
h: number;
|
||
s: number;
|
||
l: number;
|
||
};
|
||
|
||
/**
|
||
* 将原始的 h、s、v 值标准化为 0 ~ 1 的值
|
||
*
|
||
* @param h 0 ~ 360
|
||
* @param s 0 ~ 1,0% ~ 100%
|
||
* @param v 0 ~ 1,0% ~ 100%
|
||
*
|
||
* @returns 标准化的 HSV 对象
|
||
*/
|
||
export declare function normalizeHsv(h: number | string, s: number | string, v: number | string): {
|
||
h: number;
|
||
s: number;
|
||
v: number;
|
||
};
|
||
|
||
/**
|
||
* 将路径中的 `\` 替换为 `/`
|
||
*
|
||
* @param path 指定的路径
|
||
*
|
||
* @returns 替换后的路径
|
||
*/
|
||
export declare function normalizePath(path: string): string;
|
||
|
||
/**
|
||
* 将原始的 r、g、b 值标准化为 0 ~ 1 的值
|
||
*
|
||
* @param r 0 ~ 255
|
||
* @param g 0 ~ 255
|
||
* @param b 0 ~ 255
|
||
*
|
||
* @returns 标准化后 RGB 对象
|
||
*/
|
||
export declare function normalizeRgb(r: number | string, g: number | string, b: number | string): {
|
||
r: number;
|
||
g: number;
|
||
b: number;
|
||
};
|
||
|
||
export declare const numberRE: RegExp;
|
||
|
||
export declare type ObjectColor = Exclude<Color, string>;
|
||
|
||
/**
|
||
* 将给定的数字转换为序数词
|
||
*
|
||
* @param value 需要转换的数字
|
||
*
|
||
* @returns 转换后的序数词
|
||
*/
|
||
export declare function ordinalNumber(value: number): string;
|
||
|
||
/**
|
||
* 为给定的整数开头填充 0,直至满足指定的长度
|
||
*
|
||
* @param number 需要处理的整数
|
||
* @param length 填充至的长度
|
||
*
|
||
* @returns 填充后的字面值
|
||
*/
|
||
export declare function padStartZeros(number: number, length: number): string;
|
||
|
||
/**
|
||
* 将给定的 {@link Color} 解析为 {@link ColorMeta}
|
||
*
|
||
* @param color 原始颜色值
|
||
*
|
||
* @returns 解析后的颜色元数据
|
||
*/
|
||
export declare function parseColor(color: Color): ColorMeta;
|
||
|
||
/**
|
||
* 将给定的 {@link Color} 解析为 {@link RGBAColor}
|
||
*
|
||
* @param originColor 原始颜色值
|
||
*
|
||
* @returns 解析后的 RGB 颜色对象
|
||
*/
|
||
export declare function parseColorToRgba(originColor: Color): RGBAColor;
|
||
|
||
/**
|
||
* 将给定的字符串转化为 {@link ObjectColor},无法转换时返回 null
|
||
*
|
||
* @param color 原始颜色字符串
|
||
*
|
||
* @returns 解析后的颜色对象
|
||
*/
|
||
export declare function parseStringColor(color: string): ObjectColor | null;
|
||
|
||
/**
|
||
* 精确的加法
|
||
*
|
||
* @param numbers 需要依次相加的数字
|
||
*
|
||
* @returns 和
|
||
*/
|
||
export declare const plus: (...numbers: (number | string)[]) => number;
|
||
|
||
export declare const QUARTER_ON_MONTHS = 3;
|
||
|
||
/**
|
||
* 检索匹配指定选择器的所有元素
|
||
*
|
||
* @param selector 选择器
|
||
* @param root 根元素,不指定时为 `document.body`
|
||
*
|
||
* @returns 匹配的所有元素
|
||
*/
|
||
export declare function queryAll(selector: string, root?: Element | null): HTMLElement[];
|
||
|
||
/**
|
||
* 检索可以被切换焦点(Tab)的元素
|
||
*
|
||
* @param root 根元素,不指定时为 `document.body`
|
||
* @param includeDisabled 是否包含被禁用的元素
|
||
*
|
||
* @returns 可以被切换焦点的元素
|
||
*/
|
||
export declare function queryTabables(root?: HTMLElement, includeDisabled?: boolean): HTMLElement[];
|
||
|
||
export declare const raf: (cb: FrameRequestCallback) => void;
|
||
|
||
/**
|
||
* 在给定的范围内随机一个数
|
||
*
|
||
* @param max 最大值
|
||
* @param min 最小值,默认为 0
|
||
*
|
||
* @returns 生成的随机数
|
||
*/
|
||
export declare function random(max: number, min?: number): number;
|
||
|
||
/**
|
||
* 随机生成一个颜色值
|
||
*
|
||
* @param withAlpha 是否具有透明度
|
||
* @param type 颜色的类型
|
||
*
|
||
* @returns 生成的颜色字面值
|
||
*/
|
||
export declare function randomColor(withAlpha?: boolean, type?: ColorType): string;
|
||
|
||
/**
|
||
* 随机生成一个冷色调的颜色值
|
||
*
|
||
* @param withAlpha 是否具有透明度
|
||
* @param type 颜色的类型
|
||
*
|
||
* @returns 生成的颜色字面值
|
||
*/
|
||
export declare function randomHardColor(withAlpha?: boolean, type?: ColorType): string;
|
||
|
||
/**
|
||
* 随机生成一个特定色调(冷暖色)的颜色值
|
||
*
|
||
* @param prefer 色调
|
||
* @param withAlpha 是否具有透明度
|
||
* @param type 颜色的类型
|
||
*
|
||
* @returns 生成的颜色字面值
|
||
*/
|
||
export declare function randomPreferColor(prefer: 'hard' | 'soft', withAlpha?: boolean, type?: ColorType): string;
|
||
|
||
/**
|
||
* 随机生成一个暖色调的颜色值
|
||
*
|
||
* @param withAlpha 是否具有透明度
|
||
* @param type 颜色的类型
|
||
*
|
||
* @returns 生成的颜色字面值
|
||
*/
|
||
export declare function randomSoftColor(withAlpha?: boolean, type?: ColorType): string;
|
||
|
||
/**
|
||
* 根据长度生成一串随机的字符串
|
||
*
|
||
* @param length 字符串的长度
|
||
*
|
||
* @returns 生成的字符串
|
||
*/
|
||
export declare function randomString(length?: number): string;
|
||
|
||
/**
|
||
* 生成一个值递进的数组
|
||
*
|
||
* @param size 大小
|
||
* @param start 开始的数值,默认为 1
|
||
* @param step 跨度,默认为 1
|
||
*
|
||
* @returns 生成的数组
|
||
*/
|
||
export declare function range(size: number, start?: number, step?: number): number[];
|
||
|
||
/**
|
||
* 生成一个天数递进的日期数组
|
||
*
|
||
* @param start 开始日期
|
||
* @param size range 的大小, 默认 42 (一般电子日历为 6 行 7 列)
|
||
* @param step range 的跨幅
|
||
*
|
||
* @returns 生成的日期数组
|
||
*/
|
||
export declare function rangeDate(start: Dateable, size?: number, step?: number): Date[];
|
||
|
||
/**
|
||
* 生成一个月份递进的日期数组
|
||
*
|
||
* @param start 开始日期
|
||
* @param size range 的大小, 默认 12 (一年)
|
||
* @param step range 的跨幅
|
||
*
|
||
* @returns 生成的日期数组
|
||
*/
|
||
export declare function rangeMonth(start: Dateable, size?: number, step?: number): Date[];
|
||
|
||
declare type RecordKey = string | number | symbol;
|
||
|
||
/**
|
||
* 移除数组中的某个元素
|
||
*
|
||
* @param array 需要被移除元素的数组
|
||
* @param item 需要被移除的元素, 或一个查找方法,如果元素为函数时则需要做一层简单包装
|
||
* @param isFn 标记数组的元素是否为函数
|
||
*
|
||
* @returns 被移除的元素
|
||
*/
|
||
export declare function removeArrayItem<T = any>(array: T[], item: T | ((item: T) => boolean), isFn?: boolean): T | null;
|
||
|
||
declare interface RGB extends Record<any, any> {
|
||
r: number;
|
||
g: number;
|
||
b: number;
|
||
a?: number;
|
||
}
|
||
|
||
export declare const RGB_REG: RegExp;
|
||
|
||
export declare const RGBA_REG: RegExp;
|
||
|
||
export declare interface RGBAColor extends RGB {
|
||
a: number;
|
||
format?: 'name' | 'rgba';
|
||
}
|
||
|
||
/**
|
||
* 将 RGBA 颜色转换为 HEX 颜色
|
||
*
|
||
* @param r 0 ~ 255
|
||
* @param g 0 ~ 255
|
||
* @param b 0 ~ 255
|
||
* @param a 0 ~ 1,0% ~ 100%
|
||
* @param allow4Char 是否允许 4 位的 HEX 值
|
||
*
|
||
* @returns 转换后的 HEX 颜色
|
||
*/
|
||
export declare function rgbaToHex(r: number | string, g: number | string, b: number | string, a: number | string, allow4Char?: boolean): string;
|
||
|
||
export declare interface RGBColor extends RGB {
|
||
a?: 1;
|
||
format?: 'name' | 'rgb';
|
||
}
|
||
|
||
/**
|
||
* 将 RGB 颜色转换为 HEX 颜色
|
||
*
|
||
* @param r 0 ~ 255
|
||
* @param g 0 ~ 255
|
||
* @param b 0 ~ 255
|
||
* @param allow3Char 是否允许 3 位的 HEX 值
|
||
*
|
||
* @returns 转换后的 HEX 颜色
|
||
*/
|
||
export declare function rgbToHex(r: number | string, g: number | string, b: number | string, allow3Char?: boolean): string;
|
||
|
||
/**
|
||
* 将 RGB 颜色转换为 HSL 颜色
|
||
*
|
||
* @param r 0 ~ 255
|
||
* @param g 0 ~ 255
|
||
* @param b 0 ~ 255
|
||
*
|
||
* @returns 转换后的 HSL 颜色
|
||
*/
|
||
export declare function rgbToHsl(r: number | string, g: number | string, b: number | string): HSLColor;
|
||
|
||
/**
|
||
* 将 RGB 颜色转换为 HSV 颜色
|
||
*
|
||
* @param r 0 ~ 255
|
||
* @param g 0 ~ 255
|
||
* @param b 0 ~ 255
|
||
*
|
||
* @returns 转换后的 HSV 颜色
|
||
*/
|
||
export declare function rgbToHsv(r: number | string, g: number | string, b: number | string): HSVColor;
|
||
|
||
/**
|
||
* 根据临界值对给定的数字进行舍入
|
||
*
|
||
* @param number 需要舍入的数
|
||
* @param criticalValue 舍入的临界值 (0 ~ 1),达到临界值进位反之舍弃
|
||
*
|
||
* @returns 舍入后的值
|
||
*/
|
||
export declare function round(number: number, criticalValue: number): number;
|
||
|
||
/**
|
||
* 按指定的并发数,并行地为系列源数据执行操作
|
||
*
|
||
* @param maxConcurrency 最大的并发数
|
||
* @param source 源数据
|
||
* @param iteratorFn 处理操作的异步函数
|
||
*
|
||
* @returns 等待所有任务执行完的 Promise 对象
|
||
*/
|
||
export declare function runParallel<T>(maxConcurrency: number, source: T[], iteratorFn: (item: T, source: T[]) => Promise<any>): Promise<any[]>;
|
||
|
||
/**
|
||
* 将一个任务队列按每帧一次依次指定,返回一个触发取消的方法
|
||
*
|
||
* @param queue 任务队列
|
||
*
|
||
* @returns 终止队列执行的方法
|
||
*/
|
||
export declare function runQueueFrame(queue: Array<() => void>): () => boolean;
|
||
|
||
export declare const SECOND_ON_MILLISECONDS = 1000;
|
||
|
||
/** @deprecated renames to `SECOND_ON_MILLISECONDS` */
|
||
export declare const SECOND_ON_MILLS = 1000;
|
||
|
||
/**
|
||
* 将给定的数字格式化为指定的位阶
|
||
*
|
||
* @param number 需要格式化的数字
|
||
* @param segment 分隔的位数,默认为 3
|
||
* @param separator 分隔的符号,默认为 ','
|
||
*
|
||
* @returns 格式化后的字面值
|
||
*/
|
||
export declare function segmentNumber(number: number | string, segment?: number, separator?: string): string;
|
||
|
||
export declare function setGlobalCount(count: number): void;
|
||
|
||
export declare type SizeUnit = Exclude<SizeUnitWithAuto, AnyCase<'AUTO'>>;
|
||
|
||
export declare type SizeUnitWithAuto = AnyCase<'B' | 'KB' | 'MB' | 'GB' | 'TB' | 'AUTO'>;
|
||
|
||
/**
|
||
* 根据依赖的属性对数组逐层排序
|
||
*
|
||
* @param list 需要排序的数组
|
||
* @param props 排序依赖的属性
|
||
*
|
||
* @returns 排序后的数组
|
||
*/
|
||
export declare function sortByProps<T = any>(list: T[], props: keyof T | SortOptions<keyof T> | (keyof T | SortOptions<keyof T>)[]): T[];
|
||
|
||
export declare interface SortOptions<T = string> {
|
||
/** 属性名 */
|
||
key: T;
|
||
/** 排序方法 */
|
||
method?: (prev: any, next: any) => number;
|
||
/** 读取方法 */
|
||
accessor?: (...args: any[]) => any;
|
||
/** 升降序 */
|
||
type?: 'asc' | 'desc';
|
||
/** 传入读取器的额外参数 */
|
||
params?: any[];
|
||
}
|
||
|
||
/**
|
||
* 获取给定的日期所在天的开始日期
|
||
*
|
||
* @param date 原始日期
|
||
*
|
||
* @returns 新的开始日期
|
||
*/
|
||
export declare function startOfDay(date: Dateable): Date;
|
||
|
||
/**
|
||
* 获取给定的日期所在小时的开始日期 (分钟归零)
|
||
*
|
||
* @param date 原始日期
|
||
*
|
||
* @returns 新的开始日期
|
||
*/
|
||
export declare function startOfHour(date: Dateable): Date;
|
||
|
||
/**
|
||
* 获取给定的日期所在分钟的开始日期 (秒归零)
|
||
*
|
||
* @param date 原始日期
|
||
*
|
||
* @returns 新的开始日期
|
||
*/
|
||
export declare function startOfMinute(date: Dateable): Date;
|
||
|
||
/**
|
||
* 获取给定的日期所在月份的第一天的开始日期
|
||
*
|
||
* @param date 原始日期
|
||
* @param startOn 设定一个月的第一天,默认为 1 号
|
||
*
|
||
* @returns 新的开始日期
|
||
*/
|
||
export declare function startOfMonth(date: Dateable, startOn?: number): Date;
|
||
|
||
/**
|
||
* 获取给定日期所在季度的第一天的开始日期
|
||
*
|
||
* @param date 原始日期
|
||
*
|
||
* @returns 新的开始日期
|
||
*/
|
||
export declare function startOfQuarter(date: Dateable): Date;
|
||
|
||
/**
|
||
* 获取给定的日期所在秒的开始日期(毫秒归零)
|
||
*
|
||
* @param date 原始日期
|
||
*
|
||
* @returns 新的开始日期
|
||
*/
|
||
export declare function startOfSecond(date: Dateable): Date;
|
||
|
||
/**
|
||
* 获取给定的日期所在周的第一天的开始日期
|
||
*
|
||
* @param date 需要解析的时间
|
||
* @param startOn 设定周的第一天,默认为周日
|
||
*
|
||
* @returns 新的开始日期
|
||
*/
|
||
export declare function startOfWeek(date: Dateable, startOn?: number): Date;
|
||
|
||
/**
|
||
* 获取给定日期所在年份的第一天的开始日期
|
||
*
|
||
* @param date 原始日期
|
||
* @param startOn 设定年的开始月份,默认为一月
|
||
*
|
||
* @returns 新的开始日期
|
||
*/
|
||
export declare function startOfYear(date: Dateable, startOn?: number): Date;
|
||
|
||
/**
|
||
* 判断当前的环境是否支持 CSS 样式:`gap`、`row-gap` 和 `column-gap`
|
||
*
|
||
* @returns 是否支持
|
||
*/
|
||
export declare function supportFlexGap(): boolean;
|
||
|
||
/**
|
||
* 判断当前环境是否支持 `<img>` 标签的 `loading` 属性
|
||
*
|
||
* @returns 是否支持
|
||
*/
|
||
export declare function supportImgLoading(): boolean;
|
||
|
||
/**
|
||
* 将一个方法进行节流
|
||
*
|
||
* @param method 需要节流的方法,需自行绑定 this
|
||
* @param interval 节流后的触发间隔,默认 16 ms (1 帧)
|
||
*
|
||
* @returns 节流后的方法
|
||
*/
|
||
export declare function throttle<T extends (...args: any[]) => any>(method: T, interval?: number): (...args: Parameters<T>) => void;
|
||
|
||
/**
|
||
* 精确的乘法
|
||
*
|
||
* @param numbers 需要依次相乘的数字
|
||
*
|
||
* @returns 乘积
|
||
*/
|
||
export declare const times: (...numbers: (number | string)[]) => number;
|
||
|
||
/**
|
||
* 将指定的值转换为 HTML 属性值
|
||
*
|
||
* @param value 需要转换的值
|
||
*
|
||
* @returns 转换后的 HTML 属性值
|
||
*/
|
||
export declare function toAttrValue(value?: boolean | null): 'true' | undefined;
|
||
|
||
export declare function toAttrValue(value?: string | number | null): string | undefined;
|
||
|
||
/**
|
||
* 将字面值转换为小驼峰
|
||
*
|
||
* @param value 需要转换的字面值
|
||
*
|
||
* @returns 转换后的小驼峰字面值
|
||
*/
|
||
export declare function toCamelCase(value: string): string;
|
||
|
||
/**
|
||
* 将字面值转换为大驼峰
|
||
*
|
||
* @param value 需要转换的字面值
|
||
*
|
||
* @returns 转换后的大驼峰字面值
|
||
*/
|
||
export declare function toCapitalCase<T extends string>(value: T): CapitalCase<T>;
|
||
|
||
/**
|
||
* 给定的值如果为合法数字,则将转换为像素值
|
||
*
|
||
* @param value 需要判断的值
|
||
*
|
||
* @returns 转换后的像素值
|
||
*/
|
||
export declare function toCssSize(value: number | string): string;
|
||
|
||
/**
|
||
* 将任意可转为 `Date` 对象的变量转为一个新日期
|
||
*
|
||
* @param any 任意可转换的值
|
||
* @param strict 是否在传入非法值时抛错
|
||
*
|
||
* @returns 转换后的 `Date` 对象
|
||
*/
|
||
export declare function toDate(any: Dateable, strict?: boolean): Date;
|
||
|
||
/**
|
||
* 一个返回 `false` 的占位函数
|
||
*
|
||
* @returns `false`
|
||
*/
|
||
export declare function toFalse(...args: any[]): false;
|
||
|
||
/**
|
||
* 将给定的实数保留一定的小数
|
||
*
|
||
* @param number 需要处理的实数
|
||
* @param decimal 需要保留的小数
|
||
*
|
||
* @returns 保留小数后的值
|
||
*/
|
||
export declare function toFixed(number: number, decimal: number): number;
|
||
|
||
/**
|
||
* 获取给定颜色的灰度
|
||
*
|
||
* @param color 颜色字面值
|
||
*
|
||
* @returns 颜色的灰度
|
||
*/
|
||
export declare function toGrayScale(color: string): number;
|
||
|
||
/**
|
||
* 将字面值转换为短横线连接
|
||
*
|
||
* @param value 需要转换的字面值
|
||
*
|
||
* @returns 转换后的短横线连接字面值
|
||
*
|
||
* @example
|
||
* ```ts
|
||
* toKebabCase('AaBbCc') // aa-bb-cc
|
||
* toKebabCase('AABb') // aa-bb
|
||
* toKebabCase('AAA') // aaa
|
||
* toKebabCase('AaBb CcDd') // aa-bb cc-dd
|
||
* ```
|
||
*/
|
||
export declare function toKebabCase(value: string): string;
|
||
|
||
/**
|
||
* 将给定的值转成数字,NaN 的情况将会处理成 0
|
||
*
|
||
* @param value 需要转换的值
|
||
*
|
||
* @returns 转换后的数字
|
||
*/
|
||
export declare function toNumber(value: unknown): number;
|
||
|
||
/**
|
||
* 将数字处理为的指定的有效位数
|
||
*
|
||
* @param number 需要处理的数字
|
||
* @param precision 数字的有效位数
|
||
*
|
||
* @returns 处理后的数字
|
||
*
|
||
* @example
|
||
* ```ts
|
||
* toPrecision(0.09999999999999998) === 0.1 // true
|
||
* ```
|
||
*/
|
||
export declare function toPrecision(number: number | string, precision?: number): number;
|
||
|
||
/**
|
||
* 一个返回 `true` 的占位函数
|
||
*
|
||
* @returns `true`
|
||
*/
|
||
export declare function toTrue(...args: any[]): true;
|
||
|
||
/**
|
||
* 专用的类型,用于适配 Vexip UI 中 `transfer` 属性的处理
|
||
*/
|
||
export declare interface TransferNode extends Element {
|
||
__transferElement?: Element | null;
|
||
}
|
||
|
||
/**
|
||
* 将一个展平的列表转换为树
|
||
*
|
||
* @param list 要转换的列表
|
||
* @param options 转换的配置项
|
||
*
|
||
* @returns 转换后的树
|
||
*/
|
||
declare function transformTree<T = any>(list: T[], options?: TreeOptions<keyof T>): T[];
|
||
export { transformTree as buildTree }
|
||
export { transformTree }
|
||
|
||
export declare interface TreeOptions<T = string> {
|
||
keyField?: T;
|
||
childField?: T;
|
||
parentField?: T;
|
||
/** 若指定,`parent` 值等于 `rootId` 的节点被认为是顶级节点 */
|
||
rootId?: any;
|
||
}
|
||
|
||
/**
|
||
* 当前是否可以使用触摸交互
|
||
*/
|
||
export declare const USE_TOUCH: boolean;
|
||
|
||
/**
|
||
* 遍历树并为每个节点执行回调方法
|
||
*
|
||
* @param tree 要遍历的树
|
||
* @param cb 回调函数
|
||
* @param options 遍历的配置项
|
||
*/
|
||
export declare function walkTree<T = any>(tree: T[], cb: (item: T, depth: number, parent: T | null) => void, options?: {
|
||
/** 是否为深度优先遍历 */
|
||
depthFirst?: boolean;
|
||
childField?: keyof T;
|
||
}): void;
|
||
|
||
/**
|
||
* 仅发出一次的警告消息
|
||
*
|
||
* @param message 消息内容
|
||
* @param logFn 输出函数
|
||
*/
|
||
export declare function warnOnce(message: string, logFn?: (...data: any[]) => void): void;
|
||
|
||
export declare const WEEK_ON_DAYS = 7;
|
||
|
||
export declare const WEEK_ON_HOURS: number;
|
||
|
||
export declare const WEEK_ON_MILLISECONDS: number;
|
||
|
||
/** @deprecated renames to `WEEK_ON_MILLISECONDS` */
|
||
export declare const WEEK_ON_MILLS: number;
|
||
|
||
export declare const WEEK_ON_MINUTES: number;
|
||
|
||
export declare const WEEK_ON_SECONDS: number;
|
||
|
||
/**
|
||
* 将指定的文本写入粘贴板
|
||
*
|
||
* @param text 需要写入的文本
|
||
*
|
||
* @returns 是否写入成功
|
||
*/
|
||
export declare function writeClipboard(text: string): Promise<boolean>;
|
||
|
||
export declare const YEAR_ON_MONTHS: number;
|
||
|
||
export declare const YEAR_ON_QUARTERS = 4;
|
||
|
||
export { }
|