Appearance
明途公共 TypeScript 工具库,提供类型判断、浏览器工具、文件处理、数学计算、字符串处理、函数控制、下载、WebSocket、Worker、主题和国际化等能力。
安装
bash
pnpm add @mingto/tools使用方式
typescript
import { add, getFileSuffix, isString } from '@mingto/tools'
isString('hello')
add(0.1, 0.2)
getFileSuffix('/demo/file.pdf')默认导出提供国际化语言设置能力:
typescript
import tools from '@mingto/tools'
tools.locale('zh-cn')
tools.getLocale()模块清单
array
| API | 说明 |
|---|---|
chunkArray | 将数组按指定长度切分 |
browser
| API | 说明 |
|---|---|
copyText | 复制文本到剪贴板 |
createAudioPermission | 创建音频播放权限辅助能力 |
getAbsoluteUrl | 获取绝对 URL |
getBrowserFingerprint | 获取浏览器指纹 |
isAndroid | 判断 Android 环境 |
isIos | 判断 iOS 环境 |
isMobile | 判断移动端环境 |
isPc | 判断 PC 环境 |
core
| API | 说明 |
|---|---|
beParsedAsNumber | 将值按数字解析 |
canBeParsedAsNumber | 判断值是否可解析为数字 |
checkArrayEmpty | 判断数组是否为空 |
checkEmpty | 判断值是否为空 |
checkEmptyNotZero | 判断值是否为空但保留数字 0 |
checkObjectEmpty | 判断对象是否为空 |
isArray | 判断数组 |
isBoolean | 判断布尔值 |
isFunction | 判断函数 |
isNullOrUndefined | 判断 null 或 undefined |
isNumber | 判断数字 |
isObject | 判断对象 |
isString | 判断字符串 |
isUndefined | 判断 undefined |
file
| API | 说明 |
|---|---|
batchDownloadFile | 批量下载文件 |
getFileIcon | 获取文件图标 |
getFileName | 获取文件名 |
getFilePathNotQuery | 获取去除 query 的文件路径 |
getFileQuery | 获取文件路径 query |
getFileSuffix | 获取文件后缀 |
getFileSuffixIcon | 获取文件后缀图标 |
getFileTitle | 获取文件标题 |
isCompressFilePath | 判断压缩文件路径 |
isDocumentFilePath | 判断文档文件路径 |
isFilePath | 判断是否为文件路径 |
isImageFilePath | 判断图片文件路径 |
isMarkdownFilePath | 判断 Markdown 文件路径 |
isMusicFilePath | 判断音频文件路径 |
isPptFilePath | 判断 PPT 文件路径 |
isVideoFilePath | 判断视频文件路径 |
singleDownloadFile | 下载单个文件 |
singleDownloadFileBase64 | 下载 Base64 文件 |
updateFilePathQuery | 更新文件路径 query |
同时导出文件类型枚举与类型:
typescript
import type { FileSuffix, ImageFileSuffix } from '@mingto/tools'
import { FileSuffixEnum, ImageFileSuffixEnum } from '@mingto/tools'function
| API | 说明 |
|---|---|
debounce | 防抖函数 |
throttle | 节流函数 |
math
| API | 说明 |
|---|---|
add | 精确加法 |
subtract | 精确减法 |
multiply | 精确乘法 |
divide | 除法 |
getDecimalPlaces | 获取小数位数 |
calcAspectRatio | 计算宽高比 |
object
| API | 说明 |
|---|---|
deepFreeze | 深冻结对象 |
pickObject | 从对象中选取指定字段 |
string
| API | 说明 |
|---|---|
chunkString | 将字符串按指定长度切分 |
objectToQueryString | 对象转 query string |
queryStringToObject | query string 转对象 |
supply
| API | 说明 |
|---|---|
getUuid | 获取 UUID |
timeDelay | 延迟执行 |
theme
| API | 说明 |
|---|---|
useTheme | 主题相关工具 |
validator
| API | 说明 |
|---|---|
isValidBase64 | 校验 Base64 字符串 |
isValidUrl | 校验 URL |
web-socket
| API | 说明 |
|---|---|
createWebSocket | 创建 WebSocket 连接 |
isWebSocketSupported | 判断当前环境是否支持 WebSocket |
worker
| API | 说明 |
|---|---|
createWorker | 创建 Worker |
closeWorker | 关闭 Worker |
常用示例
类型判断
typescript
import { isArray, isNumber, isObject, isString } from '@mingto/tools'
isArray([1, 2, 3])
isNumber(1)
isObject({ a: 1 })
isString('hello')精确计算
typescript
import { add, divide, multiply, subtract } from '@mingto/tools'
add(0.1, 0.2)
subtract(0.3, 0.1)
multiply(0.1, 0.2)
divide(10, 2)文件路径处理
typescript
import { getFileName, getFileSuffix, getFileTitle, isImageFilePath } from '@mingto/tools'
getFileName('/path/to/demo.png')
getFileTitle('/path/to/demo.png')
getFileSuffix('/path/to/demo.png')
isImageFilePath('/path/to/demo.png')函数控制
typescript
import { debounce, throttle } from '@mingto/tools'
const onResize = debounce(() => {}, 300)
const onScroll = throttle(() => {}, 300)国际化
支持语言:zh-cn、zh-tw、en、ms、ar、th、vi。
typescript
import tools from '@mingto/tools'
tools.locale('en')
const locale = tools.getLocale()