{"_id":"@doki-land/dejavu-engine","name":"@doki-land/dejavu-engine","dist-tags":{"latest":"0.0.0"},"versions":{"0.0.0":{"name":"@doki-land/dejavu-engine","version":"0.0.0","description":"DejaVu Engine - 模板引擎","type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","bin":{"dejavu":"bin/dejavu.mjs"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"keywords":[],"author":"","license":"MIT","devDependencies":{"@types/node":"^25.4.0","jsdom":"^29.0.0","terser":"^5.46.1","tsup":"^8.0.0","typescript":"^5.0.0","vite":"^5.0.0","vitest":"^2.1.8"},"scripts":{"build":"tsup src/index.ts --format esm","build:dts":"tsup src/index.ts --format esm --dts","dev":"tsup src/index.ts --format esm --watch","test":"vitest run","typecheck":"tsc --noEmit"},"_id":"@doki-land/dejavu-engine@0.0.0","_integrity":"sha512-+m2BuF4FcPVn7yd606sDntMJLp2qYHUQwdmiyyqZKkrxvlH1PLX1LnMtqgMCOMz71cauNLjArUMQis5VUOOK8w==","_resolved":"C:\\Users\\28059\\AppData\\Local\\Temp\\ca2f572a698332a0a08dd86003f4b7c4\\doki-land-dejavu-engine-0.0.0.tgz","_from":"file:doki-land-dejavu-engine-0.0.0.tgz","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-+m2BuF4FcPVn7yd606sDntMJLp2qYHUQwdmiyyqZKkrxvlH1PLX1LnMtqgMCOMz71cauNLjArUMQis5VUOOK8w==","shasum":"0cc73f2c7866efb21b26442b4cc79e77ec3210f8","tarball":"https://registry.npmjs.org/@doki-land/dejavu-engine/-/dejavu-engine-0.0.0.tgz","fileCount":5,"unpackedSize":169276,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD+gDKKtx88aFHADWhU/pMfLMPmIUEFTtoEZZc1xFikjwIgFrHL+fDU9oyLRVPlaNaGcT/aaEzg1uUTAYKVXLVrSN8="}]},"_npmUser":{"name":"galaster","email":"galaster@foxmail.com"},"directories":{},"maintainers":[{"name":"galaster","email":"galaster@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dejavu-engine_0.0.0_1774194437474_0.6536485543998072"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-22T15:47:17.368Z","0.0.0":"2026-03-22T15:47:17.614Z","modified":"2026-03-22T15:47:17.888Z"},"maintainers":[{"name":"galaster","email":"galaster@foxmail.com"}],"description":"DejaVu Engine - 模板引擎","keywords":[],"license":"MIT","readme":"\n# DejaVu Tools (TypeScript)\n\nDéjà-Vu 模板引擎的 TypeScript 工具库，提供各种通用的工具函数、类型定义、错误处理和配置管理功能。\n\n## 定位\n\n- **TypeScript 工具库**：提供 DejaVu 前端开发所需的通用工具\n- **完整的工具集**：包含工具函数、错误处理、配置管理等\n- **核心功能**：\n  - 通用工具函数（空值检查、延迟、重试等）\n  - 类型定义（文件路径、环境变量等）\n  - 错误处理系统\n  - 事件发射器\n  - 缓存系统\n  - 配置管理\n\n## 特性\n\n- 完全 TypeScript 编写，类型安全\n- 零运行时依赖\n- 模块化设计，按需导入\n- 提供丰富的工具函数\n- 完整的错误处理机制\n- 事件驱动架构支持\n\n## 使用\n\n### 安装\n\n```bash\npnpm add dejavu-tools\n```\n\n### 基本示例\n\n```typescript\nimport {\n  isNil,\n  isEmpty,\n  delay,\n  deepClone,\n  uuidv4,\n  EventEmitter,\n  Cache,\n  ErrorLevel,\n  ToolException,\n  createDefaultToolsConfig,\n  ToolsConfigManager\n} from 'dejavu-tools';\n\n// 使用工具函数\nif (isNil(value)) {\n  console.log('值为空');\n}\n\n// 使用事件发射器\nconst emitter = new EventEmitter();\nemitter.on('data', (data) =&gt; console.log(data));\nemitter.emit('data', 'hello');\n\n// 使用缓存\nconst cache = new Cache&lt;string, number&gt;(60000);\ncache.set('key', 123);\nconsole.log(cache.get('key'));\n```\n\n### 工具函数列表\n\n#### 空值检查\n- `isNil` - 检查值是否为 null 或 undefined\n- `isNotNil` - 检查值不为 null 或 undefined\n- `isEmpty` - 检查值是否为空\n- `isNotEmpty` - 检查值不为空\n\n#### 异步工具\n- `delay` - 延迟执行\n- `cancellableDelay` - 可取消的延迟\n- `retry` - 重试操作\n- `debounce` - 防抖函数\n- `throttle` - 节流函数\n- `memoize` - 记忆化函数\n\n#### 对象工具\n- `deepClone` - 深拷贝\n- `deepEqual` - 深比较\n- `safeJsonParse` - 安全的 JSON 解析\n- `safeJsonStringify` - 安全的 JSON 序列化\n\n#### 字符串工具\n- `uniqueId` - 生成唯一 ID\n- `uuidv4` - 生成 UUID v4\n- `capitalize` - 首字母大写\n- `camelCase` - 驼峰命名\n- `kebabCase` - 短横线命名\n- `snakeCase` - 下划线命名\n- `truncate` - 截断字符串\n\n#### 数组工具\n- `unique` - 数组去重\n- `chunk` - 数组分块\n\n## 模块结构\n\n- `types` - 类型定义\n- `errors` - 错误处理\n- `utils` - 工具函数\n- `options` - 配置和选项\n\n## 依赖关系\n\ndejavu-tools (TypeScript) 是一个独立的前端工具库，无外部依赖。\n","readmeFilename":"readme.md","_rev":"1-51abad6ec4d6177830b2b491d3ba605e"}