schema-dsl 1.2.5 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/CHANGELOG.md +130 -238
  2. package/LICENSE +21 -21
  3. package/README.md +628 -2486
  4. package/dist/DslBuilder-BIgQOAXp.d.ts +343 -0
  5. package/dist/DslBuilder-CjHTucNQ.d.cts +343 -0
  6. package/dist/Validator-CllRdrY0.d.ts +192 -0
  7. package/dist/Validator-D6okG9tr.d.cts +192 -0
  8. package/dist/index.cjs +6640 -0
  9. package/dist/index.d.cts +1151 -0
  10. package/dist/index.d.ts +1151 -0
  11. package/dist/index.js +6574 -0
  12. package/dist/plugin-CIKtTMtS.d.cts +246 -0
  13. package/dist/plugin-CIKtTMtS.d.ts +246 -0
  14. package/dist/plugins/custom-format.cjs +3818 -0
  15. package/dist/plugins/custom-format.d.cts +12 -0
  16. package/dist/plugins/custom-format.d.ts +12 -0
  17. package/dist/plugins/custom-format.js +3788 -0
  18. package/dist/plugins/custom-type-example.cjs +3811 -0
  19. package/dist/plugins/custom-type-example.d.cts +8 -0
  20. package/dist/plugins/custom-type-example.d.ts +8 -0
  21. package/dist/plugins/custom-type-example.js +3781 -0
  22. package/dist/plugins/custom-validator.cjs +144 -0
  23. package/dist/plugins/custom-validator.d.cts +10 -0
  24. package/dist/plugins/custom-validator.d.ts +10 -0
  25. package/dist/plugins/custom-validator.js +119 -0
  26. package/docs/FEATURE-INDEX.md +553 -519
  27. package/docs/add-custom-locale.md +496 -483
  28. package/docs/add-keyword.md +24 -0
  29. package/docs/api-reference.md +1047 -805
  30. package/docs/api.md +13 -0
  31. package/docs/best-practices-project-structure.md +417 -408
  32. package/docs/best-practices.md +712 -672
  33. package/docs/cache-manager.md +344 -336
  34. package/docs/compile.md +45 -0
  35. package/docs/conditional-api.md +1307 -1278
  36. package/docs/custom-extensions-guide.md +339 -411
  37. package/docs/design-philosophy.md +606 -601
  38. package/docs/doc-index.md +324 -0
  39. package/docs/dsl-syntax.md +714 -664
  40. package/docs/dynamic-locale.md +608 -598
  41. package/docs/enum.md +482 -475
  42. package/docs/error-handling.md +1975 -1966
  43. package/docs/export-guide.md +501 -462
  44. package/docs/export-limitations.md +567 -551
  45. package/docs/faq.md +596 -577
  46. package/docs/frontend-i18n-guide.md +307 -293
  47. package/docs/i18n-user-guide.md +487 -474
  48. package/docs/i18n.md +476 -457
  49. package/docs/index.md +48 -0
  50. package/docs/json-schema-basics.md +40 -0
  51. package/docs/label-vs-description.md +271 -262
  52. package/docs/markdown-exporter.md +406 -397
  53. package/docs/mongodb-exporter.md +302 -295
  54. package/docs/multi-language.md +26 -0
  55. package/docs/multi-type-support.md +322 -329
  56. package/docs/mysql-exporter.md +280 -273
  57. package/docs/number-operators.md +449 -442
  58. package/docs/optional-marker-guide.md +326 -321
  59. package/docs/performance-guide.md +49 -0
  60. package/docs/plugin-system.md +381 -542
  61. package/docs/plugin-type-registration.md +34 -0
  62. package/docs/postgresql-exporter.md +311 -304
  63. package/docs/public/favicon.svg +5 -0
  64. package/docs/quick-start.md +435 -761
  65. package/docs/runtime-locale-support.md +532 -521
  66. package/docs/schema-helper.md +345 -340
  67. package/docs/schema-utils-advanced-issues.md +23 -0
  68. package/docs/schema-utils-best-practices.md +20 -0
  69. package/docs/schema-utils-chaining.md +150 -143
  70. package/docs/schema-utils.md +524 -490
  71. package/docs/security-checklist.md +20 -0
  72. package/docs/string-extensions.md +488 -480
  73. package/docs/troubleshooting.md +486 -471
  74. package/docs/type-converter.md +310 -319
  75. package/docs/type-reference.md +242 -219
  76. package/docs/typescript-guide.md +584 -573
  77. package/docs/union-type-guide.md +157 -147
  78. package/docs/union-types.md +284 -277
  79. package/docs/validate-async.md +491 -480
  80. package/docs/validate-batch.md +49 -0
  81. package/docs/validate-dsl-object-support.md +578 -573
  82. package/docs/validate.md +506 -486
  83. package/docs/validation-guide.md +502 -484
  84. package/docs/validator.md +39 -0
  85. package/package.json +131 -73
  86. package/plugins/custom-format.cjs +8 -0
  87. package/plugins/custom-type-example.cjs +8 -0
  88. package/plugins/custom-validator.cjs +8 -0
  89. package/src/adapters/DslAdapter.ts +111 -0
  90. package/src/adapters/index.ts +1 -0
  91. package/src/config/constants.ts +83 -0
  92. package/src/config/index.ts +2 -0
  93. package/src/config/patterns.ts +77 -0
  94. package/src/core/CacheManager.ts +169 -0
  95. package/src/core/ConditionalBuilder.ts +382 -0
  96. package/src/core/ConditionalRuntime.ts +28 -0
  97. package/src/core/ConditionalValidator.ts +255 -0
  98. package/src/core/DslBuilder.ts +687 -0
  99. package/src/core/ErrorCodes.ts +38 -0
  100. package/src/core/ErrorFormatter.ts +271 -0
  101. package/src/core/JSONSchemaCore.ts +65 -0
  102. package/src/core/Locale.ts +187 -0
  103. package/src/core/MessageTemplate.ts +42 -0
  104. package/src/core/ObjectDslBuilder.ts +64 -0
  105. package/src/core/PluginManager.ts +326 -0
  106. package/src/core/StringExtensions.ts +140 -0
  107. package/src/core/TemplateEngine.ts +44 -0
  108. package/src/core/Validator.ts +448 -0
  109. package/src/errors/I18nError.ts +159 -0
  110. package/src/errors/ValidationError.ts +105 -0
  111. package/src/exporters/BaseExporter.ts +60 -0
  112. package/src/exporters/MarkdownExporter.ts +305 -0
  113. package/src/exporters/MongoDBExporter.ts +126 -0
  114. package/src/exporters/MySQLExporter.ts +156 -0
  115. package/src/exporters/PostgreSQLExporter.ts +222 -0
  116. package/src/exporters/index.ts +18 -0
  117. package/src/index.ts +651 -0
  118. package/{lib/locales/en-US.js → src/locales/en-US.ts} +160 -176
  119. package/{lib/locales/es-ES.js → src/locales/es-ES.ts} +160 -113
  120. package/{lib/locales/fr-FR.js → src/locales/fr-FR.ts} +160 -113
  121. package/src/locales/index.ts +103 -0
  122. package/{lib/locales/ja-JP.js → src/locales/ja-JP.ts} +160 -118
  123. package/src/locales/types.ts +156 -0
  124. package/{lib/locales/zh-CN.js → src/locales/zh-CN.ts} +160 -177
  125. package/src/parser/ConstraintParser.ts +101 -0
  126. package/src/parser/DslParser.ts +470 -0
  127. package/src/parser/SchemaCompiler.ts +66 -0
  128. package/src/parser/TypeRegistry.ts +250 -0
  129. package/src/parser/index.ts +6 -0
  130. package/src/plugins/custom-format.ts +124 -0
  131. package/src/plugins/custom-type-example.ts +106 -0
  132. package/src/plugins/custom-validator.ts +138 -0
  133. package/src/types/conditional.ts +28 -0
  134. package/src/types/config.ts +59 -0
  135. package/src/types/dsl.ts +131 -0
  136. package/src/types/error.ts +60 -0
  137. package/src/types/index.ts +17 -0
  138. package/src/types/infer.ts +128 -0
  139. package/src/types/plugin.ts +58 -0
  140. package/src/types/safe-regex.d.ts +9 -0
  141. package/src/types/schema.ts +66 -0
  142. package/src/types/validate.ts +71 -0
  143. package/src/utils/SchemaHelper.ts +196 -0
  144. package/src/utils/SchemaUtils.ts +365 -0
  145. package/src/utils/TypeConverter.ts +215 -0
  146. package/src/utils/index.ts +10 -0
  147. package/src/validators/CustomKeywords.ts +477 -0
  148. package/.eslintignore +0 -11
  149. package/.eslintrc.json +0 -27
  150. package/CONTRIBUTING.md +0 -368
  151. package/STATUS.md +0 -491
  152. package/changelogs/v1.0.0.md +0 -328
  153. package/changelogs/v1.0.9.md +0 -367
  154. package/changelogs/v1.1.0.md +0 -389
  155. package/changelogs/v1.1.1.md +0 -308
  156. package/changelogs/v1.1.2.md +0 -183
  157. package/changelogs/v1.1.3.md +0 -161
  158. package/changelogs/v1.1.4.md +0 -432
  159. package/changelogs/v1.1.5.md +0 -493
  160. package/changelogs/v1.1.6.md +0 -211
  161. package/changelogs/v1.1.8.md +0 -376
  162. package/changelogs/v1.2.3.md +0 -124
  163. package/docs/INDEX.md +0 -252
  164. package/docs/issues-resolved-summary.md +0 -196
  165. package/docs/performance-benchmark-report.md +0 -179
  166. package/docs/performance-quick-reference.md +0 -123
  167. package/docs/user-questions-answered.md +0 -353
  168. package/docs/validation-rules-v1.0.2.md +0 -1608
  169. package/examples/README.md +0 -81
  170. package/examples/array-dsl-example.js +0 -227
  171. package/examples/conditional-example.js +0 -288
  172. package/examples/conditional-non-object.js +0 -129
  173. package/examples/conditional-validate-example.js +0 -321
  174. package/examples/custom-extension.js +0 -85
  175. package/examples/dsl-match-example.js +0 -74
  176. package/examples/dsl-style.js +0 -118
  177. package/examples/dynamic-locale-configuration.js +0 -348
  178. package/examples/dynamic-locale-example.js +0 -287
  179. package/examples/enum.examples.js +0 -324
  180. package/examples/export-demo.js +0 -130
  181. package/examples/express-integration.js +0 -376
  182. package/examples/i18n-error-handling-complete.js +0 -381
  183. package/examples/i18n-error-handling-quickstart.md +0 -0
  184. package/examples/i18n-error.examples.js +0 -181
  185. package/examples/i18n-full-demo.js +0 -301
  186. package/examples/i18n-memory-safety.examples.js +0 -268
  187. package/examples/markdown-export.js +0 -71
  188. package/examples/middleware-usage.js +0 -93
  189. package/examples/new-features-comparison.js +0 -315
  190. package/examples/password-reset/README.md +0 -153
  191. package/examples/password-reset/schema.js +0 -26
  192. package/examples/password-reset/test.js +0 -101
  193. package/examples/plugin-system.examples.js +0 -205
  194. package/examples/schema-utils-chaining.examples.js +0 -250
  195. package/examples/simple-example.js +0 -122
  196. package/examples/slug.examples.js +0 -179
  197. package/examples/string-extensions.js +0 -297
  198. package/examples/union-type-example.js +0 -127
  199. package/examples/union-types-example.js +0 -77
  200. package/examples/user-registration/README.md +0 -156
  201. package/examples/user-registration/routes.js +0 -92
  202. package/examples/user-registration/schema.js +0 -150
  203. package/examples/user-registration/server.js +0 -74
  204. package/index.d.ts +0 -3658
  205. package/index.js +0 -475
  206. package/index.mjs +0 -60
  207. package/lib/adapters/DslAdapter.js +0 -995
  208. package/lib/adapters/index.js +0 -20
  209. package/lib/config/constants.js +0 -286
  210. package/lib/config/patterns/common.js +0 -47
  211. package/lib/config/patterns/creditCard.js +0 -9
  212. package/lib/config/patterns/idCard.js +0 -9
  213. package/lib/config/patterns/index.js +0 -9
  214. package/lib/config/patterns/licensePlate.js +0 -4
  215. package/lib/config/patterns/passport.js +0 -4
  216. package/lib/config/patterns/phone.js +0 -9
  217. package/lib/config/patterns/postalCode.js +0 -5
  218. package/lib/core/CacheManager.js +0 -376
  219. package/lib/core/ConditionalBuilder.js +0 -503
  220. package/lib/core/DslBuilder.js +0 -1589
  221. package/lib/core/ErrorCodes.js +0 -233
  222. package/lib/core/ErrorFormatter.js +0 -445
  223. package/lib/core/JSONSchemaCore.js +0 -347
  224. package/lib/core/Locale.js +0 -130
  225. package/lib/core/MessageTemplate.js +0 -98
  226. package/lib/core/PluginManager.js +0 -448
  227. package/lib/core/StringExtensions.js +0 -240
  228. package/lib/core/Validator.js +0 -654
  229. package/lib/errors/I18nError.js +0 -328
  230. package/lib/errors/ValidationError.js +0 -191
  231. package/lib/exporters/MarkdownExporter.js +0 -420
  232. package/lib/exporters/MongoDBExporter.js +0 -162
  233. package/lib/exporters/MySQLExporter.js +0 -212
  234. package/lib/exporters/PostgreSQLExporter.js +0 -289
  235. package/lib/exporters/index.js +0 -24
  236. package/lib/locales/index.js +0 -8
  237. package/lib/utils/LRUCache.js +0 -174
  238. package/lib/utils/SchemaHelper.js +0 -240
  239. package/lib/utils/SchemaUtils.js +0 -445
  240. package/lib/utils/TypeConverter.js +0 -245
  241. package/lib/utils/index.js +0 -13
  242. package/lib/validators/CustomKeywords.js +0 -616
  243. package/lib/validators/index.js +0 -11
