@microsoft.azure/autorest.incubator
Version:
AutoRest incubator project
123 lines • 3.9 kB
TypeScript
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