UNPKG

@azure-tools/typespec-powershell

Version:

An experimental TypeSpec emitter for PowerShell codegen

64 lines (63 loc) 3.29 kB
import { Model, Program } from "@typespec/compiler"; import { HttpOperation, HttpOperationParameter, HttpOperationResponse, HttpStatusCodesEntry } from "@typespec/http"; import { PagedResultMetadata } from "@azure-tools/typespec-azure-core"; import { SdkClient, SdkContext } from "@azure-tools/typespec-client-generator-core"; export declare function sortedOperationResponses(responses: HttpOperationResponse[]): HttpOperationResponse[]; /** * This function computes all the response types error and success * an operation can end up returning. */ /** * Extracts all success or defined status codes for a give operation */ export declare function getOperationSuccessStatus(operation: HttpOperation): string[]; export declare function getOperationStatuscode(response: HttpOperationResponse): string; export declare function isDefaultStatusCode(statusCodes: HttpStatusCodesEntry): boolean; export declare function isDefinedStatusCode(statusCodes: HttpStatusCodesEntry): boolean; export declare function isLongRunningOperation(program: Program, operation: HttpOperation): boolean; /** * Return if we have a client-level LRO overloading * @param pathDictionary * @returns */ /** * Check if we have an operation-level overloading * @param program * @param operation The operation detail * @param existingResponseTypes auxilary param for current response types * @param existingResponses auxilary param for raw response data * @returns */ /** * Extract the operation LRO details * @param program * @param operation Operation detail * @param responsesTypes Calculated response types * @param operationGroupName Operation group name * @returns */ export declare function hasPollingOperations(program: Program, client: SdkClient, dpgContext: SdkContext): boolean; export declare function isPagingOperation(program: Program, operation: HttpOperation): boolean; export declare function hasPagingOperations(program: Program, client: SdkClient, dpgContext: SdkContext): boolean; export declare function extractPagedMetadataNested(program: Program, type: Model): PagedResultMetadata | undefined; export declare function getSpecialSerializeInfo(paramType: string, paramFormat: string): { hasMultiCollection: boolean; hasPipeCollection: boolean; hasSsvCollection: boolean; hasTsvCollection: boolean; hasCsvCollection: boolean; descriptions: string[]; collectionInfo: string[]; }; export declare function hasCollectionFormatInfo(paramType: string, paramFormat: string): boolean; export declare function getCollectionFormatHelper(paramType: string, paramFormat: string): string | undefined; export declare function getCustomRequestHeaderNameForOperation(route: HttpOperation): string | undefined; export declare function isCustomClientRequestIdParam(param: HttpOperationParameter): boolean; export declare function isIgnoredHeaderParam(param: HttpOperationParameter): boolean; export declare function parseNextLinkName(paged: PagedResultMetadata): string | undefined; export declare function parseItemName(paged: PagedResultMetadata): string | undefined; export interface PageDetails { nextLinkNames: string[]; itemNames: string[]; } export declare function extractPageDetails(program: Program, operation: HttpOperation): PageDetails | undefined;