@@ -0,0 +1,324 @@
1
+ # schema-dsl 文档索引
2
+
3
+ > **更新时间**: 2026-05-06
4
+ > **用途**: 所有文档的快速导航
5
+ > **在线文档**: https://schema-dsl.github.io
6
+ > **文档数量**: `README.md + docs/*.md` 共 58 份
7
+
8
+ ---
9
+
10
+ ## 📑 目录
11
+
12
+ ### 快速导航
13
+ - [快速开始](#doc-index-quick-start) - 入门必读
14
+ - [核心文档](#doc-index-core-docs) - 主要功能文档
15
+ - [功能索引](#doc-index-feature-map) - 按功能查找
16
+ - [导出器](#doc-index-exporters) - 数据库 Schema 导出
17
+ - [工具类](#doc-index-utilities) - 辅助工具
18
+ - [使用指南](#doc-index-guides) - 完整教程
19
+ - [补充文档](#doc-index-supplemental) - 其余未在专题区展开的文档
20
+ - [故障排查](#doc-index-troubleshooting) - 问题解决
21
+ - [示例代码](#doc-index-examples) - 完整示例
22
+ - [常见问题](#doc-index-faq) - FAQ
23
+
24
+ ---
25
+
26
+ <a id="doc-index-quick-start"></a>
27
+
28
+ ## 🚀 快速开始
29
+
30
+ | 文档 | 阅读时间 | 说明 |
31
+ |------|----------|------|
32
+ | [README.md](https://github.com/vextjs/schema-dsl/blob/main/README.md) | 3分钟 | 项目介绍、安装和快速开始 ⭐ |
33
+ | [quick-start.md](quick-start.md) | 5分钟 | 5分钟快速上手教程 ⭐ |
34
+ | [design-philosophy.md](design-philosophy.md) | 15分钟 | **设计理念与性能权衡** ⭐⭐⭐ |
35
+ | [FEATURE-INDEX.md](FEATURE-INDEX.md) | 10分钟 | 完整功能索引 ⭐ |
36
+ | [best-practices.md](best-practices.md) | 15分钟 | 最佳实践指南 ⭐⭐⭐ |
37
+ | [faq.md](faq.md) | 5分钟 | 常见问题解答 |
38
+
39
+ ---
40
+
41
+ <a id="doc-index-core-docs"></a>
42
+
43
+ ## 📖 核心文档
44
+
45
+ ### DSL 语法(核心功能)
46
+
47
+ | 文档 | 说明 |
48
+ |------|------|
49
+ | [dsl-syntax.md](dsl-syntax.md) | **DSL语法完整指南**(最重要)⭐⭐⭐ |
50
+ | [string-extensions.md](string-extensions.md) | **String扩展文档** ⭐⭐ |
51
+ | [plugin-system.md](plugin-system.md) | **插件系统指南** ⭐⭐ |
52
+ | [api-reference.md](api-reference.md) | API完整参考 ⭐⭐ |
53
+ | [validate.md](validate.md) | validate方法详解 ⭐ |
54
+ | [**validate-async.md**](validate-async.md) | **异步验证方法详解** ⭐⭐⭐ |
55
+ | [**schema-utils-chaining.md**](schema-utils-chaining.md) | **Schema链式复用方法** ⭐⭐⭐ |
56
+ | [**schema-utils-best-practices.md**](schema-utils-best-practices.md) | **SchemaUtils最佳实践与常见陷阱** ⭐⭐⭐ |
57
+ | [**schema-utils-advanced-issues.md**](schema-utils-advanced-issues.md) | **SchemaUtils深入问题分析** ⭐⭐ |
58
+
59
+ ---
60
+
61
+ <a id="doc-index-feature-map"></a>
62
+
63
+ ## 🎯 功能索引
64
+
65
+ ### 核心API
66
+
67
+ | 功能 | 文档 | 代码位置 |
68
+ |------|------|---------|
69
+ | dsl() 函数 | [api-reference.md](api-reference.md#dsl-函数) | `src/index.ts` / `src/adapters/DslAdapter.ts` |
70
+ | DslBuilder 类 | [api-reference.md](api-reference.md#dslbuilder-类) | `src/core/DslBuilder.ts` |
71
+ | String 扩展 | [string-extensions.md](string-extensions.md) | `src/core/StringExtensions.ts` |
72
+ | Validator 类 | [validate.md](validate.md) | `src/core/Validator.ts` |
73
+ | validate() 函数 | [api-reference.md](api-reference.md) | `src/index.ts` |
74
+ | validateAsync() 函数 | [validate-async.md](validate-async.md) | `src/index.ts` |
75
+ | ValidationError 类 | [validate-async.md](validate-async.md#validationerror) | `src/errors/ValidationError.ts` |
76
+ | SchemaUtils 链式调用 | [schema-utils-chaining.md](schema-utils-chaining.md) | `src/utils/SchemaUtils.ts` |
77
+
78
+
79
+ ---
80
+
81
+ <a id="doc-index-exporters"></a>
82
+
83
+ ## 🗄️ 导出器
84
+
85
+ > 将 JSON Schema 转换为数据库 DDL 和验证规则
86
+
87
+ > ⚠️ **重要提示**: 请先阅读 [**导出限制说明**](export-limitations.md),了解哪些特性无法导出到数据库 Schema。
88
+
89
+ ### 导出限制说明 ⚠️
90
+
91
+ | 文档 | 说明 |
92
+ |------|------|
93
+ | [**export-limitations.md**](export-limitations.md) | **导出限制完整说明**(必读)⭐⭐⭐ |
94
+
95
+ **主要内容**:
96
+ - ❌ 不支持导出的特性(条件验证、自定义验证器等)
97
+ - ⚠️ 部分支持的特性(正则、范围、枚举等)
98
+ - ✅ 完全支持的特性(基础类型、必填约束等)
99
+ - 数据库特定限制对比(MongoDB/MySQL/PostgreSQL)
100
+ - 最佳实践建议(分层验证、文档化约束等)
101
+
102
+ ### MongoDB 导出器
103
+
104
+ | 文档 | 说明 |
105
+ |------|------|
106
+ | [mongodb-exporter.md](mongodb-exporter.md) | MongoDB 导出器完整指南 |
107
+
108
+ **主要功能**:
109
+ - `export()` - 导出 $jsonSchema 验证规则
110
+ - `generateCreateCommand()` - 生成创建集合命令(含验证)
111
+ - `generateCommand()` - 生成完整 runCommand 命令
112
+ - `MongoDBExporter.export()` - 静态快速导出方法
113
+
114
+ ### MySQL 导出器
115
+
116
+ | 文档 | 说明 |
117
+ |------|------|
118
+ | [mysql-exporter.md](mysql-exporter.md) | MySQL 导出器完整指南 |
119
+
120
+ **主要功能**:
121
+ - `export()` - 导出 CREATE TABLE DDL
122
+ - `generateIndex()` - 生成 CREATE INDEX DDL
123
+ - 支持 ENGINE、CHARSET、COLLATE 配置
124
+
125
+ ### PostgreSQL 导出器
126
+
127
+ | 文档 | 说明 |
128
+ |------|------|
129
+ | [postgresql-exporter.md](postgresql-exporter.md) | PostgreSQL 导出器完整指南 |
130
+
131
+ **主要功能**:
132
+ - `export()` - 导出 CREATE TABLE DDL(含 CHECK 约束)
133
+ - `generateIndex()` - 生成索引 DDL(支持 btree/gin/gist/hash)
134
+ - 支持 Schema 命名空间和 COMMENT
135
+
136
+ ---
137
+
138
+ <a id="doc-index-utilities"></a>
139
+
140
+ ## 🛠️ 工具类(Utilities)
141
+
142
+ | 文档 | 说明 |
143
+ |------|------|
144
+ | [type-converter.md](type-converter.md) | TypeConverter - 类型转换工具 |
145
+ | [schema-helper.md](schema-helper.md) | SchemaHelper - Schema 辅助工具 |
146
+ | [cache-manager.md](cache-manager.md) | CacheManager - LRU缓存管理 |
147
+
148
+ ### TypeConverter 主要功能
149
+ - `toMongoDBType()` - 转换为 MongoDB 类型
150
+ - `toMySQLType()` - 转换为 MySQL 类型
151
+ - `toPostgreSQLType()` - 转换为 PostgreSQL 类型
152
+ - `extractConstraints()` - 提取约束信息
153
+ - `mergeSchemas()` - 合并多个 Schema
154
+
155
+ ### SchemaHelper 主要功能
156
+ - `isValidSchema()` - 验证 Schema 合法性
157
+ - `cloneSchema()` - 深度克隆 Schema
158
+ - `flattenSchema()` - 扁平化嵌套 Schema
159
+ - `getFieldPaths()` - 获取所有字段路径
160
+ - `summarizeSchema()` - 生成 Schema 摘要
161
+
162
+ ### CacheManager 主要功能
163
+ - LRU 缓存策略(最近最少使用淘汰)
164
+ - TTL 过期支持
165
+ - 缓存统计(命中率、大小等)
166
+ - 线程安全设计
167
+
168
+ ---
169
+
170
+ <a id="doc-index-guides"></a>
171
+
172
+ ## 📖 使用指南(Guides)
173
+
174
+ | 文档 | 说明 |
175
+ |------|------|
176
+ | [validation-guide.md](validation-guide.md) | 数据验证完整指南 |
177
+ | [export-guide.md](export-guide.md) | 数据库导出完整指南 |
178
+ | [error-handling.md](error-handling.md) | 错误处理最佳实践 |
179
+
180
+ ### 验证指南内容
181
+ - 基础验证流程
182
+ - 字段类型验证(字符串/数字/布尔/数组/对象)
183
+ - 常用业务验证模式
184
+ - 批量验证与性能优化
185
+ - 错误处理最佳实践
186
+
187
+ ### 导出指南内容
188
+ - MongoDB/MySQL/PostgreSQL 导出对比
189
+ - 配置与自定义选项
190
+ - 自动化迁移脚本
191
+ - 版本管理与最佳实践
192
+ - **⚠️ [导出限制说明](export-limitations.md) - 哪些特性无法导出** ⭐⭐⭐
193
+
194
+
195
+ - 数据库导出概述
196
+ - MongoDB/MySQL/PostgreSQL 导出教程
197
+ - 多数据库同步方案
198
+ - 类型映射参考表
199
+ - 最佳实践与常见问题
200
+
201
+ ---
202
+
203
+ <a id="doc-index-supplemental"></a>
204
+
205
+ ## 🧩 补充文档
206
+
207
+ > 上方专题区主要按学习路径和主题组织;以下补充索引列出当前尚未在专题区单独展开的其余文档,确保导航覆盖 `docs/*.md` 全量文档。
208
+
209
+ | 文档 | 标题 / 说明 |
210
+ |------|-------------|
211
+ | [add-custom-locale.md](add-custom-locale.md) | 添加自定义语言包指南 |
212
+ | [add-keyword.md](add-keyword.md) | addKeyword 方法 |
213
+ | [api.md](api.md) | API 参考入口 |
214
+ | [best-practices-project-structure.md](best-practices-project-structure.md) | Schema-DSL 项目最佳实践示例 |
215
+ | [compile.md](compile.md) | compile 方法 |
216
+ | [conditional-api.md](conditional-api.md) | 链式条件 API - ConditionalBuilder |
217
+ | [custom-extensions-guide.md](custom-extensions-guide.md) | 自定义扩展指南 |
218
+ | [dynamic-locale.md](dynamic-locale.md) | 动态多语言配置指南 |
219
+ | [enum.md](enum.md) | 枚举功能文档 |
220
+ | [frontend-i18n-guide.md](frontend-i18n-guide.md) | 前端动态切换语言 - 最佳实践指南 |
221
+ | [i18n-user-guide.md](i18n-user-guide.md) | 多语言支持用户指南 |
222
+ | [i18n.md](i18n.md) | 多语言配置指南 |
223
+ | [index.md](index.md) | 站点首页文案(文件内未单独声明 H1) |
224
+ | [json-schema-basics.md](json-schema-basics.md) | JSON Schema 基础 |
225
+ | [label-vs-description.md](label-vs-description.md) | label vs description 使用指南 |
226
+ | [markdown-exporter.md](markdown-exporter.md) | Markdown 导出器 |
227
+ | [multi-language.md](multi-language.md) | 多语言支持 |
228
+ | [multi-type-support.md](multi-type-support.md) | 多类型支持设计说明 |
229
+ | [number-operators.md](number-operators.md) | 数字比较运算符 (v1.1.2+) |
230
+ | [optional-marker-guide.md](optional-marker-guide.md) | schema-dsl 可选标记 ? 支持 |
231
+ | [performance-guide.md](performance-guide.md) | 性能优化指南 |
232
+ | [plugin-type-registration.md](plugin-type-registration.md) | 自定义类型注册 |
233
+ | [runtime-locale-support.md](runtime-locale-support.md) | 运行时多语言支持 - schema-dsl |
234
+ | [schema-utils.md](schema-utils.md) | Schema 工具函数文档 |
235
+ | [security-checklist.md](security-checklist.md) | 安全检查清单 |
236
+ | [troubleshooting.md](troubleshooting.md) | 常见问题排查指南 |
237
+ | [type-reference.md](type-reference.md) | schema-dsl 类型参考 |
238
+ | [typescript-guide.md](typescript-guide.md) | TypeScript 使用指南 |
239
+ | [union-type-guide.md](union-type-guide.md) | 一个字段支持多种类型 |
240
+ | [union-types.md](union-types.md) | 跨类型联合验证 - types: 语法 |
241
+ | [validate-batch.md](validate-batch.md) | validateBatch 方法 |
242
+ | [validate-dsl-object-support.md](validate-dsl-object-support.md) | validate() 函数支持 DSL 对象说明 |
243
+ | [validator.md](validator.md) | Validator 类概述 |
244
+
245
+ ---
246
+
247
+ <a id="doc-index-examples"></a>
248
+
249
+ ## 📝 示例代码(Examples)
250
+
251
+ | 文件 | 说明 |
252
+ |------|------|
253
+ | [quick-start.ts](https://github.com/vextjs/schema-dsl/blob/main/examples/docs/quick-start.ts) | 快速开始示例 |
254
+ | [dsl-syntax.ts](https://github.com/vextjs/schema-dsl/blob/main/examples/docs/dsl-syntax.ts) | DSL 风格完整示例 |
255
+ | [string-extensions.ts](https://github.com/vextjs/schema-dsl/blob/main/examples/docs/string-extensions.ts) | String 扩展示例 |
256
+ | [troubleshooting.ts](https://github.com/vextjs/schema-dsl/blob/main/examples/docs/troubleshooting.ts) | 排障与错误定位示例 |
257
+
258
+ ---
259
+
260
+ <a id="doc-index-faq"></a>
261
+
262
+ ## ❓ 常见问题(FAQ)
263
+
264
+ | 文档 | 说明 |
265
+ |------|------|
266
+ | [faq.md](faq.md) | 常见问题与解答 |
267
+
268
+ **热门问题**:
269
+ - DSL 语法与 Joi 语法的区别?
270
+ - 如何自定义验证规则?
271
+ - 如何优化验证性能?
272
+ - 不同数据库的类型映射?
273
+ - 如何处理验证错误?
274
+
275
+ ---
276
+
277
+ <a id="doc-index-troubleshooting"></a>
278
+
279
+ ## 🔧 开发指南
280
+
281
+ | 文档 | 说明 |
282
+ |------|------|
283
+ | [CONTRIBUTING.md](https://github.com/vextjs/schema-dsl/blob/main/CONTRIBUTING.md) | 贡献指南 |
284
+
285
+ ---
286
+
287
+ ## 📊 版本信息
288
+
289
+ | 文档 | 说明 |
290
+ |------|------|
291
+ | [STATUS.md](https://github.com/vextjs/schema-dsl/blob/main/STATUS.md) | 项目状态(当前测试与发布状态)|
292
+ | [CHANGELOG.md](https://github.com/vextjs/schema-dsl/blob/main/CHANGELOG.md) | 更新日志 |
293
+
294
+ ---
295
+
296
+ ## 📁 文档统计
297
+
298
+ | 指标 | 当前值 |
299
+ |------|--------|
300
+ | `docs/*.md` 文档数 | **58** |
301
+ | `README.md + docs/*.md` 文档数 | **59** |
302
+ | 文档总行数 | **持续演进(以仓库实时内容为准)** |
303
+ | 测试文件数 | **67** |
304
+ | 最近一次全量验证 | **67 files / 1052 tests passed** |
305
+
306
+ ---
307
+
308
+ **图例说明**:
309
+ - ⭐ 重点推荐文档
310
+ - ⭐⭐ 核心文档
311
+ - ⭐⭐⭐ 必读文档
312
+
313
+ ---
314
+
315
+ ## 对应示例文件
316
+
317
+ **示例入口**: [doc-index.ts](https://github.com/vextjs/schema-dsl/blob/main/examples/docs/doc-index.ts)
318
+ **说明**: 用一个最小入口脚本串起快速开始、编译校验和文档导出,帮助读者从索引页直接落到可运行示例。
319
+
320
+ ---
321
+
322
+ **最后更新**: 2026-05-08
323
+
324
+