UNPKG

vitepress-openapi

Version:

Generate VitePress API Documentation from OpenAPI Specification.

24 lines (18 loc) 640 B
import type { ParsedOpenAPI, ParsedOperation } from '../../types' import { httpVerbs } from '../../index' import { getSecurityUi } from './getSecurityUi' export function generateSecurityUi(spec: ParsedOpenAPI): ParsedOpenAPI { if (!spec?.paths) { return spec } for (const path of Object.values(spec.paths)) { for (const verb of httpVerbs) { const operation = (path as Record<string, any>)[verb] as ParsedOperation if (!operation) { continue } operation.securityUi = getSecurityUi(operation.security ?? spec.security ?? [], spec.components?.securitySchemes || {}) } } return spec }