@autorest/modelerfour
Version:
AutoRest Modeler Version Four (component)
125 lines • 7.96 kB
TypeScript
import { CodeModel, Operation, BooleanSchema, Schema, NumberSchema, ArraySchema, Parameter, ChoiceSchema, StringSchema, ObjectSchema, ByteArraySchema, CharSchema, DateSchema, DateTimeSchema, DurationSchema, UuidSchema, UriSchema, CredentialSchema, ODataQuerySchema, UnixTimeSchema, OrSchema, XorSchema, DictionarySchema, HttpWithBodyRequest, SealedChoiceSchema, BinarySchema, AnySchema, ConstantSchema, Request, OperationGroup, TimeSchema, ArmIdSchema } from "@autorest/codemodel";
import { Session } from "@autorest/extension-base";
import { KnownMediaType } from "@azure-tools/codegen";
import { Dereferenced, Refable, MediaType, OpenAPI3Document } from "@azure-tools/openapi";
import * as OpenAPI from "@azure-tools/openapi";
import { KnownMediaTypeGroupItem, RequestBodyGroup } from "./body-processor";
import { Interpretations } from "./interpretations";
export declare class ModelerFour {
protected session: Session<OpenAPI3Document>;
codeModel: CodeModel;
private input;
private inputOperations;
protected interpret: Interpretations;
private apiVersionMode;
private apiVersionParameter;
private useModelNamespace;
private profileFilter;
private schemaCache;
private options;
private uniqueNames;
private bodyProcessor;
private securityProcessor;
private ignoreHeaders;
private specialHeaders;
constructor(session: Session<OpenAPI3Document>);
preprocessOperations(): void;
initApiVersionMode(apiVersionParameter: "choice" | "constant" | undefined, useModelNamespace: boolean | undefined): "client" | "method" | "profile" | "none";
init(): Promise<this>;
private resolve;
private use;
resolveArray<T extends {}>(source: Array<Refable<T>> | undefined): T[];
resolveDictionary<T extends {}>(source?: Record<string, Refable<T>>): {
key: string;
value: T;
}[];
location(obj: any): string;
processBooleanSchema(name: string, schema: OpenAPI.Schema): BooleanSchema;
processIntegerSchema(name: string, schema: OpenAPI.Schema): NumberSchema;
processNumberSchema(name: string, schema: OpenAPI.Schema): NumberSchema;
processStringSchema(name: string, schema: OpenAPI.Schema): StringSchema;
processCredentialSchema(name: string, schema: OpenAPI.Schema): CredentialSchema;
processUriSchema(name: string, schema: OpenAPI.Schema): UriSchema;
processArmId(name: string, schema: OpenAPI.Schema): ArmIdSchema;
processUuidSchema(name: string, schema: OpenAPI.Schema): UuidSchema;
processDurationSchema(name: string, schema: OpenAPI.Schema): DurationSchema;
processDateTimeSchema(name: string, schema: OpenAPI.Schema): DateTimeSchema;
processTimeSchema(name: string, schema: OpenAPI.Schema): TimeSchema;
processDateSchema(name: string, schema: OpenAPI.Schema): DateSchema;
processCharacterSchema(name: string, schema: OpenAPI.Schema): CharSchema;
processByteArraySchema(name: string, schema: OpenAPI.Schema): ByteArraySchema;
processArraySchema(name: string, schema: OpenAPI.Schema): ArraySchema;
_stringSchema?: StringSchema;
get stringSchema(): StringSchema;
_charSchema?: CharSchema;
get charSchema(): CharSchema;
_booleanSchema?: BooleanSchema;
get booleanSchema(): BooleanSchema;
private _anySchema?;
get anySchema(): AnySchema;
private _anyObjectSchema?;
get anyObjectSchema(): AnySchema;
getSchemaForString(schema: OpenAPI.Schema): Schema;
getPrimitiveSchemaForEnum(schema: OpenAPI.Schema): Schema;
/**
*
* @param name Name of the schema
* @param schema OpenApi3 schema.
* @returns List of choicevalue from parents enum(refed using allOf) if any.
*/
private getChoiceSchemaParentValues;
processChoiceSchema(name: string, schema: OpenAPI.Schema): ChoiceSchema | SealedChoiceSchema | ConstantSchema;
processOrSchema(name: string, schema: OpenAPI.Schema): OrSchema;
processXorSchema(name: string, schema: OpenAPI.Schema): XorSchema;
processDictionarySchema(name: string, schema: OpenAPI.Schema): DictionarySchema;
findPolymorphicDiscriminator(schema: OpenAPI.Schema | undefined, skipFirst?: boolean): OpenAPI.Discriminator | undefined;
createObjectSchema(name: string, schema: OpenAPI.Schema): ObjectSchema;
processObjectSchema(name: string, schema: OpenAPI.Schema): ObjectSchema | DictionarySchema | OrSchema | XorSchema | AnySchema;
private findDiscriminatorValue;
private findDiscriminatorValueFromMapping;
processOdataSchema(name: string, schema: OpenAPI.Schema): ODataQuerySchema;
processUnixTimeSchema(name: string, schema: OpenAPI.Schema): UnixTimeSchema;
processBinarySchema(name: string, schema: OpenAPI.Schema): BinarySchema;
processSchema(name: string, schema: OpenAPI.Schema): Schema;
private trap;
private processSchemaImpl;
filterMediaTypes(oai3Content: Record<string, MediaType> | undefined): Map<KnownMediaType, KnownMediaTypeGroupItem[]>;
getUniqueName(baseName: string): string;
getContentTypeParameterSchema(http: HttpWithBodyRequest, alwaysConstant?: boolean): ChoiceSchema<StringSchema> | SealedChoiceSchema<StringSchema> | ConstantSchema<StringSchema>;
getAcceptParameterSchema(mediaTypes: Array<string>): ConstantSchema<Schema>;
processBinary(requestBodyGroup: RequestBodyGroup, operation: Operation, body: Dereferenced<OpenAPI.RequestBody | undefined>): Request;
processSerializedObject(requestBodyGroup: RequestBodyGroup, operation: Operation, body: Dereferenced<OpenAPI.RequestBody | undefined>): Request;
processOperation(httpOperation: OpenAPI.HttpOperation, method: OpenAPI.HttpMethod, path: string, pathItem: OpenAPI.PathItem): void;
processHostParameters(httpOperation: OpenAPI.HttpOperation, operation: Operation, path: string, pathItem: OpenAPI.PathItem): string;
private getParameterLocation;
private getServerVariableSchema;
processApiVersionParameterForProfile(): void;
addApiVersionParameter(parameter: OpenAPI.Parameter | OpenAPI.ServerVariable, operation: Operation, apiVersionParameterSchema: ChoiceSchema | ConstantSchema): Parameter;
processChoiceApiVersionParameter(parameter: OpenAPI.Parameter | OpenAPI.ServerVariable, operation: Operation, pathItem: OpenAPI.PathItem | undefined, apiversions: Array<string>): Parameter;
processConstantApiVersionParameter(parameter: OpenAPI.Parameter | OpenAPI.ServerVariable, operation: Operation, pathItem: OpenAPI.PathItem | undefined, apiversions: string[]): Parameter;
processApiVersionParameter(parameter: OpenAPI.Parameter | OpenAPI.ServerVariable, operation: Operation, pathItem?: OpenAPI.PathItem): void | Parameter;
processParameters(httpOperation: OpenAPI.HttpOperation, operation: Operation, pathItem: OpenAPI.PathItem): void;
/**
* Resolve if the parameter is a header that should be ignored.
* @param parmeter Operation parameter.
* @returns boolean if parameter should be ignored.
*/
private isParameterSpecialHeader;
/**
* Resolve if the parameter is a header that should be ignored.
* @param parmeter Operation parameter.
* @returns boolean if parameter should be ignored.
*/
private isParameterIgnoredHeader;
processResponses(httpOperation: OpenAPI.HttpOperation, operation: Operation): void;
private processResponseHeaders;
processRequestBody(httpOperation: OpenAPI.HttpOperation, httpMethod: OpenAPI.HttpMethod, operationGroup: OperationGroup, operation: Operation, path: string, baseUri: string): void;
/**
* LEGACY Body processing as changed in https://github.com/Azure/autorest/pull/4405
*/
processRequestBodyLegacy(httpOperation: OpenAPI.HttpOperation, httpMethod: string, operationGroup: OperationGroup, operation: Operation, path: string, baseUri: string): void;
process(): CodeModel;
private propagateSchemaUsage;
private trackSchemaUsage;
}
//# sourceMappingURL=modelerfour.d.ts.map