starlight-openapi
Version:
Starlight plugin to generate documentation from OpenAPI/Swagger specifications.
24 lines (18 loc) • 591 B
text/typescript
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
}
}