nhanh-pure-function
Version:
112 lines (111 loc) • 4.94 kB
TypeScript
/**
* 首字母大写
* @param str
* @returns string
*/
export declare function _Format_CapitalizeFirstLetter(string: string): string;
/**
* 转为百分比字符串
* @param value 分子
* @param totalValue 分母
* @param decimalPlaces 保留小数位
* @returns 10.00%
*/
export declare function _Format_Percentage(value: number, totalValue: number, decimalPlaces?: number): string;
/**
* 格式化数字,给数字加上千位分隔符。
* @param {number} number - 要格式化的数字。
* @returns {string} - 格式化后的字符串。
*/
export declare function _Format_NumberWithCommas(number: number): string;
/**
* 将纯数字转换为带单位的数字格式
*
* @param value - 要转换的数字或字符串形式的数字
* @param config - 配置对象
* @param config.join - 是否将数字和单位拼接成一个字符串,默认为 `false`
* @param config.suffix - 单位后缀,默认为 `万`
* @param config.decimalPlaces - 保留的小数位数,默认为 `2`
*
* @returns 返回转换后的结果:
* - 如果 `config.join` 为 `true`,返回拼接后的字符串,如 "12.34万"
* - 如果 `config.join` 为 `false`,返回一个数组,如 [ 12.34, '万' ]
*/
export declare function _Format_NumberWithUnit(value: string | number, config?: {
join?: boolean;
suffix?: string;
decimalPlaces?: number;
}): string | (string | number)[];
/**
* 格式化文件大小
* @param {number} size
* @returns string
*/
export declare function _Format_FileSize(size: number): string;
/**
* 时间戳转换字符串
* @param {Number | Date} time 时间戳或Date对象
* @param {String} template 完整模板 --> YYYY MM DD hh mm ss ms
* @param {Boolean} pad 补0
*/
export declare function _Format_Timestamp(time: number | Date, template?: string, pad?: boolean): string;
/**
* 从给定的href中提取名称部分
* 该函数旨在处理URL字符串,并返回URL路径的最后一部分,去除查询参数
*
* @param {string} href - 待处理的URL字符串
* @param {string} [defaultName="file"] - 默认的文件名,当无法提取时使用
* @returns {string} URL路径的最后一部分,不包括查询参数
*/
export declare function _Format_HrefName(href: string, defaultName?: string): string;
/**
* 驼峰命名
* @param {字符串} str
* @param {是否删除分割字符} isRemoveDelimiter
* @returns 'wq1wqw-qw2qw' -> 'wq1Wqw-Qw2Qw' / 'wqWqwQwQw'
*/
export declare function _Format_CamelCase(str: string, isRemoveDelimiter?: boolean): string;
/**
* 排除子串
* @param inputString 需裁剪字符串
* @param substringToDelete 被裁减字符串
* @param delimiter 分隔符
* @returns 裁减后的字符串
*/
export declare function _Format_ExcludeSubstring(inputString: string, substringToDelete: string, delimiter?: string): string;
/**
* 处理不可见字符的转义和还原
* @param {string} str - 要处理的字符串
* @param {boolean} escape - true表示转义(默认),false表示还原
* @returns {string} 处理后的字符串
*/
export declare function _Format_ToggleInvisibleChars(str: string, escape?: boolean): string;
declare const UnitConfigs: readonly [readonly ["年", number], readonly ["月", number], readonly ["周", number], readonly ["天", number], readonly ["时", number], readonly ["分", number], readonly ["秒", 1000], readonly ["毫秒", 1]];
type UnitName = (typeof UnitConfigs)[number][0];
/**
* 格式化毫秒数为易读的时间单位(基于固定换算规则)
* @param ms 待格式化的毫秒数(需为非负整数)
* @param maxUnit 最大单位限制(可选,如传入"天"则最大只显示到天,不显示年/月/周)
* 可选值:"年"|"月"|"周"|"天"|"时"|"分"|"秒"|"毫秒"
* @returns 格式化后的时间字符串(如 1.3秒、300毫秒、1,234年)
* @description
* 1. 单位换算规则(固定值,非自然时间):
* - 1年 = 365天(忽略闰年差异)
* - 1月 = 30天(忽略实际月份天数差异)
* - 1周 = 7天,1天 = 24小时,1小时 = 60分钟,1分钟 = 60秒,1秒 = 1000毫秒
* 2. 格式化逻辑:
* - 自动匹配不超过最大单位限制的最优单位(数值≥单位阈值时使用该单位)
* - 非整数数值保留1位小数(如1.3秒),整数自动去除末尾.0(如1秒而非1.0秒)
* - "年"单位数值会自动应用千分位格式化(如1,234年)
* 3. 输入校验:非整数或负数会返回"0毫秒"
*/
export declare function _Format_MillisecondToReadable(ms: number, maxUnit?: UnitName): string;
/**
* 将数组按指定长度分割成多个子数组
* @param arr 要分割的原始数组
* @param size 每个子数组的长度
* @returns 分割后的二维数组
* @throws 当size小于1时抛出错误
*/
export declare function _Format_ChunkArray<T>(arr: T[], size: number): T[][];
export {};