UNPKG

@autorest/go

Version:
163 lines 8.55 kB
import * as type from './type.js'; export type ParameterKind = 'required' | 'optional' | 'literal' | 'flag' | ClientSideDefault; export interface ClientSideDefault { defaultValue: type.LiteralValue; } export interface Parameter { name: string; docs: type.Docs; type: type.PossibleType; kind: ParameterKind; byValue: boolean; group?: ParameterGroup; location: ParameterLocation; } export declare function isClientSideDefault(kind: ParameterKind): kind is ClientSideDefault; export type ParameterLocation = 'client' | 'method'; export interface ParameterGroup { name: string; docs: type.Docs; groupName: string; required: boolean; location: ParameterLocation; params: Array<Parameter>; } export type HeaderType = type.BytesType | type.ConstantType | type.PrimitiveType | type.TimeType | type.LiteralValue; export interface HeaderParameter extends Parameter { headerName: string; type: HeaderType; } export type CollectionFormat = 'csv' | 'ssv' | 'tsv' | 'pipes'; export interface HeaderCollectionParameter extends Parameter { headerName: string; type: type.SliceType; collectionFormat: CollectionFormat; } export interface HeaderMapParameter extends Parameter { headerName: string; type: type.MapType; collectionPrefix: string; } export type PathParameterType = type.BytesType | type.ConstantType | type.PrimitiveType | type.TimeType | type.LiteralValue; export interface PathParameter extends Parameter { pathSegment: string; type: PathParameterType; isEncoded: boolean; } export interface PathCollectionParameter extends Parameter { pathSegment: string; type: type.SliceType; isEncoded: boolean; collectionFormat: CollectionFormat; } export type QueryParameterType = type.BytesType | type.ConstantType | type.PrimitiveType | type.TimeType | type.LiteralValue; export interface QueryParameter extends Parameter { queryParameter: string; type: QueryParameterType; isEncoded: boolean; } export type ExtendedCollectionFormat = CollectionFormat | 'multi'; export interface QueryCollectionParameter extends Parameter { queryParameter: string; type: type.SliceType; isEncoded: boolean; collectionFormat: ExtendedCollectionFormat; } export type URIParameterType = type.ConstantType | type.PrimitiveType; export interface URIParameter extends Parameter { uriPathSegment: string; type: URIParameterType; } export type BodyFormat = 'JSON' | 'XML' | 'Text' | 'binary'; export interface BodyParameter extends Parameter { bodyFormat: BodyFormat; contentType: string; xml?: type.XMLInfo; } export interface PartialBodyParameter extends Parameter { serializedName: string; format: 'JSON' | 'XML'; xml?: type.XMLInfo; } export interface FormBodyParameter extends Parameter { formDataName: string; } export interface FormBodyCollectionParameter extends Parameter { formDataName: string; type: type.SliceType; collectionFormat: ExtendedCollectionFormat; } export interface MultipartFormBodyParameter extends Parameter { multipartForm: true; } export interface ResumeTokenParameter extends Parameter { isResumeToken: true; } export declare function isBodyParameter(param: Parameter): param is BodyParameter; export declare function isPartialBodyParameter(param: Parameter): param is PartialBodyParameter; export declare function isFormBodyParameter(param: Parameter): param is FormBodyParameter; export declare function isFormBodyCollectionParameter(param: Parameter): param is FormBodyCollectionParameter; export declare function isMultipartFormBodyParameter(param: Parameter): param is MultipartFormBodyParameter; export declare function isHeaderParameter(param: Parameter): param is HeaderParameter; export declare function isHeaderCollectionParameter(param: Parameter): param is HeaderCollectionParameter; export declare function isHeaderMapParameter(param: Parameter): param is HeaderMapParameter; export declare function isPathParameter(param: Parameter): param is PathParameter; export declare function isPathCollectionParameter(param: Parameter): param is PathCollectionParameter; export declare function isQueryParameter(param: Parameter): param is QueryParameter; export declare function isQueryCollectionParameter(param: Parameter): param is QueryCollectionParameter; export declare function isURIParameter(param: Parameter): param is URIParameter; export declare function isResumeTokenParameter(param: Parameter): param is ResumeTokenParameter; export declare function isRequiredParameter(param: Parameter): boolean; export declare function isLiteralParameter(param: Parameter): boolean; export declare class Parameter implements Parameter { constructor(name: string, type: type.PossibleType, kind: ParameterKind, byValue: boolean, location: ParameterLocation); } export declare class BodyParameter extends Parameter implements BodyParameter { constructor(name: string, bodyFormat: BodyFormat, contentType: string, type: type.PossibleType, kind: ParameterKind, byValue: boolean); } export declare class PartialBodyParameter extends Parameter implements PartialBodyParameter { constructor(name: string, serializedName: string, format: 'JSON' | 'XML', type: type.PossibleType, kind: ParameterKind, byValue: boolean); } export declare class FormBodyParameter extends Parameter implements FormBodyParameter { constructor(name: string, formDataName: string, type: type.PossibleType, kind: ParameterKind, byValue: boolean); } export declare class FormBodyCollectionParameter extends Parameter implements FormBodyCollectionParameter { constructor(name: string, formDataName: string, type: type.SliceType, collectionFormat: ExtendedCollectionFormat, kind: ParameterKind, byValue: boolean); } export declare class MultipartFormBodyParameter extends Parameter implements MultipartFormBodyParameter { constructor(name: string, type: type.PossibleType, kind: ParameterKind, byValue: boolean); } export declare class HeaderParameter extends Parameter implements HeaderParameter { constructor(name: string, headerName: string, type: HeaderType, kind: ParameterKind, byValue: boolean, location: ParameterLocation); } export declare class HeaderCollectionParameter extends Parameter implements HeaderCollectionParameter { constructor(name: string, headerName: string, type: type.SliceType, collectionFormat: CollectionFormat, kind: ParameterKind, byValue: boolean, location: ParameterLocation); } export declare class HeaderMapParameter extends Parameter implements HeaderMapParameter { constructor(name: string, headerName: string, type: type.MapType, collectionPrefix: string, kind: ParameterKind, byValue: boolean, location: ParameterLocation); } export declare class PathParameter extends Parameter implements PathParameter { constructor(name: string, pathSegment: string, isEncoded: boolean, type: PathParameterType, kind: ParameterKind, byValue: boolean, location: ParameterLocation); } export declare class PathCollectionParameter extends Parameter implements PathCollectionParameter { constructor(name: string, pathSegment: string, isEncoded: boolean, type: type.SliceType, collectionFormat: CollectionFormat, kind: ParameterKind, byValue: boolean, location: ParameterLocation); } export declare class QueryParameter extends Parameter implements QueryParameter { constructor(name: string, queryParam: string, isEncoded: boolean, type: QueryParameterType, kind: ParameterKind, byValue: boolean, location: ParameterLocation); } export declare class QueryCollectionParameter extends Parameter implements QueryCollectionParameter { constructor(name: string, queryParam: string, isEncoded: boolean, type: type.SliceType, collectionFormat: ExtendedCollectionFormat, kind: ParameterKind, byValue: boolean, location: ParameterLocation); } export declare class URIParameter extends Parameter implements URIParameter { constructor(name: string, uriPathSegment: string, type: type.ConstantType | type.PrimitiveType, kind: ParameterKind, byValue: boolean, location: ParameterLocation); } export declare class ResumeTokenParameter extends Parameter implements ResumeTokenParameter { constructor(); } export declare class ClientSideDefault implements ClientSideDefault { constructor(defaultValue: type.LiteralValue); } export declare class ParameterGroup implements ParameterGroup { constructor(name: string, groupName: string, required: boolean, location: ParameterLocation); } //# sourceMappingURL=param.d.ts.map