@autorest/codemodel
Version:
AutoRest code model library
92 lines • 3.46 kB
TypeScript
/** possible schema types that indicate the type of schema.
*
* @note - this is essentially a discriminator for Schema
*/
export declare enum SchemaType {
/** a collection of items */
Array = "array",
/** an associative array (ie, dictionary, hashtable, etc) */
Dictionary = "dictionary",
/** a true or false value */
Boolean = "boolean",
/** an integer value */
Integer = "integer",
/** a number value */
Number = "number",
/** an object of some type */
Object = "object",
/** a string of characters */
String = "string",
/** UnixTime */
UnixTime = "unixtime",
/** ByteArray -- an array of bytes */
ByteArray = "byte-array",
Binary = "binary",
/** a single character */
Char = "char",
/** a Date */
Date = "date",
/** a Date */
Time = "time",
/** a DateTime */
DateTime = "date-time",
/** a Duration */
Duration = "duration",
/** a universally unique identifier */
Uuid = "uuid",
/** an URI of some kind */
Uri = "uri",
/**
* Represent a Azure Resource Manager Resource ID.
*/
ArmId = "arm-id",
/** a password or credential */
Credential = "credential",
/** OData Query */
ODataQuery = "odata-query",
/** a type that can be anything */
Any = "any",
/**
* A type that can be any object. Like Any but cannot be a primitive type or array
*/
AnyObject = "any-object",
/** a choice between one of several values (ie, 'enum')
*
* @description - this is essentially can be thought of as an 'enum'
* that is a choice between one of several strings
*/
Choice = "choice",
SealedChoice = "sealed-choice",
Conditional = "conditional",
SealedConditional = "sealed-conditional",
Flag = "flag",
/** a constant value */
Constant = "constant",
Or = "or",
Xor = "xor",
Not = "not",
/** the type is not known.
*
* @description it's possible that we just may make this an error
* in representation.
*/
Unknown = "unknown",
Group = "group"
}
/** Compound schemas are used to construct complex objects or offer choices of a set of schemas.
*
* (ie, allOf, anyOf, oneOf )
*
* @note - historically 'allOf' was used to manage object hierarchy.
*
*/
export type CompoundSchemaTypes = SchemaType.Or | SchemaType.Xor;
/** Schema types that are primitive language values */
export type PrimitiveSchemaTypes = SchemaType.Char | SchemaType.Date | SchemaType.Time | SchemaType.DateTime | SchemaType.Duration | SchemaType.Credential | SchemaType.UnixTime | SchemaType.Uri | SchemaType.Uuid | SchemaType.ArmId | SchemaType.Boolean | SchemaType.Integer | SchemaType.Number | SchemaType.String;
/** schema types that are non-object or complex types */
export type ValueSchemaTypes = SchemaType.ByteArray | PrimitiveSchemaTypes | SchemaType.Array | SchemaType.Choice | SchemaType.SealedChoice | SchemaType.Flag | SchemaType.Conditional | SchemaType.SealedConditional;
/** schema types that can be objects */
export type ObjectSchemaTypes = SchemaType.Or | SchemaType.Dictionary | SchemaType.Object;
/** all schema types */
export type AllSchemaTypes = SchemaType.Any | SchemaType.AnyObject | ValueSchemaTypes | ObjectSchemaTypes | SchemaType.Constant | SchemaType.ODataQuery | SchemaType.Xor | SchemaType.Group | SchemaType.Not | SchemaType.Binary;
//# sourceMappingURL=schema-type.d.ts.map