Skip to content

Other core types

A value that is either true or false, equivalent to boolean in JSON Schema.

true
false

An ordered list of values, equivalent to array in JSON Schema.

[1, 2, 3]

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.yaml
type: array
items:
type: integer

A collection of key-value pairs, equivalent to object in JSON Schema.

{
"foo": 1,
"bar": 2
}

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.yaml
type: object
additionalProperties:
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

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"
// Integer
123
// Boolean
true