UNPKG

nhanh-pure-function

Version:
112 lines (111 loc) 4.94 kB
/** * 首字母大写 * @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 {};