schema-dsl 完整类型列表
本页列出内置 DSL 类型,并说明同一种类型在推荐写法中的三种调用方式:纯 DSL 字符串、s('...') builder seed、s.xxx() factory。
📊 支持的类型
基本类型
格式类型(基于 string)
特殊类型
📝 类型使用示例
基本类型
参数化 DSL 类型
格式类型
特殊类型
调用方式矩阵
Factory 示例:
Factory 支持边界
不是每个 DSL 类型都有同名 s.xxx() factory。内置 factory 覆盖最常用的类型和入口:
s.array(item) 和 .items(item) 的 item 可以是 DSL 字符串、builder、DSL 对象或标准 JSON Schema:
如果对象数组的子字段名刚好叫 enum、pattern、minimum 这类 JSON Schema keyword,请用 s({ ... }) 明确告诉 schema-dsl 这是 DSL 对象:
📚 相关文档
❓ 常见问题
Q1: 如何表达字段可选类型?
A: schema-dsl 把这类需求拆成两类:
- 单字段跨类型联合: 使用
types:语法 - 根据其他字段做条件分支: 使用
s.match()
Q2: 为什么 integer 不是 number().integer()?
A: schema-dsl 使用 JSON Schema 标准,integer 是独立类型。
Q3: 不支持简写吗?
A: 不支持 s/n/i/b 等简写,统一使用完整类型名(string/number/integer/boolean),降低学习成本。
对应示例文件
示例入口: type-reference.ts 说明: 用一份 schema 串起常用内置类型、参数化 DSL 类型和运行时错误路径,方便快速核对实际支持范围。