@azure-tools/typespec-powershell
Version:
An experimental TypeSpec emitter for PowerShell codegen
64 lines (63 loc) • 3.29 kB
TypeScript
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;