New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@vexip-ui/utils

Package Overview
Dependencies
Maintainers
1
Versions
48
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@vexip-ui/utils - npm Package Compare versions

Comparing version 1.3.0 to 1.4.0

561

dist/index.d.ts

@@ -0,19 +1,79 @@

/**
* 为日期增减给定的天数
*
* @param date 原始日期
* @param amount 增减的天数
*/
export declare function addDays(date: Dateable, amount: number): Date;
/**
* 为日期增减给定的半天数(12小时)
*
* @param date 原始日期
* @param amount 增减的半天数
*/
export declare function addHalfDays(date: Dateable, amount: number): Date;
/**
* 为日期增减给定的小时
*
* @param date 原始日期
* @param amount 增减的小时
*/
export declare function addHours(date: Dateable, amount: number): Date;
/**
* 为日期增减给定的毫秒
*
* @param date 原始日期
* @param amount 增减的毫秒
*/
export declare function addMilliseconds(date: Dateable, amount: number): Date;
/**
* 为日期增减给定的分钟
*
* @param date 原始日期
* @param amount 增减的分钟
*/
export declare function addMinutes(date: Dateable, amount: number): Date;
/**
* 为日期增减给定的月数
*
* @param date 原始日期
* @param amount 增减的月数
*/
export declare function addMonths(date: Dateable, amount: number): Date;
/**
* 为日期增减给定的季度(3个月)
*
* @param date 原始日期
* @param amount 增减的季度
*/
export declare function addQuarters(date: Dateable, amount: number): Date;
/**
* 为日期增减给定的秒
*
* @param date 原始日期
* @param amount 增减的秒
*/
export declare function addSeconds(date: Dateable, amount: number): Date;
/**
* 为日期增减给定的周数
*
* @param date 原始日期
* @param amount 增减的周数
*/
export declare function addWeeks(date: Dateable, amount: number): Date;
/**
* 为日期增减给定的年份
*
* @param date 原始日期
* @param amount 增减的年份
*/
export declare function addYears(date: Dateable, amount: number): Date;

@@ -23,2 +83,5 @@

