{"_id":"@aixdb/utils","_rev":"2-95b6153c80d3610a122f9817743d1556","name":"@aixdb/utils","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@aixdb/utils","version":"1.0.0","keywords":["jsonld","typescript","schema","semantic-web"],"author":{"name":"charlie.l1u@outlook.com"},"license":"ISC","_id":"@aixdb/utils@1.0.0","maintainers":[{"name":"charlie.l1u","email":"charlie.l1u@outlook.com"}],"dist":{"shasum":"63f477fe38a549e591dcbed7db9c62c4d385eecd","tarball":"https://registry.npmjs.org/@aixdb/utils/-/utils-1.0.0.tgz","fileCount":12,"integrity":"sha512-9V9+crWJxf4v31BtDuokF0UX5wb3RsO2J6mB++PjPjU3/fB/AzyRNkU4EqT2Cb+VGqGGPQ++n5tzKNE+HGykIg==","signatures":[{"sig":"MEUCIQDqBsiWZsXbWaq7tvv3hWJ0tOVsMdBLZYyenlYmBllVugIgRfmio0yLE0qIBD4IllJ5v4aBBofX5JB58LVzJimex6A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101327},"main":"dist/index.js","_from":"file:aixdb-utils-1.0.0.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","scripts":{"dev":"rollup -c -w --bundleConfigAsCjs","lint":"eslint . --ext .ts","test":"jest","build":"rollup -c --bundleConfigAsCjs","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","lint:fix":"eslint . --ext .ts --fix","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.ts\""},"_npmUser":{"name":"charlie.l1u","email":"charlie.l1u@outlook.com"},"_resolved":"/tmp/e25bed24167356b52790d1513e1def50/aixdb-utils-1.0.0.tgz","_integrity":"sha512-9V9+crWJxf4v31BtDuokF0UX5wb3RsO2J6mB++PjPjU3/fB/AzyRNkU4EqT2Cb+VGqGGPQ++n5tzKNE+HGykIg==","_npmVersion":"10.8.2","description":"A TypeScript library for generating and managing JSON-LD data","directories":{},"_nodeVersion":"20.19.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.6.1","devDependencies":{"eslint":"^8.0.0","rimraf":"^5.0.0","rollup":"^3.0.0","prettier":"^2.0.0","typescript":"^5.0.0","@types/node":"^20.0.0","rollup-plugin-dts":"^5.0.0","eslint-config-prettier":"^8.0.0","eslint-plugin-prettier":"^4.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@typescript-eslint/parser":"^5.0.0","@rollup/plugin-node-resolve":"^15.0.0","@typescript-eslint/eslint-plugin":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/utils_1.0.0_1747710201241_0.6466696249832182","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@aixdb/utils","version":"1.0.1","description":"A TypeScript library for generating and managing JSON-LD data","main":"dist/index.js","module":"dist/index.esm.js","types":"dist/index.d.ts","publishConfig":{"access":"public"},"keywords":["jsonld","typescript","schema","semantic-web"],"author":{"name":"charlie.l1u@outlook.com"},"license":"ISC","packageManager":"pnpm@10.6.1","devDependencies":{"@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-node-resolve":"^15.0.0","@rollup/plugin-typescript":"^11.0.0","@types/node":"^20.0.0","@typescript-eslint/eslint-plugin":"^5.0.0","@typescript-eslint/parser":"^5.0.0","eslint":"^8.0.0","eslint-config-prettier":"^8.0.0","eslint-plugin-prettier":"^4.0.0","prettier":"^2.0.0","rimraf":"^5.0.0","rollup":"^3.0.0","rollup-plugin-dts":"^5.0.0","typescript":"^5.0.0"},"scripts":{"build":"rollup -c --bundleConfigAsCjs","dev":"rollup -c -w --bundleConfigAsCjs","clean":"rimraf dist","type-check":"tsc --noEmit","lint":"eslint . --ext .ts","lint:fix":"eslint . --ext .ts --fix","format":"prettier --write \"src/**/*.ts\"","format:check":"prettier --check \"src/**/*.ts\"","test":"jest"},"_id":"@aixdb/utils@1.0.1","_integrity":"sha512-aW9SbDCkUW+usFE9/GuCikGPglgVM1+D5HMc5K8R1rBj7CUQEfgFTohppvTHgIdW2QgxMsKDCZlqaYLaFueikQ==","_resolved":"/tmp/2de8e2aa9d36c10722bafc668ae75322/aixdb-utils-1.0.1.tgz","_from":"file:aixdb-utils-1.0.1.tgz","_nodeVersion":"20.19.1","_npmVersion":"10.8.2","dist":{"integrity":"sha512-aW9SbDCkUW+usFE9/GuCikGPglgVM1+D5HMc5K8R1rBj7CUQEfgFTohppvTHgIdW2QgxMsKDCZlqaYLaFueikQ==","shasum":"81d7add4a5c16fa76f61d79319888b7c737739e7","tarball":"https://registry.npmjs.org/@aixdb/utils/-/utils-1.0.1.tgz","fileCount":12,"unpackedSize":99951,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBIo5HJuq42kTNnpYaF3Bxa0DF9ClW3WmR8ImWTCXV8zAiA/H03dUj5z4Ar21BIl5MQFLiJudAZ6Pcf21Ev4XdlgMQ=="}]},"_npmUser":{"name":"charlie.l1u","email":"charlie.l1u@outlook.com"},"directories":{},"maintainers":[{"name":"charlie.l1u","email":"charlie.l1u@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/utils_1.0.1_1747711318483_0.7290338134524514"},"_hasShrinkwrap":false}},"time":{"created":"2025-05-20T03:03:21.140Z","modified":"2025-05-20T03:21:58.979Z","1.0.0":"2025-05-20T03:03:21.460Z","1.0.1":"2025-05-20T03:21:58.727Z"},"author":{"name":"charlie.l1u@outlook.com"},"license":"ISC","keywords":["jsonld","typescript","schema","semantic-web"],"description":"A TypeScript library for generating and managing JSON-LD data","maintainers":[{"name":"charlie.l1u","email":"charlie.l1u@outlook.com"}],"readme":"# @aixdb/utils\n\n一个用于生成和管理 JSON-LD 数据的 TypeScript 工具库。该库提供了简单易用的 API 来生成符合 Schema.org 规范的 JSON-LD 数据，支持网站基本信息、组织信息、产品列表、面包屑导航等多种结构化数据。\n\n## 特性\n\n- 🚀 完全使用 TypeScript 编写，提供完整的类型定义\n- 📦 支持多种模块格式（CommonJS、ES Module、UMD）\n- 🎯 符合 Schema.org 规范\n- 🔧 支持自定义配置和扩展\n- 📝 详细的代码注释和文档\n\n## 安装\n\n使用 npm:\n\n```bash\nnpm install @aixdb/utils\n```\n\n使用 yarn:\n\n```bash\nyarn add @aixdb/utils\n```\n\n使用 pnpm:\n\n```bash\npnpm add @aixdb/utils\n```\n\n## 使用方法\n\n### 基础配置\n\n```typescript\nimport { getConfig, generateJsonLd } from '@aixdb/utils';\n\n// 基础配置数据\nconst configData = {\n  siteUrl: 'https://example.com',\n  title: '网站标题',\n  description: '网站描述',\n  keywords: '关键词1,关键词2',\n  menu: [\n    {\n      ID: '1',\n      name_ch: '首页',\n      path: '/',\n      type: 'home',\n      children: []\n    }\n  ],\n  products: [],\n  knowledge: [],\n  news: [],\n  companyName: '公司名称',\n  brandName: '品牌名称',\n  address: '公司地址',\n  phoneNumber: '1234567890',\n  email: 'contact@example.com'\n  logourl: 'https://example.com/logo.png'\n};\n\n// 生成 JSON-LD 配置\nconst jsonLdConfig = getConfig(configData);\n\n// 生成特定页面的 JSON-LD 数据\nconst pageJsonLd = generateJsonLd(jsonLdConfig, '/products/detail/123');\n```\n\n### 支持的 JSON-LD 类型\n\n- WebPage\n- Organization\n- Product\n- BreadcrumbList\n- ItemList\n\n## API 文档\n\n### getConfig(configData: ConfigData): JsonLdConfig\n\n生成完整的 JSON-LD 配置。\n\n参数：\n\n- `configData`: 配置数据对象，包含网站基本信息、菜单结构、产品列表等\n\n返回：\n\n- `JsonLdConfig`: JSON-LD 配置对象\n\n### generateJsonLd(config: JsonLdConfig, path: string): Record<string, unknown>\n\n生成特定页面的 JSON-LD 数据。\n\n参数：\n\n- `config`: JSON-LD 配置对象\n- `path`: 当前页面路径\n\n返回：\n\n- `Record<string, unknown>`: 生成的 JSON-LD 数据对象\n\n## 开发\n\n```bash\n# 安装依赖\npnpm install\n\n# 开发模式\npnpm dev\n\n# 构建\npnpm build\n\n# 代码检查\npnpm lint\n\n# 代码格式化\npnpm format\n```\n\n## 类型定义\n\n```typescript\ninterface ConfigData {\n  siteUrl: string;\n  title: string;\n  description: string;\n  keywords: string;\n  menu: MenuNode[];\n  products: any[];\n  knowledge: any[];\n  news: any[];\n  companyName: string;\n  brandName: string;\n  address: string;\n  phoneNumber: string;\n  email: string;\n  logourl: string;\n};\n\ninterface MenuNode {\n  ID: string;\n  name_ch: string;\n  path: string;\n  type: string;\n  children?: MenuNode[];\n}\n```","readmeFilename":"README.md"}