npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

minke-tooljs

v1.0.14

Published

TypeScript + Vite

Readme

minke-toolj

TypeScript + Vite

更新日志

[TOC]

1.0.14

  • 优化构建脚本,升级依赖,完善类型声明发布。
  • utils增加密码生成方法

1.0.13

  • 修复部分类型定义错误,增强 TypeScript 类型提示。
  • 优化部分工具函数参数类型声明。

1.0.12

  • ✨增加操作行为监控类 OperationalBehaviorMonitoring,支持页面点击、鼠标移动、滚动、停留、关闭、可见性变化、元素曝光等交互行为监听与回调。

1.0.11

  • 优化工具库体积及按需加载。

1.0.10

  • ✨增加 element exposure(元素曝光)能力至行为监控工具类。

1.0.9

  • ✨格式化 README 使用 TOC 索引,规范日志记录。

1.0.8

  • ✨keyboardListener 键盘事件工具增加组合键支持,完善 types 标注。
  • 优化 KeyboardListener 的事件回调与当前按键识别。

1.0.7

  • 增加跨会话清除sessionStorage类

1.0.6

  • 优化键盘事件监听器调用顺序

1.0.5

  • SMTool sm加密工具类,目前只支持sm4
  • KeyboardListener 键盘事件监听器

1.0.4

  • 数据校验中邮箱正则改为/^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*$/
  • formatFileSize 增加更大的单位'PB', 'EB', 'ZB', 'YB';增加unitIndex条件判断,防止越界

0.3.9

  • ✨增加base64转换工具类。
    • encode 将明文数据编码为base64
    • decode 将base64解码为指定类型
    • isBase64Valid 判断是否为有效的base64编码
    • base64ToString 将base64解码为明文字符串
    • stringToBase64 将明文字符串编码为base64
    • base64ToBlob 将base64解码为Blob对象
    • blobToBase64 将Blob对象编码为base64
    • base64ToFile 将base64解码为File对象
    • fileToBase64 将File对象编码为base64
    • base64ToArrayBuffer 将base64解码为ArrayBuffer对象
    • arrayBufferToBase64 将ArrayBuffer对象编码为base64
    • base64ToHEX 将base64解码为HEX字符串
    • HEXToBase64 将HEX字符串编码为base64

0.3.8

  • ✨filter.dicFilter 取消Promise返回,改为直接return结果(Promise在一些场景下会报错)。

0.3.5

  • ✨compareTime 对比开始时间和结束时间,并判断结束时间和开始时间是否满足自定义规则。
  • ✨openWindow 创建a标签并模拟点击,进行页面跳转。

0.3.1

  • ✨debounce 防抖函数,用于限制一个函数在短时间内连续触发时只执行一次,常用于输入框搜索功能等场景。
  • ✨throttle 节流函数,用于限制一个函数在一定时间内只执行一次,常用于滚动加载等场景。
  • ✨deepClone 深拷贝一个对象或数组,避免引用类型的数据共享问题。
  • ✨formatFileSize 将文件大小转换为可读性更好的格式,如将字节数转换为 KB、MB、GB 等单位。
  • ✨generateRandomNumber 生成指定范围内的随机数,如生成指定长度的随机验证码。
  • ✨truncateText 截断长文本并添加省略号,用于处理过长的标题或描述。
  • ✨smoothScrollToTop 平滑滚动到页面顶部
  • ✨toCamelCase 将字符串转换为驼峰命名法。
  • ✨toTitleCase 将字符串转换为标题格式,即每个单词首字母大写。
  • ✨flatten 将多维数组扁平化为一维数组。
  • ✨unique 去除数组中的重复元素。
  • ✨shuffle 随机打乱数组的顺序。
  • ✨formatCurrency 格式化货币金额,添加千位分隔符和货币符号。
  • ✨smoothScrollTo 平滑滚动到指定元素位置。
  • ✨getScrollPosition 获取页面的滚动位置。
  • ✨isInViewport 检测元素是否在可视区域内。
  • ✨downloadFile 通过 JavaScript 下载文件。
  • ✨isLeapYear 检查年份是否为闰年。
  • ✨getWeekNumber 获取给定日期的周数。
  • ✨getDaysInYear 获取给定日期的年份中的天数。
  • ✨getRandomColor 获取随机的颜色值。
export {
  // utils
  /** 删除前后空格 */
  trim,
  /** 判断是否为空 */
  isEmpty,
  /** 是否为空字符串,全空格也是空字符串 */
  isBlank,
  /** 判断是否是ie */
  isIE,
  /** 是否为url地址 */
  isURL,
  /** 处理两数运算丢失精度问题 */
  numOperation,
  /** 复制内容 */
  copyValue,
  /** 监听界面上下滚动,并在一定延迟之后执行相关操作 */
  handleScrollHeader,
  /** 检验密码强度 */
  scorePassword,
  /** 获取随机字符串 */
  getUUID,
  /** 根据传入的文件后缀获取对应的contentType */
  getFileContentType,
  /** 获取两个数组的并集(只支持一维数组) */
  getArrayUnionSet,
  /** 获取两个数组的差集(只支持一维数组) */
  getArrayDifferenceSet,
  /** 获取地址栏携带的参数 */
  getUrlParam,
  /** 禁止通过 ctrl + +/- 和 ctrl + 滚轮 对页面进行缩放 */
  preventZoom,
  /** 获取浏览器内核类型 */
  getBrowserType,
  /** 处理树形数据 */
  handleTreeData, 
  /** 防抖 */
  debounce,
  /** 节流 */
  throttle,
  /** 深拷贝 */
  deepClone,
  /** 格式化文件大小 */
  formatFileSize,
  /** 生成随机数 */
  generateRandomNumber,
  /** 截断字符串 */
  truncateText,
  /** 平滑滚动到顶部 */
  smoothScrollToTop,
  /** 转换为驼峰命名 */
  toCamelCase,
  /** 转换为标题命名 */
  toTitleCase,
  /** 扁平化数组 */
  flatten,
  /** 数组去重 */
  unique,
  /** 打乱数组 */
  shuffle,
  /** 格式化货币 */
  formatCurrency,
  /** 平滑滚动到指定元素 */
  smoothScrollTo,
  /** 获取滚动条位置 */
  getScrollPosition,
  /** 判断元素是否在视口中 */
  isInViewport,
  /** 下载文件 */
  downloadFile,
  /** 判断是否为闰年 */
  isLeapYear,
  /** 获取周数 */
  getWeekNumber,
  /** 获取年份天数 */
  getDaysInYear,
  /** 获取随机颜色 */
  getRandomColor,
  /** 获取身份证信息 */
  getIDCardInfo,
  /** 比较时间 */
  compareTime,
  /** 打开新窗口 */
  openWindow,
  /** 获取年份 */
  getToDateYear,

  // filter
  filter,

  // base64转换
  Base64,

  // validator
  Validator,

  // sm4加密
  SMTool,
  // 键盘事件监听
  KeyboardListener,

  // 跨会话清除sessionStorage
  ClearOtherTagSession,

  // IndexDB
  openDB,
  addData,
  getDataByKey,
  getDataByCursor,
  getDataByIndex,
  cursorGetDataByIndex,
  updateDB,
  deleteDB,
  deleteDBAll,
  closeDB,

  // Excel
  ExportExcel
}

eg:


import { trim, filter } from 'minke-tooljs'

...

console.log(trim(' qdw qdq qdw   '))
console.log(filter.dateTimeFilter(new Date()))
console.log(filter.codeFilter('123456789', 2, 4))