@movk/core是一个为 TypeScript 项目设计的现代化、支持 tree-shaking 的工具函数库,涵盖了数组、对象、字符串、异步操作等多个方面。
- 📖 在线文档
- 现代化: 使用 TypeScript 构建,提供完整的类型定义。
- Tree-Shaking: 只打包你需要的代码,减小生产环境的包体积。
- 功能丰富: 涵盖数组、对象、字符串、异步等多种工具函数。
- 组合式: 提供 Vue Composables,方便在 Vue 项目中使用。
- 文档齐全: 提供完善的文档和示例。
# pnpm
pnpm add @movk/core
# yarn
yarn add @movk/core
# npm
npm install @movk/coreuseAppStorage: 用于管理localStorage或sessionStorage中应用程序数据的组合式函数。useCopyCode: 用于将文本复制到剪贴板的组合式函数。
unique: 创建一个不含重复元素的数组副本。chunk: 将数组拆分成多个指定大小的块。flatten: 将嵌套数组展平到指定深度。
throttle: 创建一个节流函数,在指定时间间隔内最多只执行一次。debounce: 创建一个防抖函数,在指定延迟后执行,延迟时间会在每次调用时重置。sleep: 将执行暂停指定的毫秒数。sleepWithCancel: 可取消的sleep版本。
formatFileSize: 将文件大小(字节)格式化为人类可读的字符串。extractFilename: 从Content-Disposition响应头中提取文件名。triggerDownload: 在浏览器中触发文件下载。
isValidContainer: 检查一个值是否为有效的容器(对象或数组)。toPath: 将路径字符串或数组转换为路径数组。getPath: 获取对象中指定路径的值。setPath: 设置对象中指定路径的值。joinPath: 将多个路径片段连接成一个路径字符串。deepClone: 创建一个值的深拷贝。pick: 从对象中挑选指定的属性,创建一个新对象。separate: 将对象根据指定的键分割成两个对象。separateMany: 根据多个键组将对象分割成多个对象。convertToKebabCase: 将对象的所有键转换为 kebab-case 格式。omit:pick的反向操作;创建一个省略了指定属性的新对象。omitUndefined: 创建一个移除了所有undefined属性的新对象。
startCase: 将字符串转换为 Start Case 格式。camelCase: 将字符串转换为 camelCase 格式。kebabCase: 将字符串转换为 kebab-case 格式。snakeCase: 将字符串转换为 snake_case 格式。pascalCase: 将字符串转换为 PascalCase 格式。capitalize: 将字符串的第一个字符转换为大写,其余转换为小写。upperFirst: 将字符串的第一个字符转换为大写。lowerFirst: 将字符串的第一个字符转换为小写。upperCase: 将整个字符串转换为大写。lowerCase: 将整个字符串转换为小写。words: 将字符串拆分为一个单词数组。
一个包含用于处理树状数据结构的静态方法的类。
fromList: 将扁平的对象列表转换为树状结构。toList: 将树状结构转换为扁平的对象列表。estimateSize: 估算树中的节点总数。find: 查找树中满足条件的第一个节点。findAll: 查找树中所有满足条件的节点。findById: 按 ID 查找树中的节点。getStats: 获取关于树的统计信息(总节点数、叶子节点数、深度等)。filter: 过滤树,只保留满足条件的节点(及其祖先)。transform: 创建一个具有相同结构的新树,但每个节点都经过转换函数处理。forEach: 对树中的每个节点执行一次提供的函数。insertBefore: 在目标节点之前插入一个新节点。insertAfter: 在目标节点之后插入一个新节点。remove: 从树中移除一个节点。validate: 验证树结构的完整性。
getRandomUUID: 生成一个随机的 UUID。simpleHash: 从字符串创建一个简单的哈希值。
isObject: 检查值是否为对象。isArray: 检查值是否为数组。isString: 检查值是否为字符串。isNumber: 检查值是否为数字。isFunction: 检查值是否为函数。isEmpty: 检查值是否为空。isPlainObject: 检查值是否为纯粹的对象(plain object)。
- TypeScript - JavaScript 的超集
- Vitest - 测试框架
- Unbuild - 构建工具
- pnpm - 包管理器
