UNPKG

starlight-openapi

Version:

Starlight plugin to generate documentation from OpenAPI/Swagger specifications.

24 lines (18 loc) 591 B
import OpenAPIParser from '@readme/openapi-parser' import type { AstroIntegrationLogger } from 'astro' import type { Schema, StarlightOpenAPISchemaConfig } from './schema' export async function parseSchema( logger: AstroIntegrationLogger, config: StarlightOpenAPISchemaConfig, ): Promise<Schema> { try { logger.info(`Parsing OpenAPI schema at '${config.schema}'.`) const document = await OpenAPIParser.bundle(config.schema) return { config, document } } catch (error) { if (error instanceof Error) { logger.error(error.message) } throw error } }