Skip to content

Home > @zero-dim/utils

utils package

@zero-dim/utils - 前端通用工具函数库

Remarks

这是一个全面的前端工具函数库,提供了丰富的工具函数集合,包括:

  • 进度条控制 nProgress - 提供页面加载进度条功能 - 树结构操作 treeToArray() - 树形结构与数组的相互转换 - 类型判断 - 全面的数据类型判断工具 - 唯一标识 uniqueId() - 生成 UUID 等唯一标识 - 对象操作 - 深拷贝、对象合并等 - 表单处理 - 表单数据的处理工具 - 函数工具 - 函数字符串转换等

主要特点: - 完全使用 TypeScript 编写,提供完整的类型定义 - 全面的单元测试覆盖 - 零依赖,仅依赖核心的工具库 - 支持 Tree Shaking - 支持 ESM 和 CommonJS 两种模块规范

安装使用:

bash
npm install @zero-dim/utils
# 或者
yarn add @zero-dim/utils

基础使用:

typescript
import { isObject, deepCopy, uniqueId } from '@zero-dim/utils'

// 类型判断
isObject({}) // true

// 对象深拷贝
const copy = deepCopy({ a: 1, b: { c: 2 } })

// 生成唯一ID
const id = uniqueId()

Functions

Function

Description

accessOrSetNestedValue(formData, path, value)

访问或设置嵌套对象的值

convertFunctionsToStrings(input)

递归将对象中的函数转换为字符串

convertStringsToFunctions(input)

递归将对象中的函数字符串转换为可执行函数

convertToExecutableFunction(functionString)

将字符串转换为可执行函数

deepCopy(value)

创建值的深拷贝

deepExtend(origin, target, mode)

深度扩展一个对象

deepExtendArgs(origin, lst)

使用多个源对象深度扩展一个对象

generateObjectFromPath(formData, path)

根据点分隔的路径字符串生成嵌套对象

getValueFromPath(obj, path)

根据路径获取对象中的值

hasProperty(rule, k)

判断对象是否包含指定的自有属性

is(val, type)

判断值是否为指定的类型

isArray(val)

判断值是否为数组类型

isBoolean(val)

判断值是否为布尔类型

isEmpty(value)

判断值是否为空

isExternal(val)

判断字符串是否为外部链接(http:,https:,mailto:,tel:开头)

isFunction(val)

判断值是否为函数类型

isJsonStringTryCatch(str)

判断字符串是否为有效的JSON格式

isNumber(val)

判断值是否为数字类型

isObject(val)

判断值是否为普通对象(非null的object类型)

isString(val)

判断值是否为字符串类型

isUndefined(val)

判断值是否为undefined或null

setNestedObjectValue(formData, keys)

根据字符串路径设置嵌套对象的值

setObjectValue(target, field, value)

给目标对象的字段设置值

setValueAtPath(obj, path, value)

根据路径设置对象中的值

treeToArray(tree)

将树形结构数据转换为扁平数组

uniqueId()

生成通用唯一识别码(UUID)

Variables

Variable

Description

nProgress

导出配置好的进度条实例 提供以下主要方法: - start(): 开始进度 - done(): 结束进度 - set(n): 设置指定进度,n介于0-1 - inc(): 稍微增加一点进度 - remove(): 移除进度条