@autorest/codemodel
Version:
AutoRest code model library
41 lines • 2.08 kB
TypeScript
import { DeepPartial } from "@azure-tools/codegen";
import { Property } from "./property";
import { Schema } from "./schema";
import { Value } from "./value";
export declare enum ImplementationLocation {
/** should be exposed as a method parameter in the operation */
Method = "Method",
/** should be exposed as a client parameter (not exposed in the operation directly) */
Client = "Client",
/** should be used as input to constructing the context of the client (ie, 'profile') */
Context = "Context"
}
/** a definition of an discrete input for an operation */
export interface Parameter extends Value {
/** suggested implementation location for this parameter */
implementation?: ImplementationLocation;
/** When a parameter is flattened, it will be left in the list, but marked hidden (so, don't generate those!) */
flattened?: boolean;
/** When a parameter is grouped into another, this will tell where the parameter got grouped into. */
groupedBy?: Parameter;
/**
* If this parameter is only part of the body request(for multipart and form bodies.)
*/
isPartialBody?: boolean;
}
export declare class Parameter extends Value implements Parameter {
constructor(name: string, description: string, schema: Schema, initializer?: DeepPartial<Parameter>);
}
export interface VirtualParameter extends Parameter {
/** the original body parameter that this parameter is in effect replacing */
originalParameter: Parameter;
/** if this parameter is for a nested property, this is the path of properties it takes to get there */
pathToProperty: Array<Property>;
/** the target property this virtual parameter represents */
targetProperty: Property;
}
export declare class VirtualParameter extends Parameter implements VirtualParameter {
constructor(name: string, description: string, schema: Schema, initializer?: DeepPartial<VirtualParameter>);
}
export declare function isVirtualParameter(parameter: Parameter): parameter is VirtualParameter;
//# sourceMappingURL=parameter.d.ts.map