@kdesigner/shared

v0.0.0-alpha.7

Published

KDesigner 共享工具库 - 提供跨框架、跨包的通用工具函数和实用程序

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