Skip to content

Nested Type

一些类型 (例如 ObjectArray) 允许将其他类型作为参数传入,形成新的组合类型。你可以任意嵌套这些类型,以满足更复杂的需求。

例子里的 StringSchema.string().required() 的简写形式。类似的写法对于 NumberBoolean 也是成立的。

ts
Schema.object({
  foo: Schema.object({
    bar: Schema
      .array(Schema.object({
        baz: Schema.number().required(),
      }))
      .default([{ baz: 114514 }]),
    qux: Schema
      .dict(String)
      .default({ welcome: 'Hello World' }),
  }),
})
Input
null
Output
{ "foo": { "bar": [ { "baz": 114514 } ], "qux": { "welcome": "Hello World" } } }