> 包含常用的类型判断、常用的工具类方法
@x-drive/utils 支持基于 babel-plugin-import 的按需加载机制
项目中引入 babel-plugin-import,可在 package.json 的 devDependencies 中手动加入
"devDependencies": {
"babel-plugin-import": "1.13.3"
}
或使用 npn install babel-plugin-import --save-dev
修改 babel.config.js 文件中 plugins 字段,增加模块相关设置
"plugins": [
[
"import"
, {
"libraryName": "@x-drive/utils"
, "libraryDirectory": "dist/libs"
, "camel2DashComponentName": false
}
, "@x-drive/utils"
]
]
如是 rollup 等工具中使用则在对应的 babel 设置中添加相应的配置
基于 is 扩展出各个数据类型的判断方法,用于各种数据类型的判断场景
数据类型判断
subject 待判断的数据type 数据类型名字是否是数组
subject 待判断的数据是否是对象
subject 待判断的数据是否是字符串
subject 待判断的数据是否是 null
subject 待判断的数据是否是数字
subject 待判断的数据是否 undefined
subject 待判断的数据是否函数
subject 待判断的数据是否是布尔值
subject 待判断的数据是否是错误对象
subject 待判断的数据是否是正则
subject 待判断的数据是否 async 声明的异步函数
subject 待判断的数据是否 Symbol
subject 待判断的数据是否是可执行函数
fn 待判断的数据是否是数组且长度大于0
subject 待判断的数据包含开发过程中遇到的各种与平台无关的函数、正则
批量替换字符串中带花括号标签为指定数据
tpl 待处理的字符串data 替换数据keep 是否保留未能解析的标签remove 是否同时删除已替换的数据字段labelReplace('{a}/{b}/c', {a: 1, b: 2}) // 1/2/c
labelReplace('{a}/{b}/c', {a: 1}, true) // 1/{b}/c
伪数组转成数组
args 伪数组对象通用遍历函数
data 待遍历数据handler 处理函数context 作用域转化为蛇形命名
str 待处理的字符串简单复制
item 原始数据格式化数字, 自动补 0
number 要格式化的数字size 格式化后出来的数字位数数组随机分布
arr 原始数组获取包含指定范围内的随机数
max 最大范围(包含)min 最小范围(包含,默认 0)序列化请求参数
query 参数对象对象扩展方法
subject 待判断的数据合并
target 合并基准对象sources 后续合并对象请求参数对象转成请求参数字符串
dat 请求参数转换对象为JS Date对象
date <可选> 日期数据(时间戳, 字符串, Date对象, 空)offset 修正偏移的秒数按照指定格式将日期对象或时间戳转化为日期字符串
date 日期对象或时间戳format 日期格式offset 修正偏移的秒数解析输入文本,输出带对应 kv 的对象
str 待处理字符串separator 字符串分割符号assignment 赋值符号ignore 需要排除的数据标识decode 是否执行 decode 操作节流
fn 回调函数delay 延迟时间将某些 js 数据类型上的原始方法转化为可直接调用的函数
origin 需要处理的原始函数延迟一段时间执行方法
fn 执行函数wait 延迟时间ext 要传递给延迟执行函数的参数休眠指定时间或随机时间
time 指定时间或随机时间logger 日志模块小数点补充 0 至保留位数
num 待处理的数字size 保留位数小驼峰转化为连字符命名
str 待处理的字符串首字大写
str 待处理的字符串带花括号标签检测正则
大写字母匹配正则
只有一个问号结尾
日期格式化格式匹配正则
时间分割正则
浮点数字精度处理
num 待处理数字dec 精度获取一组数组中的平均数
arr 待处理数组dec 保留精度按照指定格式将日期对象或时间戳转化为日期字符串
arr 待处理数组dec 保留精度offset 修正偏移的秒数按照指定格式将日期对象或时间戳转化为日期字符串
arr 待处理数组dec 保留精度