> 包含常用的类型判断、常用的工具类方法
@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
保留精度