Other core types
boolean
Section titled “boolean”A value that is either true
or false
, equivalent to boolean
in JSON Schema.
true
false
$schema: https://json-schema.org/draft/2020-12/schema$id: boolean.yamltype: boolean
An ordered list of values, equivalent to array
in JSON Schema.
Formats
Section titled “Formats”[1, 2, 3]
$schema: https://json-schema.org/draft/2020-12/schema$id: array.yamltype: array
In TypeSpec, you can specify the type of the values in the array with templating:
/** An array of integers */alias IntegerArray = Array<integer>
This is equivalent to the following JSON Schema:
$id: IntegerArray.yamltype: arrayitems: type: integer
Record
Section titled “Record”A collection of key-value pairs, equivalent to object
in JSON Schema.
Formats
Section titled “Formats”{ "foo": 1, "bar": 2}
$schema: https://json-schema.org/draft/2020-12/schema$id: record.yamltype: object
In TypeSpec, you can specify the type of the values in the record with templating:
/** A record with a string key and an integer value */alias StringIntRecord = Record<integer>
This is equivalent to the following JSON Schema:
$id: StringIntRecord.yamltype: objectadditionalProperties: type: integer
If you want to define specific keys in a record, you can do so with a model
.
The null
type, equivalent to null
in JSON Schema.
null
$schema: https://json-schema.org/draft/2020-12/schema$id: null.yamltype: null
unknown
Section titled “unknown”The unknown
type accepts any value. It is equivalent to an empty JSON Schema.
All of the following are valid values for the unknown
type:
// String"foo"
// Integer123
// Booleantrue
$schema: https://json-schema.org/draft/2020-12/schema$id: unknown.yaml