@lhvision/helpers
v2.1.14
Published
一些简单实用的工具函数
Downloads
5
Readme
@lhvision/helpers
✨ 一些简单的工具函数封装 ✨
Install
pnpm add @lhvision/helpersIMPORTANT: 从 2.0 开始移除了 CJS 产物只支持 ESM
helpers
默认导出为 browser.js shared.js 所有函数
import { } from '@lhvision/helpers'
import { } from '@lhvision/helpers/browser'
import { } from '@lhvision/helpers/shared'
import { } from '@lhvision/helpers/upload'browser.js
工具函数集合,用于浏览器环境。
请求处理
requestManager- 单例请求管理器request- 请求函数
全屏操作
exitFullScreen- 退出全屏getFullScreenElement- 获取全屏元素isFullScreen- 判断是否全屏requestFullScreen- 请求全屏toggleFullScreen- 切换全屏状态onFullScreenChange- 监听全屏变化offFullScreenChange- 移除全屏监听
剪贴板
copyText- 复制文本readText- 读取剪贴板文本pasteImage- 粘贴图片
下载
downloadBlob- 下载 Blob 数据downloadUrl- 下载 URLstreamDownload- 流式下载
其他
watchVisibility- 监听页面可见性TabCommunication- 使用 BroadcastChannel 跨标签页通信getTokenPayload- 获取 Token 载荷isTokenExpiringSoon- 检查 Token 是否即将过期hexToRgb- 十六进制转 RGBrgbToHsl- RGB 转 HSLrgbToHsv- RGB 转 HSVAudioVisualizer- 音频可视化工具CenterTextRenderer- 居中文本渲染器getEyeDropperColor- 获取屏幕取色器颜色canvasToImage- 将 Canvas 转换为高清图片setTheme- 设置主题 dark 或 lightinitThemeListener- 初始化主题监听器,设置 dark 或 light 主题startViewTransition- document.startViewTransition apisaveFileInBrowser- 保存文件到磁盘openFileInBrowser- 从磁盘读取文件
shared.js
通用工具函数。
流处理
createBaseStream- fetch response.body..getReader() ReadableStreamDefaultReader 基础流处理createBinaryStream- 二进制流处理,使用迭代器的方式实现,for await (const chunk of createBinaryStream(response))createTextStream- 文本流处理,使用迭代器的方式实现createSSEStream- SSE 流处理,ai 对话 api 返回处理函数,使用迭代器的方式实现processByte- 字节处理
工具函数
debounce- 防抖throttle- 节流pLimit- 并发限制
日期处理
getTimeRemaining- 计算两个时间点之间的时间差formatCountdown- 格式化时间差显示getDayOfYear- 某一个日期在当年的第几天getMonthCalendar- 获取月历网格数据
其他
AsyncLRUCache- 异步 LRU 缓存LRUCache- LRU 缓存eventBus- 单例事件总线,可以实现在响应拦截器中路由跳转等功能eventBusPromise- 简单的单发布订阅模式singleton- 使用 Proxy 代理模式实现单例模式
upload.js
文件上传相关功能,哈希计算功能基于 hash-wasm 实现。
哈希计算
initHashWASM- 初始化 WASMcalculateMD5- 计算 MD5calculateStreamMD5- 流式计算大文件 MD5calculateMD5WithWorker- Worker 方式计算 MD5calculateLargeFileMD5- 智能选择方式计算大文件 MD5
分片处理
calculateChunksMD5- 计算文件分片 MD5calculateChunksMD5WithWorkers- Worker 并行计算分片 MD5
上传流程
createFileHashStream- 创建文件哈希计算流hashStreamToUploadStream- 哈希流转上传流uploadFileInChunks- 通用分片上传流程

