@alexa/ask-expressions-spec
Version:
The JSON Schema specification for the Alexa Skills Kit Intermediate Representation (ASKIR).
169 lines (93 loc) • 6.33 kB
Markdown
# TypeDeclaration Schema
```txt
https://amazonalexa.com/ask/2020/12/TypeDeclaration
```
Represents a type declaration.
| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In |
| :------------------ | :--------- | :------------- | :----------- | :---------------- | :-------------------- | :------------------ | :-------------------------------------------------------------------------------- |
| Can be instantiated | No | Unknown status | No | Forbidden | Forbidden | none | [TypeDeclaration.json](../../schemas/TypeDeclaration.json "open original schema") |
## TypeDeclaration Type
`object` ([TypeDeclaration](typedeclaration.md))
# TypeDeclaration Properties
| Property | Type | Required | Nullable | Defined by |
| :------------------------------------ | :------------ | :------- | :------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [kind](#kind) | Not specified | Required | cannot be null | [TypeDeclaration](typedeclaration-properties-kind.md "https://amazonalexa.com/ask/2020/12/TypeDeclaration#/properties/kind") |
| [name](#name) | `string` | Required | cannot be null | [TypeDeclaration](actiondeclaration-properties-qualifiedname.md "https://amazonalexa.com/ask/2020/12/QualifiedName#/properties/name") |
| [extensions](#extensions) | `array` | Optional | cannot be null | [TypeDeclaration](typedeclaration-properties-extensions.md "https://amazonalexa.com/ask/2020/12/TypeDeclaration#/properties/extensions") |
| [genericArguments](#genericarguments) | `array` | Optional | cannot be null | [TypeDeclaration](actiondeclaration-properties-genericargumentsdeclaration.md "https://amazonalexa.com/ask/2020/12/GenericArgumentsDeclaration#/properties/genericArguments") |
| [properties](#properties) | `array` | Optional | cannot be null | [TypeDeclaration](typedeclaration-properties-properties.md "https://amazonalexa.com/ask/2020/12/TypeDeclaration#/properties/properties") |
| [annotations](#annotations) | `array` | Optional | cannot be null | [TypeDeclaration](typedeclaration-properties-annotations.md "https://amazonalexa.com/ask/2020/12/TypeDeclaration#/properties/annotations") |
## kind
The expression's identifier.
`kind`
* is required
* Type: unknown ([kind](typedeclaration-properties-kind.md))
* cannot be null
* defined in: [TypeDeclaration](typedeclaration-properties-kind.md "https://amazonalexa.com/ask/2020/12/TypeDeclaration#/properties/kind")
### kind Type
unknown ([kind](typedeclaration-properties-kind.md))
### kind Constraints
**constant**: the value of this property must be equal to:
```json
"TypeDeclaration"
```
## name
A qualified name
`name`
* is required
* Type: `string` ([QualifiedName](actiondeclaration-properties-qualifiedname.md))
* cannot be null
* defined in: [TypeDeclaration](actiondeclaration-properties-qualifiedname.md "https://amazonalexa.com/ask/2020/12/QualifiedName#/properties/name")
### name Type
`string` ([QualifiedName](actiondeclaration-properties-qualifiedname.md))
### name Constraints
**maximum length**: the maximum number of characters for this string is: `1024`
**pattern**: the string must match the following regular expression: 
```regexp
^[A-Za-z][A-Za-z0-9_]*(\.((_[A-Za-z0-9][A-Za-z0-9_]*)|([A-Za-z][A-Za-z0-9_]*)))*$
```
[try pattern](https://regexr.com/?expression=%5E%5BA-Za-z%5D%5BA-Za-z0-9_%5D*\(%5C.\(\(_%5BA-Za-z0-9%5D%5BA-Za-z0-9_%5D*\)%7C\(%5BA-Za-z%5D%5BA-Za-z0-9_%5D*\)\)\)*%24 "try regular expression with regexr.com")
### name Examples
```json
"com.amazon.alexa.schema.String"
```
```json
"foo"
```
## extensions
The set of types being extended.
`extensions`
* is optional
* Type: `object[]` ([TypeReference](actiondeclaration-properties-typereference.md))
* cannot be null
* defined in: [TypeDeclaration](typedeclaration-properties-extensions.md "https://amazonalexa.com/ask/2020/12/TypeDeclaration#/properties/extensions")
### extensions Type
`object[]` ([TypeReference](actiondeclaration-properties-typereference.md))
## genericArguments
A set of generic arguments for a declaration.
`genericArguments`
* is optional
* Type: `object[]` ([Details](genericargumentsdeclaration-items.md))
* cannot be null
* defined in: [TypeDeclaration](actiondeclaration-properties-genericargumentsdeclaration.md "https://amazonalexa.com/ask/2020/12/GenericArgumentsDeclaration#/properties/genericArguments")
### genericArguments Type
`object[]` ([Details](genericargumentsdeclaration-items.md))
### genericArguments Constraints
**unique items**: all items in this array must be unique. Duplicates are not allowed.
## properties
The type's properties. Each item represents a property with a name and a type.
`properties`
* is optional
* Type: `object[]` ([Details](typedeclaration-properties-properties-items.md))
* cannot be null
* defined in: [TypeDeclaration](typedeclaration-properties-properties.md "https://amazonalexa.com/ask/2020/12/TypeDeclaration#/properties/properties")
### properties Type
`object[]` ([Details](typedeclaration-properties-properties-items.md))
## annotations
`annotations`
* is optional
* Type: `object[]` ([Call](actiondeclaration-properties-annotations-call.md))
* cannot be null
* defined in: [TypeDeclaration](typedeclaration-properties-annotations.md "https://amazonalexa.com/ask/2020/12/TypeDeclaration#/properties/annotations")
### annotations Type
`object[]` ([Call](actiondeclaration-properties-annotations-call.md))