ng-openapi-gen
Version:
An OpenAPI 3.0 and 3.1 codegen for Angular 16+
41 lines (40 loc) • 2.24 kB
TypeScript
/**
* Centralized OpenAPI type definitions and utilities for both OpenAPI 3.0 and 3.1 support
*/
import { OpenAPIV3, OpenAPIV3_1 } from 'openapi-types';
export type OpenAPIObject = OpenAPIV3.Document | OpenAPIV3_1.Document;
export type OperationObject = OpenAPIV3.OperationObject | OpenAPIV3_1.OperationObject;
export type PathsObject = OpenAPIV3.PathsObject | OpenAPIV3_1.PathsObject;
export type PathItemObject = OpenAPIV3.PathItemObject | OpenAPIV3_1.PathItemObject;
export type ReferenceObject = OpenAPIV3.ReferenceObject | OpenAPIV3_1.ReferenceObject;
export type SchemaObject = OpenAPIV3.SchemaObject | OpenAPIV3_1.SchemaObject;
export type ParameterObject = OpenAPIV3.ParameterObject | OpenAPIV3_1.ParameterObject;
export type RequestBodyObject = OpenAPIV3.RequestBodyObject | OpenAPIV3_1.RequestBodyObject;
export type ResponseObject = OpenAPIV3.ResponseObject | OpenAPIV3_1.ResponseObject;
export type MediaTypeObject = OpenAPIV3.MediaTypeObject | OpenAPIV3_1.MediaTypeObject;
export type SecuritySchemeObject = OpenAPIV3.SecuritySchemeObject | OpenAPIV3_1.SecuritySchemeObject;
export type SecurityRequirementObject = OpenAPIV3.SecurityRequirementObject | OpenAPIV3_1.SecurityRequirementObject;
export type TagObject = OpenAPIV3.TagObject | OpenAPIV3_1.TagObject;
export type ContentObject = {
[media: string]: MediaTypeObject;
};
export type ArraySchemaObject = OpenAPIV3.ArraySchemaObject | OpenAPIV3_1.ArraySchemaObject;
export type ApiKeySecurityScheme = OpenAPIV3.ApiKeySecurityScheme | OpenAPIV3_1.ApiKeySecurityScheme;
/**
* Type guard to check if an object is a ReferenceObject
*/
export declare function isReferenceObject(obj: any): obj is ReferenceObject;
/**
* Type guard to check if a schema is an ArraySchemaObject
*/
export declare function isArraySchemaObject(obj: SchemaObject): obj is ArraySchemaObject;
/**
* Checks if a schema is nullable (compatible with both OpenAPI 3.0 and 3.1)
* OpenAPI 3.0 uses 'nullable: true', OpenAPI 3.1 uses 'type: [T, "null"]'
*/
export declare function isNullable(schema: SchemaObject): boolean;
/**
* Safely extracts the type from a schema object
*/
export declare function getSchemaType(schema: SchemaObject): string | string[];
export { OpenAPIV3, OpenAPIV3_1 };