@kdesigner/shared
v0.0.0-alpha.7
Published
KDesigner 共享工具库 - 提供跨框架、跨包的通用工具函数和实用程序
Maintainers
Readme
@kdesigner/shared
KDesigner 共享工具库 - 提供跨框架、跨包的通用工具函数和实用程序。
特性
- 🚀 高性能: 优化的算法实现和内存使用
- 🔒 类型安全: 完整的 TypeScript 类型支持
- 📦 按需导入: 支持 tree-shaking,减少打包体积
- 🌐 跨平台: 支持浏览器和 Node.js 环境
- 📚 完整文档: 详细的中文文档和示例
安装
pnpm add @kdesigner/shared使用方式
Namespace 导入(推荐)
import { utils, validation, performance } from '@kdesigner/shared';
// 使用工具函数,避免命名冲突
const cloned = utils.deepClone(originalObject);
const isValid = validation.isEmail('[email protected]');
const debounced = performance.debounce(fn, 300);按需导入
// 方式一:从具体模块导入(避免冲突)
import { deepClone, merge } from '@kdesigner/shared/utils';
import { debounce, throttle } from '@kdesigner/shared/performance';
import { isEmail, isString } from '@kdesigner/shared/validation';
// 方式二:使用 namespace 导入(推荐)
import { utils, performance, validation } from '@kdesigner/shared';
const cloned = utils.deepClone(obj);
const debounced = performance.debounce(fn, 300);
const isValid = validation.isEmail('[email protected]');
// 方式三:模块级 namespace 导入
import { DateUtils, StringUtils } from '@kdesigner/shared/utils';
const formatted = DateUtils.formatDate(new Date());模块说明
通用工具 (utils)
- 对象操作: 深拷贝、合并、过滤、路径操作
- 数组操作: 去重、分组、排序、分块
- 字符串处理: 格式化、大小写转换、截断
- 数字处理: 格式化、计算、验证
- 日期处理: 格式化、计算、验证
类型检查和验证 (validation)
- 类型守卫: 精确的类型检查函数
- 数据验证: 邮箱、手机号、身份证等格式验证
- 结构验证: 对象结构和模式匹配
性能优化 (performance)
- 防抖节流: debounce 和 throttle 函数
- 缓存机制: memoize 和 LRU 缓存
- 异步工具: delay、sleep、批量处理
浏览器环境 (browser)
- DOM 操作: 安全的 DOM 查询和操作
- 存储操作: localStorage 和 sessionStorage 封装
- URL 处理: URL 解析、构建和查询参数处理
- Cookie 操作: Cookie 读写和管理
- 浏览器检测: 浏览器类型和特性检测
错误处理 (error)
- 异常处理: try-catch 包装和错误边界
- 重试机制: 可配置的重试策略
- 日志记录: 分级日志和格式化
- 错误上报: 错误收集和上报机制
开发
# 安装依赖
pnpm install
# 开发模式
pnpm dev
# 运行测试
pnpm test
# 测试覆盖率
pnpm test:coverage
# 类型检查
pnpm type-check
# 代码检查
pnpm lint
# 构建
pnpm build许可证
MIT