UNPKG

@microsoft.azure/autorest.incubator

Version:
123 lines 3.9 kB
import { ImplementationDetails, ExternalDocumentation, LanguageDetails } from '#common/code-model/components'; import { Extensions } from '#common/code-model/extensions'; import { Dictionary } from '#common/dictionary'; import { DeepPartial } from '#common/initializer'; export interface PropertyDetails extends ImplementationDetails { required: boolean; } export interface EnumValue { value: any; description: string; name: string; } export interface EnumDetails { modelAsString: boolean; values: Array<EnumValue>; name: string; } export declare enum Purpose { Header = "Header" } export interface SchemaDetails extends ImplementationDetails { /** namespace of the implementation of this item */ namespace?: string; enum?: EnumDetails; purpose?: Purpose; } export declare class Schema extends Extensions implements Schema { details: LanguageDetails<SchemaDetails>; required: string[]; enum: any[]; allOf: Schema[]; oneOf: Schema[]; anyOf: Schema[]; properties: Dictionary<Property>; extensions: Dictionary<any>; constructor(name: string, initializer?: DeepPartial<Schema>); } export declare function getPolymorphicBases(schema: Schema): Array<Schema>; export declare function getAllProperties(schema: Schema): Array<Property>; export interface Property extends Extensions { details: LanguageDetails<PropertyDetails>; /** description can be on the property reference, so that properties can have a description different from the type description. */ description?: string; schema: Schema; } export declare class Property extends Extensions implements Property { serializedName: string; details: LanguageDetails<PropertyDetails>; extensions: Dictionary<any>; constructor(name: string, initializer?: Partial<Property>); } export declare class Discriminator extends Extensions implements Discriminator { propertyName: string; extensions: Dictionary<any>; mapping: Dictionary<string>; constructor(propertyName: string, initializer?: Partial<Discriminator>); } export interface Discriminator extends Extensions { propertyName: string; mapping: Dictionary<string>; } export declare enum JsonType { Array = "array", Boolean = "boolean", Integer = "integer", Number = "number", Object = "object", String = "string" } export declare function isJsonType(type: JsonType, schema?: Schema): schema is Schema; export declare function isSchemaObject(schema?: Schema): schema is Schema; export declare class XML extends Extensions implements XML { extensions: Dictionary<any>; attribute: boolean; wrapped: boolean; constructor(initializer?: Partial<XML>); } export interface XML extends Extensions { name?: string; namespace?: string; prefix?: string; attribute: boolean; wrapped: boolean; } export interface Schema extends Extensions { details: LanguageDetails<SchemaDetails>; type?: JsonType; title?: string; description?: string; format?: string; nullable: boolean; readOnly: boolean; writeOnly: boolean; deprecated: boolean; required: Array<string>; multipleOf?: number; maximum?: number; exclusiveMaximum?: boolean; minimum?: number; exclusiveMinimum?: boolean; maxLength?: number; minLength?: number; pattern?: string; maxItems?: number; minItems?: number; uniqueItems?: boolean; maxProperties?: number; minProperties?: number; example?: any; default?: any; discriminator?: Discriminator; externalDocs?: ExternalDocumentation; xml?: XML; enum: Array<any>; not?: Schema; allOf: Array<Schema>; oneOf: Array<Schema>; anyOf: Array<Schema>; items?: Schema; properties: Dictionary<Property>; additionalProperties?: boolean | Schema; } //# sourceMappingURL=schema.d.ts.map