Skip to content

asyncapi/openapi-schema-parser

OpenAPI Schema Parser

An AsyncAPI schema parser for OpenAPI 3.0.x and Swagger 2.x schemas.

Note Version >= 3.0.0 of package is only supported by @asyncapi/parser version >= 2.0.0.

Installation

npm install @asyncapi/openapi-schema-parser // OR yarn add @asyncapi/openapi-schema-parser

Usage

import { Parser } from '@asyncapi/parser'; import { OpenAPISchemaParser } from '@asyncapi/openapi-schema-parser'; const parser = new Parser(); parser.registerSchemaParser(OpenAPISchemaParser()); const asyncapiWithOpenAPI = ` asyncapi: 2.0.0 info:  title: Example with OpenAPI  version: 0.1.0 channels:  example:  publish:  message:  schemaFormat: 'application/vnd.oai.openapi;version=3.0.0'  payload: # The following is an OpenAPI schema  type: object  properties:  title:  type: string  nullable: true  author:  type: string  example: Jack Johnson `; const { document } = await parser.parse(asyncapiWithOpenAPI);
const { Parser } = require('@asyncapi/parser'); const { OpenAPISchemaParser } = require('@asyncapi/openapi-schema-parser'); const parser = new Parser(); parser.registerSchemaParser(OpenAPISchemaParser()); const asyncapiWithOpenAPI = ` asyncapi: 2.0.0 info:  title: Example with OpenAPI  version: 0.1.0 channels:  example:  publish:  message:  schemaFormat: 'application/vnd.oai.openapi;version=3.0.0'  payload: # The following is an OpenAPI schema  type: object  properties:  title:  type: string  nullable: true  author:  type: string  example: Jack Johnson `; const { document } = await parser.parse(asyncapiWithOpenAPI);

It also supports referencing remote OpenAPI schemas:

import { Parser } from '@asyncapi/parser'; import { OpenAPISchemaParser } from '@asyncapi/openapi-schema-parser'; const parser = new Parser(); parser.registerSchemaParser(OpenAPISchemaParser()); const asyncapiWithOpenAPI = ` asyncapi: 2.0.0 info:  title: Example with OpenAPI  version: 0.1.0 channels:  example:  publish:  message:  schemaFormat: 'application/vnd.oai.openapi;version=3.0.0'  payload:  $ref: 'yourserver.com/schemas#/Book' `; const { document } = await parser.parse(asyncapiWithOpenAPI);

About

An AsyncAPI schema parser for OpenAPI 3.0.x and Swagger 2.x schemas.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 11