/**
* 将给定的常量字符串类型拓展为不区分大小写的任意组合
*/
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>}` : '';

@@ -34,8 +97,7 @@

/**
* 将一个数字限定在指定的范围内
* @param number - 需要限定范围的数
* @param min - 边界最小值,包含该值
* @param max - 边界最大值,包含该值
* 将给定的数字限定在指定的范围内
*
* @returns 限定了范围后的数
* @param number 需要限定范围的数
* @param min 边界最小值,包含该值
* @param max 边界最大值,包含该值
*/

@@ -50,5 +112,3 @@ export declare function boundRange(number: number | string, min: number, max: number): number;

export declare type ColorName = keyof typeof NAMED_COLORS;
export declare interface ColorObject {
export declare interface ColorMeta {
rgb: RGBColor;

@@ -66,18 +126,20 @@ hsl: HSLColor;

export declare function compareAsc(left: Dateable, right: Dateable): CompareAscResult;
export declare type ColorName = keyof typeof NAMED_COLORS;
export declare enum CompareAscResult {
LESS_THEN = -1,
EQUAL = 0,
GREATER_THEN = 1
}
/**
* 升序比较两个日期大小,用于给数组的 sort 方法使用
*
* @param left 原始日期
* @param right 原始日期
*/
export declare function compareAsc(left: Dateable, right: Dateable): number;
export declare function compareDesc(left: Dateable, right: Dateable): CompareDescResult;
/**
* 降序比较两个日期大小,用于给数组的 sort 方法使用
*
* @param left 原始日期
* @param right 原始日期
*/
export declare function compareDesc(left: Dateable, right: Dateable): number;
export declare enum CompareDescResult {
LESS_THEN = 1,
EQUAL = 0,
GREATER_THEN = -1
}
export declare function createBITree(length: number, min?: number): BITree;

@@ -101,6 +163,5 @@

* 将一个函数或方法进行防抖
* @param method - 需要防抖的方法,需自行绑定 this
* @param delay - 防抖的限制时间,默认 300 ms
*
* @returns 防抖后的函数
* @param method 需要防抖的方法,需自行绑定 this
* @param delay 防抖的限制时间,默认 300 ms
*/

@@ -111,5 +172,4 @@ export declare function debounce<T extends (...args: any[]) => any>(method: T, delay?: number): (...args: Parameters<T>) => void;

* 针对每一帧,将一个函数或方法进行防抖
* @param method - 需要防抖的方法,需自行绑定 this
*
* @returns 防抖后的函数
* @param method 需要防抖的方法,需自行绑定 this
*/

@@ -120,5 +180,4 @@ export declare function debounceFrame<T extends (...args: any[]) => any>(method: T): (...args: Parameters<T>) => void;

* 针对每个微任务,将一个函数或方法进行防抖
* @param method - 需要防抖的方法,需自行绑定 this
*
* @returns 防抖后的函数
* @param method 需要防抖的方法,需自行绑定 this
*/

@@ -129,5 +188,4 @@ export declare function debounceMinor<T extends (...args: any[]) => any>(method: T): (...args: Parameters<T>) => void;

* 深度拷贝对象或数组 (避免一层死循环)
* @param obj - 需要拷贝的对象或数组
*
* @returns 克隆后的对象或数组
* @param obj 需要拷贝的对象或数组
*/

@@ -138,36 +196,146 @@ export declare function deepClone<T>(obj: T): T;

/**
* 比较两个日期相差的天数
*
* @param left 原始日期
* @param right 原始日期
*/
export declare function differenceDays(left: Dateable, right: Dateable): number;
/**
* 比较两个日期相差的完整天
*
* @param left 原始日期
* @param right 原始日期
*/
export declare function differenceFullDays(left: Dateable, right: Dateable): number;
/**
* 比较两个日期相差的完整小时
*
* @param left 原始日期
* @param right 原始日期
*/
export declare function differenceFullHours(left: Dateable, right: Dateable): number;
/**
* 比较两个日期相差的完整分钟
*
* @param left 原始日期
* @param right 原始日期
*/
export declare function differenceFullMinutes(left: Dateable, right: Dateable): number;
/**
* 比较两个日期相差的完整月
*
* @param left 原始日期
* @param right 原始日期
*/
export declare function differenceFullMonths(left: Dateable, right: Dateable): number;
/**
* 比较两个日期相差的完整季度
*
* @param left 原始日期
* @param right 原始日期
*/
export declare function differenceFullQuarters(left: Dateable, right: Dateable): number;
/**
* 比较两个日期相差的完整秒
*
* @param left 原始日期
* @param right 原始日期
*/
export declare function differenceFullSeconds(left: Dateable, right: Dateable): number;
/**
* 比较两个日期相差的完整周
*
* @param left 原始日期
* @param right 原始日期
*/
export declare function differenceFullWeeks(left: Dateable, right: Dateable): number;
/**
* 比较两个日期相差的完整年份
*
* @param left 原始日期
* @param right 原始日期
*/
export declare function differenceFullYears(left: Dateable, right: Dateable): number;
/**
* 比较两个日期相差的小时
*
* @param left 原始日期
* @param right 原始日期
*/
export declare function differenceHours(left: Dateable, right: Dateable): number;
/**
* 比较两个日期相差的毫秒
*
* @param left 原始日期
* @param right 原始日期
*/
export declare function differenceMilliseconds(left: Dateable, right: Dateable): number;
/**
* 比较两个日期相差的分钟
*
* @param left 原始日期
* @param right 原始日期
*/
export declare function differenceMinutes(left: Dateable, right: Dateable): number;
/**
* 比较两个日期相差的月
*
* @param left 原始日期
* @param right 原始日期
*/
export declare function differenceMonths(left: Dateable, right: Dateable): number;
/**
* 比较两个日期相差的季度
*
* @param left 原始日期
* @param right 原始日期
*/
export declare function differenceQuarters(left: Dateable, right: Dateable): number;
/**
* 比较两个日期相差的秒
*
* @param left 原始日期
* @param right 原始日期
*/
export declare function differenceSeconds(left: Dateable, right: Dateable): number;
/**
* 比较两个日期相差的周
*
* @param left 原始日期
* @param right 原始日期
* @param weekStartOn 设定周的第一天,默认为周日
*/
export declare function differenceWeeks(left: Dateable, right: Dateable, weekStartOn?: number): number;
/**
* 比较两个日期相差的年份
*
* @param left 原始日期
* @param right 原始日期
*/
export declare function differenceYears(left: Dateable, right: Dateable): number;
/**
* Return digits length of a number.
*
* @param number The input number
*/
export declare function digitLength(number: number | string): number;
export declare function disconnect(el: TransferNode, types: string | string[]): void;

@@ -186,7 +354,20 @@

/**
* 讲小于 10 整数 N 变成 `0N` 的字符串,方法不会对入参校验
* @param number - 需要处理的整数
* Accurate division.
*
* @param numbers The numbers to divide
*/
export declare const divide: (...numbers: (number | string)[]) => number;
/**
* 将小于 10 整数 N 变成 `0N` 的字符串,方法不会对入参校验
*
* @param number 需要处理的整数
*/
export declare function doubleDigits(number: number): string;
/**
* 获取给定日期所在天的结束日期
*
* @param date 原始日期
*/
export declare function endOfDay(date: Dateable): Date;

@@ -219,4 +400,5 @@

* 转换树形结构为扁平结构
* @param tree - 需要转换的树形数据
* @param options - 转化配置项
*
* @param tree 需要转换的树形数据
* @param options 转化配置项
*/

@@ -227,6 +409,8 @@ export declare function flatTree<T = any>(tree: T[], options?: TreeOptions<keyof T>): T[];

* 将日期格式化成指定格式
* @param date - 需要格式化的Date对象
* @param format - 格式化结构 年-y 月-M 日-d 时-H 分-m 秒-s 季度-q
*
* @returns 格式化后的日期
* @param date 需要格式化的Date对象
* @param pattern 格式化结构 年-y 月-M 日-d 时-H 分-m 秒-s 季度-q
*
* @example format(new Date(), 'yyyy-MM-dd')
* @example format(Date.now(), 'yyyy-MM-dd\'T\'HH:mm:ss\'Z\'')
*/

@@ -236,10 +420,21 @@ export declare function format(date: Dateable, pattern?: string): string;

/**
* 根据传入的 Byte 数值,将其格式化成指定单位的大小
* @param byte - 需要计算的 Byte 数值
* @param unit - 格式化的单位
* 根据给定的 Byte 数值,将其格式化成指定单位的大小
*
* @param byte 需要计算的 Byte 数值
* @param unit 格式化的单位
*/
export declare function formatByteSize(byte: number, unit?: SizeUnitWithAuto): number;
/**
* 获取中文星期
*
* @param date 给定的日期
*/
export declare function getChineseWeek(date: Date): string;
/**
* 根据给定的日期获取上一个周日
*
* @param date 原始日期
*/
export declare function getLastSunday(date: Date): Date;

@@ -249,2 +444,7 @@

/**
* 获取日期所在的季度
*
* @param date 给定的日期
*/
export declare function getQuarter(date: Dateable): number;

@@ -254,5 +454,4 @@

* 获取变量类型
* @param value - 任意变量
*
* @returns 小写的类型名字
* @param value 任意变量
*/

@@ -263,4 +462,5 @@ export declare function getType(value: unknown): string;

* 按照一定顺序的属性对数据进行分组
* @param list - 需要分数的数据
* @param props - 需要按顺序分组的属性
*
* @param list 需要分数的数据
* @param props 需要按顺序分组的属性
*/

@@ -363,2 +563,7 @@ export declare function groupByProps<T = any>(list: T[], props?: Array<string | ((item: T) => any)> | string | ((item: T) => any)): Record<string, T[]>;

/**
* 判断给定的字符串是否为一个合法颜色值
*
* @param value 原始字符串
*/
export declare function isColor(value: string): boolean;

@@ -376,2 +581,7 @@

/**
* 判断给定的年份是否为闰年
*
* @param year 原始年份
*/
export declare function isLeepYear(year: number): boolean;

@@ -404,9 +614,16 @@

* 将两个对象进行深度的动态合并
*
* @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;
/**
* Accurate subtraction
*
* @param numbers The numbers to subtract
*/
export declare const minus: (...numbers: (number | string)[]) => number;
export declare const MINUTE_ON_MILLS: number;

@@ -419,6 +636,7 @@

/**
* 将一个实数扩大一定的倍数并保留一定的小数
* @param number - 要处理的实数
* @param multiple - 要扩大的倍数
* @param decimal - 要保留的小数
* 将给定的实数扩大一定的倍数并保留一定的小数
*
* @param number 要处理的实数
* @param multiple 要扩大的倍数
* @param decimal 要保留的小数
*/

@@ -581,4 +799,5 @@ export declare function multipleFixed(number: number, multiple: number, decimal: number): number;

* 在下一渲染帧,仅执行一次传入的方法
* @param method - 需要执行的方法
* @param args - 方法的额外参数,在方法调用前多次传入将会覆盖之前的参数
*
* @param method 需要执行的方法
* @param args 方法的额外参数,在方法调用前多次传入将会覆盖之前的参数
*/

@@ -589,4 +808,5 @@ export declare function nextFrameOnce<T extends (...args: any[]) => any>(method: T, ...args: any[]): undefined;

* 在下一微任务,仅执行一次传入的方法
* @param method - 需要执行的方法
* @param args - 方法的额外参数,在方法调用前多次传入将会覆盖之前的参数
*
* @param method 需要执行的方法
* @param args 方法的额外参数,在方法调用前多次传入将会覆盖之前的参数
*/

@@ -597,18 +817,80 @@ export declare function nextTickOnce<T extends (...args: any[]) => any>(method: T, ...args: any[]): undefined;

/**
* 将原始透明度值标准化为 0 ~ 1 的值
*
* @param a 0 ~ 1,0% ~ 100%
*/
export declare function normalizeAlpha(a: number | string): number;
export declare function normalizeHsl(h: number | string, s: number | string, l: number | string): HSLColor;
/**
* 将原始的 h、s、l 值标准化为 0 ~ 1 的值
*
* @param h 0 ~ 360
* @param s 0 ~ 1,0% ~ 100%
* @param l 0 ~ 1,0% ~ 100%
*/
export declare function normalizeHsl(h: number | string, s: number | string, l: number | string): {
h: number;
s: number;
l: number;
};
export declare function normalizeHsv(h: number | string, s: number | string, v: number | string): HSVColor;
/**
* 将原始的 h、s、v 值标准化为 0 ~ 1 的值
*
* @param h 0 ~ 360
* @param s 0 ~ 1,0% ~ 100%
* @param v 0 ~ 1,0% ~ 100%
*/
export declare function normalizeHsv(h: number | string, s: number | string, v: number | string): {
h: number;
s: number;
v: number;
};
export declare function normalizeRgb(r: number | string, g: number | string, b: number | string): RGBColor;
/**
* 将原始的 r、g、b 值标准化为 0 ~ 1 的值
*
* @param r 0 ~ 255
* @param g 0 ~ 255
* @param b 0 ~ 255
*/
export declare function normalizeRgb(r: number | string, g: number | string, b: number | string): {
r: number;
g: number;
b: number;
};
export declare type ObjectColor = Exclude<Color, string>;
export declare function observe(el: TransferNode, types: string | string[]): void;
export declare function parseColor(color: Color): ColorObject;
/**
* 将给定的 {@link Color} 解析为 {@link ColorMeta}
*
* @param color 原始颜色值
*/
export declare function parseColor(color: Color): ColorMeta;
/**
* 将给定的 {@link Color} 解析为 {@link RGBAColor}
*
* @param originColor 原始颜色值
*/
export declare function parseColorToRgba(originColor: Color): RGBAColor;
export declare function parseStringColor(color: string): Color | null;
/**
* 将给定的字符串转化为 {@link ObjectColor},无法转换时返回 null
*
* @param color 原始颜色字符串
*/
export declare function parseStringColor(color: string): ObjectColor | null;
/**
* Accurate addition.
*
* @param numbers The numbers to add
*/
export declare const plus: (...numbers: (number | string)[]) => number;
export declare const QUARTER_ON_MONTHS = 3;

@@ -618,3 +900,4 @@

* 根据长度生成一串随机的字符串
* @param length - 字符串的长度
*
* @param length 字符串的长度
*/

@@ -625,7 +908,6 @@ export declare function randomString(length?: number): string;

* 生成一个 range 数组
* @param size - 大小
* @param start - 开始的数值,默认为 1
* @param step - 跨度,默认为 1
*
* @returns range 后的数组
* @param size 大小
* @param start 开始的数值,默认为 1
* @param step 跨度,默认为 1
*/

@@ -635,6 +917,7 @@ export declare function range(size: number, start?: number, step?: number): number[];

/**
* 生成一个日期 range
* @param start - 开始日期
* @param size - range 的大小, 默认 42 (一般电子日历为 6 行 7 列)
* @param step - range 的跨幅
* 生成一个日期 range 数组
*
* @param start 开始日期
* @param size range 的大小, 默认 42 (一般电子日历为 6 行 7 列)
* @param step range 的跨幅
*/

@@ -644,6 +927,7 @@ export declare function rangeDate(start: Dateable, size?: number, step?: number): Date[];

/**
* 生成一个月份 range
* @param start - 开始日期
* @param size - range 的大小, 默认 12 (一年)
* @param step - range 的跨幅
* 生成一个月份 range 数组
*
* @param start 开始日期
* @param size range 的大小, 默认 12 (一年)
* @param step range 的跨幅
*/

@@ -654,5 +938,6 @@ export declare function rangeMonth(start: Dateable, size?: number, step?: number): Date[];

* 移除数组中的某个元素
* @param array - 需要被移除元素的数组
* @param item - 需要被移除的元素, 或一个查找方法,如果元素为函数时则需要做一层简单包装
* @param isFn - 标记数组的元素是否为函数
*
* @param array 需要被移除元素的数组
* @param item 需要被移除的元素, 或一个查找方法,如果元素为函数时则需要做一层简单包装
* @param isFn 标记数组的元素是否为函数
*/

@@ -691,5 +976,6 @@ export declare function removeArrayItem<T = any>(array: T[], item: T | ((item: T) => boolean), isFn?: boolean): T | null;

/**
* 根据临界值对数字进行舍入
* @param number - 需要舍入的数
* @param criticalValue - 舍入的临界值 (0 ~ 1),达到临界值进位反之舍弃
* 根据临界值对给定的数字进行舍入
*
* @param number 需要舍入的数
* @param criticalValue 舍入的临界值 (0 ~ 1),达到临界值进位反之舍弃
*/

@@ -701,6 +987,7 @@ export declare function round(number: number, criticalValue: number): number;

/**
* 将数字格式化为三位阶
* @param number - 需要格式化的数字
* @param segment - 分隔的位数,默认为 3
* @param separator - 分隔的符号,默认为 ','
* 将给定的数字格式化为三位阶
*
* @param number 需要格式化的数字
* @param segment 分隔的位数,默认为 3
* @param separator 分隔的符号,默认为 ','
*/

@@ -715,4 +1002,5 @@ export declare function segmentNumber(number: number | string, segment?: number, separator?: string): string;

* 根据依赖的属性逐层排序
* @param list - 需要排序的数组
* @param props - 排序依赖的属性 key-属性名 method-排序方法 accessor-数据获取方法 type-升降序
*
* @param list 需要排序的数组
* @param props 排序依赖的属性 key-属性名 method-排序方法 accessor-数据获取方法 type-升降序
*/

@@ -729,23 +1017,50 @@ export declare function sortByProps<T = any>(list: T[], props: keyof T | SortOptions<keyof T> | (keyof T | SortOptions<keyof T>)[]): T[];

/**
* 获取给定的日期所在天的开始日期
*
* @param date 原始日期
*/
export declare function startOfDay(date: Dateable): Date;
/**
* 获取给定的日期所在小时的开始日期 (分钟归零)
*
* @param date 原始日期
*/
export declare function startOfHour(date: Dateable): Date;
/**
* 获取给定的日期所在分钟的开始日期 (秒归零)
*
* @param date 原始日期
*/
export declare function startOfMinute(date: Dateable): Date;
/**
* 获取当前时间所属月的第一天
* @param date - 需要解析的时间
* @param startOn - 设定一个月的第一天
* 获取给定的日期所在月份的第一天的开始日期
*
* @param date 原始日期
* @param startOn 设定一个月的第一天,默认为 1 号
*/
export declare function startOfMonth(date: Dateable, startOn?: number): Date;
/**
* 获取给定日期所在季度的第一天的开始日期
*
* @param date 原始日期
*/
export declare function startOfQuarter(date: Dateable): Date;
/**
* 获取给定的日期所在秒的开始日期(毫秒归零)
*
* @param date 原始日期
*/
export declare function startOfSecond(date: Dateable): Date;
/**
* 获取当前时间所属周的第一天
* @param date - 需要解析的时间
* @param startOn - 设定周的第一天
* 获取给定的日期所在周的第一天的开始日期
*
* @param date 需要解析的时间
* @param startOn 设定周的第一天,默认为周日
*/

@@ -755,5 +1070,6 @@ export declare function startOfWeek(date: Dateable, startOn?: number): Date;

/**
* 获取当前时间所属年的第一天
* @param date - 需要解析的时间
* @param startOn - 设定年的开始月份
* 获取给定日期所在年份的第一天的开始日期
*
* @param date 原始日期
* @param startOn 设定年的开始月份,默认为一月
*/

@@ -766,6 +1082,5 @@ export declare function startOfYear(date: Dateable, startOn?: number): Date;

* 将一个函数或方法进行节流
* @param method - 需要节流的方法,需自行绑定 this
* @param delay - 节流后的触发间隔,默认 16 ms (1 帧/秒)
*
* @returns 节流后的函数
* @param method 需要节流的方法,需自行绑定 this
* @param delay 节流后的触发间隔,默认 16 ms (1 帧/秒)
*/

@@ -775,4 +1090,12 @@ export declare function throttle<T extends (...args: any[]) => any>(method: T, delay?: number): (...args: Parameters<T>) => void;

/**
* Accurate multiplication.
*
* @param numbers The numbers to multiply
*/
export declare const times: (...numbers: (number | string)[]) => number;
/**
* 将命名转换为驼峰命名
* @param value - 需要转换的命名
*
* @param value 需要转换的命名
*/

@@ -783,12 +1106,20 @@ export declare function toCamelCase(value: string): string;

* 将命名转换为全大写命名Capital
* @param value - 需要转换的命名
*
* @param value 需要转换的命名
*/
export declare function toCapitalCase(value: string): string;
/**
* 将任意可转为 Date 的变量转为一个新日期
*
* @param any 任意可转换的值
* @param strict 是否在传入非法值时抛错
*/
export declare function toDate(any: Dateable, strict?: boolean): Date;
/**
* 讲一个实数保留一定的小数
* @param number - 需要处理的实数
* @param decimal - 需要保留的小数
* 将给定的实数保留一定的小数
*
* @param number 需要处理的实数
* @param decimal 需要保留的小数
*/

@@ -799,3 +1130,4 @@ export declare function toFixed(number: number, decimal: number): number;

* 将命名转换为短横线命名
* @param value - 需要转换的命名
*
* @param value 需要转换的命名
*/

@@ -805,7 +1137,18 @@ export declare function toKebabCase(value: string): string;

/**
* 将任意值转成数字,NaN 的情况将会处理成 0
* @param value - 需要转化的值
* 将给定的值转成数字,NaN 的情况将会处理成 0
*
* @param value 需要转化的值
*/
export declare function toNumber(value: unknown): number;
/**
* Correct the given number to specifying significant digits.
*
* @param number The input number
* @param precision An integer specifying the number of significant digits
*
* @example toPrecision(0.09999999999999998) === 0.1 // true
*/
export declare function toPrecision(number: number | string, precision?: number): number;
export declare interface TransferNode extends Node {

@@ -818,5 +1161,6 @@ __transferNode?: Node;

* 根据数组元素中某个或多个属性的值转换为映射
* @param list - 需要被转换的数组
* @param prop - 需要被转换的属性或提供一个读取方法
* @param accessor - 映射的值的读取方法,默认返回元素本身
*
* @param list 需要被转换的数组
* @param prop 需要被转换的属性或提供一个读取方法
* @param accessor 映射的值的读取方法,默认返回元素本身
*/

@@ -827,4 +1171,5 @@ export declare function transformListToMap<T = any, K = T>(list: T[], prop: keyof T | ((item: T) => any), accessor?: (item: T) => K): Record<string, K>;

* 转换扁平结构为树形结构
* @param list - 需要转换的扁平数据
* @param options - 转化配置项
*
* @param list 需要转换的扁平数据
* @param options 转化配置项
*/

@@ -831,0 +1176,0 @@ export declare function transformTree<T = any>(list: T[], options?: TreeOptions<keyof T>): T[];

80

dist/index.js

@@ -354,4 +354,3 @@ var __defProp = Object.defineProperty;

s: boundRange$1(isPercentage(s) ? parsePercentage(s) : s, 0, 1),
l: boundRange$1(isPercentage(l) ? parsePercentage(l) : l, 0, 1),
toString: toHslString
l: boundRange$1(isPercentage(l) ? parsePercentage(l) : l, 0, 1)
};

@@ -363,4 +362,3 @@ }

g: boundRange$1(g, 0, 255) / 255,
b: boundRange$1(b, 0, 255) / 255,
toString: toRgbString
b: boundRange$1(b, 0, 255) / 255
};

@@ -372,8 +370,7 @@ }

s: boundRange$1(isPercentage(s) ? parsePercentage(s) : s, 0, 1),
v: boundRange$1(isPercentage(v) ? parsePercentage(v) : v, 0, 1),
toString: toHsvString
v: boundRange$1(isPercentage(v) ? parsePercentage(v) : v, 0, 1)
};
}
function normalizeAlpha(a) {
return boundRange$1(a, 0, 1);
return boundRange$1(isPercentage(a) ? parsePercentage(a) : a, 0, 1);
}

@@ -772,8 +769,10 @@ function hslToRgb(h, s, l) {

const nums = snum.replace(".", "").split("");
const datum = nums[pointPos + decimal];
const targetPos = pointPos + decimal;
const datum = nums[targetPos];
if (!datum)
return number;
const length = snum.length;
if (snum.charAt(length - 1) === "5") {
snum = snum.substring(0, length - 1) + "6";
if (snum.charAt(targetPos + 1) === "5") {
snum = snum.substring(0, targetPos + 1) + "6";
} else {
snum = snum.substring(0, targetPos + 2);
}

@@ -835,2 +834,47 @@ return parseFloat(Number(snum).toFixed(decimal));

}
function digitLength(number) {
const eSplit = number.toString().split(/[eE]/);
const len = (eSplit[0].split(".")[1] || "").length - +(eSplit[1] || 0);
return len > 0 ? len : 0;
}
function toPrecision(number, precision = 15) {
return +parseFloat(Number(number).toPrecision(precision));
}
function multipleInt(number) {
const snum = String(number);
if (!snum.includes("e")) {
return Number(snum.replace(".", ""));
}
const dLength = digitLength(number);
return dLength > 0 ? toPrecision(Number(number) * 10 ** dLength) : Number(number);
}
function createOperation(operation) {
return (...numbers) => {
let result = numbers[0];
for (let i = 1, len = numbers.length; i < len; ++i) {
result = operation(result, numbers[i]);
}
return result;
};
}
const times = createOperation((number1, number2) => {
const int1 = multipleInt(number1);
const int2 = multipleInt(number2);
const base = digitLength(number1) + digitLength(number2);
const int = int1 * int2;
return int / 10 ** base;
});
const plus = createOperation((number1, number2) => {
const base = 10 ** Math.max(digitLength(number1), digitLength(number2));
return (times(number1, base) + times(number2, base)) / base;
});
const minus = createOperation((number1, number2) => {
const base = 10 ** Math.max(digitLength(number1), digitLength(number2));
return (times(number1, base) - times(number2, base)) / base;
});
const divide = createOperation((number1, number2) => {
const int1 = multipleInt(number1);
const int2 = multipleInt(number2);
return times(int1 / int2, toPrecision(10 ** (digitLength(number2) - digitLength(number1))));
});
const SECOND_ON_MILLS = 1e3;

@@ -1127,14 +1171,2 @@ const MINUTE_ON_SECONDS = 60;

}
var CompareAscResult = /* @__PURE__ */ ((CompareAscResult2) => {
CompareAscResult2[CompareAscResult2["LESS_THEN"] = -1] = "LESS_THEN";
CompareAscResult2[CompareAscResult2["EQUAL"] = 0] = "EQUAL";
CompareAscResult2[CompareAscResult2["GREATER_THEN"] = 1] = "GREATER_THEN";
return CompareAscResult2;
})(CompareAscResult || {});
var CompareDescResult = /* @__PURE__ */ ((CompareDescResult2) => {
CompareDescResult2[CompareDescResult2["LESS_THEN"] = 1] = "LESS_THEN";
CompareDescResult2[CompareDescResult2["EQUAL"] = 0] = "EQUAL";
CompareDescResult2[CompareDescResult2["GREATER_THEN"] = -1] = "GREATER_THEN";
return CompareDescResult2;
})(CompareDescResult || {});
function compareAsc(left, right) {

@@ -1718,2 +1750,2 @@ left = toDate(left);

}
export { CLICK_TYPE, COLOR_NAMES, CompareAscResult, CompareDescResult, DAY_ON_HOURS, DAY_ON_MILLIS, DAY_ON_MINUTES, DAY_ON_SECONDS, HEX_REG_3, HEX_REG_4, HEX_REG_6, HEX_REG_8, HOUR_ON_MILLS, HOUR_ON_MINUTES, HOUR_ON_SECONDS, HSLA_REG, HSL_REG, HSVA_REG, HSV_REG, MINUTE_ON_MILLS, MINUTE_ON_SECONDS, NAMED_COLORS, QUARTER_ON_MONTHS, RGBA_REG, RGB_REG, SECOND_ON_MILLS, USE_TOUCH, WEEK_ON_DAYS, WEEK_ON_HOURS, WEEK_ON_MILLIS, WEEK_ON_MINUTES, WEEK_ON_SECONDS, YEAR_ON_MONTHS, YEAR_ON_QUARTERS, addDays, addHalfDays, addHours, addMilliseconds, addMinutes, addMonths, addQuarters, addSeconds, addWeeks, addYears, adjustAlpha, boundRange, compareAsc, compareDesc, createBITree, createEvent, createEventEmitter, debounce, debounceFrame, debounceMinor, deepClone, destroyObject, differenceDays, differenceFullDays, differenceFullHours, differenceFullMinutes, differenceFullMonths, differenceFullQuarters, differenceFullSeconds, differenceFullWeeks, differenceFullYears, differenceHours, differenceMilliseconds, differenceMinutes, differenceMonths, differenceQuarters, differenceSeconds, differenceWeeks, differenceYears, disconnect, dispatchEvent, doubleDigits, endOfDay, escapeHtml, flatTree, format, formatByteSize, getChineseWeek, getLastSunday, getObservers, getQuarter, getType, groupByProps, has, hslToHsv, hslToRgb, hsvToHsl, hsvToRgb, is, isArray, isBigInt, isBoolean, isColor, isDate, isDefined, isEmpty, isFalse, isFunction, isLeepYear, isMap, isNaN, isNull, isNumber, isObject, isPromise, isRegExp, isSet, isString, isSymbol, isTrue, mergeObjects, mixColor, multipleFixed, nextFrameOnce, nextTickOnce, noop, normalizeAlpha, normalizeHsl, normalizeHsv, normalizeRgb, observe, parseColor, parseColorToRgba, parseStringColor, randomString, range, rangeDate, rangeMonth, removeArrayItem, rgbToHex, rgbToHsl, rgbToHsv, rgbaToHex, round, segmentNumber, sortByProps, startOfDay, startOfHour, startOfMinute, startOfMonth, startOfQuarter, startOfSecond, startOfWeek, startOfYear, supportFlexGap, throttle, toCamelCase, toCapitalCase, toDate, toFixed, toKebabCase, toNumber, transformListToMap, transformTree };
export { CLICK_TYPE, COLOR_NAMES, DAY_ON_HOURS, DAY_ON_MILLIS, DAY_ON_MINUTES, DAY_ON_SECONDS, HEX_REG_3, HEX_REG_4, HEX_REG_6, HEX_REG_8, HOUR_ON_MILLS, HOUR_ON_MINUTES, HOUR_ON_SECONDS, HSLA_REG, HSL_REG, HSVA_REG, HSV_REG, MINUTE_ON_MILLS, MINUTE_ON_SECONDS, NAMED_COLORS, QUARTER_ON_MONTHS, RGBA_REG, RGB_REG, SECOND_ON_MILLS, USE_TOUCH, WEEK_ON_DAYS, WEEK_ON_HOURS, WEEK_ON_MILLIS, WEEK_ON_MINUTES, WEEK_ON_SECONDS, YEAR_ON_MONTHS, YEAR_ON_QUARTERS, addDays, addHalfDays, addHours, addMilliseconds, addMinutes, addMonths, addQuarters, addSeconds, addWeeks, addYears, adjustAlpha, boundRange, compareAsc, compareDesc, createBITree, createEvent, createEventEmitter, debounce, debounceFrame, debounceMinor, deepClone, destroyObject, differenceDays, differenceFullDays, differenceFullHours, differenceFullMinutes, differenceFullMonths, differenceFullQuarters, differenceFullSeconds, differenceFullWeeks, differenceFullYears, differenceHours, differenceMilliseconds, differenceMinutes, differenceMonths, differenceQuarters, differenceSeconds, differenceWeeks, differenceYears, digitLength, disconnect, dispatchEvent, divide, doubleDigits, endOfDay, escapeHtml, flatTree, format, formatByteSize, getChineseWeek, getLastSunday, getObservers, getQuarter, getType, groupByProps, has, hslToHsv, hslToRgb, hsvToHsl, hsvToRgb, is, isArray, isBigInt, isBoolean, isColor, isDate, isDefined, isEmpty, isFalse, isFunction, isLeepYear, isMap, isNaN, isNull, isNumber, isObject, isPromise, isRegExp, isSet, isString, isSymbol, isTrue, mergeObjects, minus, mixColor, multipleFixed, nextFrameOnce, nextTickOnce, noop, normalizeAlpha, normalizeHsl, normalizeHsv, normalizeRgb, observe, parseColor, parseColorToRgba, parseStringColor, plus, randomString, range, rangeDate, rangeMonth, removeArrayItem, rgbToHex, rgbToHsl, rgbToHsv, rgbaToHex, round, segmentNumber, sortByProps, startOfDay, startOfHour, startOfMinute, startOfMonth, startOfQuarter, startOfSecond, startOfWeek, startOfYear, supportFlexGap, throttle, times, toCamelCase, toCapitalCase, toDate, toFixed, toKebabCase, toNumber, toPrecision, transformListToMap, transformTree };
{
"name": "@vexip-ui/utils",
"version": "1.3.0",
"version": "1.4.0",
"license": "MIT",

@@ -25,3 +25,3 @@ "author": "qmhc",

"typescript": "4.6.4",
"vite": "^2.9.9",
"vite": "^2.9.13",
"vite-plugin-dts": "^1.1.1"

@@ -28,0 +28,0 @@ },

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc