@typespec/openapi3
Version:
TypeSpec library for emitting OpenAPI 3.0 and OpenAPI 3.1 from the TypeSpec REST protocol binding and converting OpenAPI3 to TypeSpec
32 lines • 1.48 kB
TypeScript
import { EmitContext, NewLine, Program } from "@typespec/compiler";
import { FileType, OpenAPI3EmitterOptions, OpenAPIVersion, OperationIdStrategy } from "./lib.js";
import { OpenAPI3ServiceRecord } from "./types.js";
export declare function $onEmit(context: EmitContext<OpenAPI3EmitterOptions>): Promise<void>;
type IrrelevantOpenAPI3EmitterOptionsForObject = "file-type" | "output-file" | "new-line";
/**
* Get the OpenAPI 3 document records from the given program. The documents are
* returned as a JS object.
*
* @param program The program to emit to OpenAPI 3
* @param options OpenAPI 3 emit options
* @returns An array of OpenAPI 3 document records.
*/
export declare function getOpenAPI3(program: Program, options?: Omit<OpenAPI3EmitterOptions, IrrelevantOpenAPI3EmitterOptionsForObject>): Promise<OpenAPI3ServiceRecord[]>;
export declare function resolveOptions(context: EmitContext<OpenAPI3EmitterOptions>): ResolvedOpenAPI3EmitterOptions;
export interface ResolvedOpenAPI3EmitterOptions {
fileType: FileType;
outputFile: string;
openapiVersions: OpenAPIVersion[];
newLine: NewLine;
omitUnreachableTypes: boolean;
includeXTypeSpecName: "inline-only" | "never";
safeintStrategy: "double-int" | "int64";
sealObjectSchemas: boolean;
parameterExamplesStrategy?: "data" | "serialized";
operationIdStrategy: {
kind: OperationIdStrategy;
separator: string;
};
}
export {};
//# sourceMappingURL=openapi.d.ts.map