/openapi-json-schema

Minimalistic OpenAPI 3 ⬌ JSON Schema conversion

Primary LanguageTypeScriptMIT LicenseMIT

npm version downloads build status coverage status Language grade: JavaScript

openapi-json-schema

Minimalistic OpenAPI 3 ⬌ JSON Schema (draft 7) conversion.

  • This package aims at full conversion support except reference resolution, but isn't there yet. Currently supports:
    • null/nullable conversion
    • $ref's being converted #/definitions <-> #/components/schemas
    • constenum when converting to OpenAPI
    • $id/$commentinfo['x-id']/info['x-comment'] when converting to OpenAPI
    • PR's are welcome.
  • JSON $refs are not resolved.
  • This package has no dependencies, and will continue to have no dependencies - re: minimalistic.

Usage

import {
    jsonSchemaToOpenApiSchema,
    openApiSchemaToJsonSchema,
} from 'openapi-json-schema'

// JSON Schema to Open API
const openApi = jsonSchemaToOpenApiSchema( jsonSchema );

// Open API to JSON Schema
const jsonSchema = openApiSchemaToJsonSchema( openApi );

Utilities

The library exports utilities; encodeRefNameJsonSchema, decodeRefNameJsonSchema, encodeRefNameOpenApi and decodeRefNameOpenApi used to convert to/from references names, and their corresponding encoding in JSON Schema and Open API.