id | title |
---|---|
built-in-types |
Built-in types |
TypeSpec Standard Library provide some built-in types that can be used to build more complex types.
Built in types are related to each other according to the rules described in type relations.
Type | Range | Description |
---|---|---|
numeric |
Parent type for all numeric types | |
integer |
A whole-number | |
float |
A binary number | |
int64 |
-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 |
A 64-bit integer |
int32 |
-2,147,483,648 to 2,147,483,647 |
A 32-bit integer |
int16 |
-32,768 to 32,767 |
A 16-bit integer |
int8 |
-128 to 127 |
A 8-bit integer |
safeint |
−9007199254740991 (−(253 − 1)) to 9007199254740991 (253 − 1) |
An integer that can be serialized to JSON |
uint64 |
0 to 18,446,744,073,709,551,615 |
Unsigned 64-bit integer |
uint32 |
0 to 4,294,967,295 |
Unsigned 32-bit integer |
uint16 |
0 to 65,535 |
Unsigned 16-bit integer |
uint8 |
0 to 255 |
Unsigned 8-bit integer |
float32 |
±1.5 x 1045 to ±3.4 x 1038 |
A 32 bit floating point number |
float64 |
±5.0 × 10−324 to ±1.7 × 10308 |
A 64 bit floating point number |
decimal |
A decimal number | |
decimal128 |
34 decimal digits with an exponent range from -6143 to 6144 |
A 128 bit decimal number |
Type | Description |
---|---|
plainDate |
A date on a calendar without a time zone, e.g. "April 10th" |
plainTime |
A time on a clock without a time zone, e.g. "3:00 am" |
utcDateTime |
A date and time in coordinated universal time (UTC), e.g. "1985-04-12T23:20:50.52Z" |
offsetDateTime |
A date and time in a particular time zone, e.g. "April 10th at 3:00am in PST" |
duration |
A duration/time period. e.g 5s, 10h |
Type | Description |
---|---|
bytes |
A sequence of bytes |
string |
A sequence of textual characters |
boolean |
Boolean with true and false values |
null |
Null value |
Array<Element> |
Array model type, equivalent to Element[] |
Record<Element> |
Model with string keys where all the values have type Element (similar to Map<string, Element> in TypeScript or Dictionary<string, Element> in .Net) |
unknown |
A top type in TypeSpec that all types can be assigned to. Values that can have any type should be assigned this value (similar to any in JavaScript) |
void |
A function/operation return type indicating the function/operation doesn't return a value. |
never |
The never type indicates the values that will never occur. |
Built-in types that are known string formats
Type | Description |
---|---|
url |
A url String |