UNPKG

ph-utils

Version:

js 开发工具集,前后端都可以使用(commonjs和es module)

155 lines (154 loc) 5.65 kB
/** * 验证参数是否为空 * @param str 待验证的参数 * @param ignoreWhitespace 如果是字符串是否忽略空格(包括空白字符串以及[\r\t\n]之类的制表符),默认为true */ export declare function isBlank(str?: any, ignoreWhitespace?: boolean): boolean; /** * 屏蔽手机号,中间部分用 * 展示 * @param mobile 待屏蔽的手机号 * @returns 屏蔽后的手机号,例如:123 **** 1234 */ export declare function shieldMobile(mobile: string): string; /** * 验证参数是否是数字 * @param str 待验证的字符串 * @param numericParam 通过参数标记是否包含小数、正数 * @param numericParam.isPositive 是否是正数, 默认: false * @param numericParam.isFloat 是否是小数, 默认: true * @returns true 是数字, false 不是数字 */ export declare function isNumeric(str: string, numericParam?: { isPositive?: boolean; isFloat?: boolean; }): boolean; /** * 验证参数是否是Boolean 类型 * @param str 待验证的字符串 * @returns */ export declare function isBoolean(str: string): boolean; /** 生成随机数的选项 */ interface RandomStringOption { /** 生成指定长度的随机字符串 */ length: number; /** 是否包含英文字母, 默认为: true */ hasLetter?: boolean; /** 生成纯数字的随机数时, 首位是否允许为 0, 默认为: true */ firstIsZero?: boolean; } interface RangeRandomOption { /** 配合 max 生成 [min~max] 之间的随机数 */ min: number; /** 配合 min 生成 [min~max] 之间的随机数 */ max: number; /** 生成的随机数,是否包含 max, 默认: false */ hasEnd?: boolean; /** 生成的随机数是否是整数, 默认: true */ isInteger?: boolean; } /** * 生成指定长度的随机数 * * @param len - 生成的随机数长度 * * @example <caption>1. 生成指定长度的随机字符串</caption> * random(1); // 长度为 1 的随机字符串 */ export declare function random(len: number): string; /** * 生成介于 [min, max] 之间的随机数 * * @param option 配置项 * @param option.min 生成介于 [min, max] 之间的随机数 * @param option.max 生成介于 [min, max] 之间的随机数 * @param option.hasEnd 生成的随机数,是否包含 max, 默认: false * @param option.isInteger 生成的随机数是否是整数, 默认: true */ export declare function random(option: RangeRandomOption): number; /** * 生成指定长度随机数 * * @param option 配置项 * @param option.length 生成的随机数长度 * @param option.hasLetter 是否包含英文字母, 默认为: true * @param option.firstIsZero 生成纯数字的随机数时, 首位是否允许为 0, 默认为: true * * @example <caption>2. 生成纯数字且首位不能为0长度为1的随机字符</caption> * random({ length: 1, hasLetter: false, firstIsZero: false }) */ export declare function random(option: RandomStringOption): string; /** * 带有错误名称标记的错误类型 */ export declare class BaseError extends Error { /** * 错误名称,类似于 Java 中的不同的 Exception[NullPointerException]; * 增加 name 字段,表明不同的错误,当需要根据不同的错误执行不同的处理的时候,会很有用 */ name: string; /** * 构造一个 name = BaseError 的错误信息 * @param message 错误描述 */ constructor(message: string); /** * * @param name 错误名称 * @param message 错误描述 */ constructor(name: string, message: string); } /** * 将金额数字格式化为金额格式显示并且会保留两位小数[去除多余的位数,不是四舍五入,而是直接舍去] 1234523432.23 => 123,123,123.23 * @param {number} number 待转换的金额数字 * @return string */ export declare function formatMoney(number: number): string; /** * 将风格由大写风格转换为下划线风格: HelloWorld -> hello-world * @param name 命名, 例如: HelloWorld * @param connector 连接符, 默认为: _ */ export declare function snakeCaseStyle(name: string, connector?: string): string; /** * 对数字进行四舍五入处理 * @param num 需要进行四舍五入的数字 * @param precision 精度,默认为2,即保留小数点后两位 * @param roundType 舍入类型,默认为0,提供三种取值: * 0: 标准四舍五入 * 1: 向上取整 * 2: 向下取整 * @returns 返回经过指定方式舍入后的数字 */ export declare function round(num: number, precision?: number, roundType?: 0 | 1 | 2): number; /** * 反转字符串 */ export declare function reverseStr(str: string): string; /** 数据格式化配置 */ interface FormDataConfig<T> { /** 配置需要转换为数字的字段 */ numberFields?: (keyof T)[]; /** 配置需要转换为字符串的字段 */ stringFields?: (keyof T)[]; /** 自定义的格式化 */ formatter?: { [K in keyof T]?: "number" | "string" | ((value: any) => number | string); }; } /** * 嵌套的 json 指定 key 数据 * @param data JSON格式数据 * @param keys 待获取的数据 key, 可以通过 [.] 获取嵌套数据, 例如: a.b.c * @returns */ export declare function getJSONValue(data: Record<string, any>, keystr: string): Record<string, any> | null; /** * 数据格式化主要用于数据类型转换 * @param data 待转换数据类型的数据 * @param config 转换配置 * @returns */ export declare function formatData<T extends Record<string, any>>(data: T, config?: FormDataConfig<T>): T; export {};