From afa0d49dc9ad7f4bee430712241396dc1be65fa4 Mon Sep 17 00:00:00 2001 From: Steven Serrata <9343811+sserrata@users.noreply.github.com> Date: Fri, 27 Jun 2025 13:01:29 -0500 Subject: [PATCH] refactor: replace Map type with Record --- .../src/openapi/types.ts | 107 +++++++++--------- 1 file changed, 52 insertions(+), 55 deletions(-) diff --git a/packages/docusaurus-plugin-openapi-docs/src/openapi/types.ts b/packages/docusaurus-plugin-openapi-docs/src/openapi/types.ts index b5db1a249..b623a6fb1 100644 --- a/packages/docusaurus-plugin-openapi-docs/src/openapi/types.ts +++ b/packages/docusaurus-plugin-openapi-docs/src/openapi/types.ts @@ -12,10 +12,6 @@ import type { JSONSchema7TypeName, } from "json-schema"; -interface Map { - [key: string]: T; -} - export interface OpenApiObject { openapi: string; info: InfoObject; @@ -74,7 +70,7 @@ export interface LicenseObject { export interface ServerObject { url: string; description?: string; - variables?: Map; + variables?: Record; } export interface ServerVariable { @@ -84,32 +80,32 @@ export interface ServerVariable { } export interface ComponentsObject { - schemas?: Map; - responses?: Map; - parameters?: Map; - examples?: Map; - requestBodies?: Map; - headers?: Map; - securitySchemes?: Map; - links?: Map; - callbacks?: Map; + schemas?: Record; + responses?: Record; + parameters?: Record; + examples?: Record; + requestBodies?: Record; + headers?: Record; + securitySchemes?: Record; + links?: Record; + callbacks?: Record; } export interface ComponentsObjectWithRef { - schemas?: Map; - responses?: Map; - parameters?: Map; - examples?: Map; - requestBodies?: Map; - headers?: Map; - securitySchemes?: Map; - links?: Map; - callbacks?: Map; + schemas?: Record; + responses?: Record; + parameters?: Record; + examples?: Record; + requestBodies?: Record; + headers?: Record; + securitySchemes?: Record; + links?: Record; + callbacks?: Record; } -export type PathsObject = Map; +export type PathsObject = Record; -export type PathsObjectWithRef = Map; +export type PathsObjectWithRef = Record; export interface PathItemObject { $ref?: string; @@ -152,7 +148,7 @@ export interface OperationObject { parameters?: ParameterObject[]; requestBody?: RequestBodyObject; responses: ResponsesObject; - callbacks?: Map; + callbacks?: Record; deprecated?: boolean; security?: SecurityRequirementObject[]; servers?: ServerObject[]; @@ -170,7 +166,7 @@ export interface OperationObjectWithRef { parameters?: (ParameterObjectWithRef | ReferenceObject)[]; requestBody?: RequestBodyObjectWithRef | ReferenceObject; responses: ResponsesObjectWithRef; - callbacks?: Map; + callbacks?: Record; deprecated?: boolean; security?: SecurityRequirementObject[]; servers?: ServerObject[]; @@ -197,9 +193,9 @@ export interface ParameterObject { allowReserved?: boolean; schema?: SchemaObject; example?: any; - examples?: Map; + examples?: Record; // - content?: Map; + content?: Record; param?: Object; // ignoring stylings: matrix, label, form, simple, spaceDelimited, // pipeDelimited and deepObject @@ -219,43 +215,43 @@ export interface ParameterObjectWithRef { allowReserved?: boolean; schema?: SchemaObjectWithRef | ReferenceObject; example?: any; - examples?: Map; + examples?: Record; // - content?: Map; + content?: Record; // ignoring stylings: matrix, label, form, simple, spaceDelimited, // pipeDelimited and deepObject } export interface RequestBodyObject { description?: string; - content: Map; + content: Record; required?: boolean; } export interface RequestBodyObjectWithRef { description?: string; - content: Map; + content: Record; required?: boolean; } export interface MediaTypeObject { schema?: SchemaObject; example?: any; - examples?: Map; - encoding?: Map; + examples?: Record; + encoding?: Record; type?: any; } export interface MediaTypeObjectWithRef { schema?: SchemaObjectWithRef | ReferenceObject; example?: any; - examples?: Map; - encoding?: Map; + examples?: Record; + encoding?: Record; } export interface EncodingObject { contentType?: string; - headers?: Map; + headers?: Record; style?: string; explode?: boolean; allowReserved?: boolean; @@ -263,35 +259,36 @@ export interface EncodingObject { export interface EncodingObjectWithRef { contentType?: string; - headers?: Map; + headers?: Record; style?: string; explode?: boolean; allowReserved?: boolean; } -export type ResponsesObject = Map; +export type ResponsesObject = Record; -export type ResponsesObjectWithRef = Map< +export type ResponsesObjectWithRef = Record< + string, ResponseObjectWithRef | ReferenceObject >; export interface ResponseObject { description: string; - headers?: Map; - content?: Map; - links?: Map; + headers?: Record; + content?: Record; + links?: Record; } export interface ResponseObjectWithRef { description: string; - headers?: Map; - content?: Map; - links?: Map; + headers?: Record; + content?: Record; + links?: Record; } -export type CallbackObject = Map; +export type CallbackObject = Record; -export type CallbackObjectWithRef = Map; +export type CallbackObjectWithRef = Record; export interface ExampleObject { summary?: string; @@ -303,7 +300,7 @@ export interface ExampleObject { export interface LinkObject { operationRef?: string; operationId?: string; - parameters?: Map; + parameters?: Record; requestBody?: any; description?: string; server?: ServerObject; @@ -349,7 +346,7 @@ export type SchemaObject = Omit< anyOf?: SchemaObject[]; not?: SchemaObject; items?: SchemaObject; - properties?: Map; + properties?: Record; additionalProperties?: boolean | SchemaObject; // OpenAPI additions @@ -383,7 +380,7 @@ export type SchemaObjectWithRef = Omit< anyOf?: (SchemaObject | ReferenceObject)[]; not?: SchemaObject | ReferenceObject; items?: SchemaObject | ReferenceObject; - properties?: Map; + properties?: Record; additionalProperties?: boolean | SchemaObject | ReferenceObject; // OpenAPI additions @@ -399,7 +396,7 @@ export type SchemaObjectWithRef = Omit< export interface DiscriminatorObject { propertyName: string; - mapping?: Map; + mapping?: Record; } export interface XMLObject { @@ -455,7 +452,7 @@ export interface OAuthFlowObject { authorizationUrl?: string; // required for some tokenUrl?: string; // required for some refreshUrl?: string; - scopes: Map; + scopes: Record; } -export type SecurityRequirementObject = Map; +export type SecurityRequirementObject = Record;