grantila / openapi-json-schema

Minimalistic OpenAPI 3 ⬌ JSON Schema conversion

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

npm version downloads build status coverage status

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.

Versions

  • Since v2 this is a pure ESM package, and requires Node.js >=14.13.1. It cannot be used from CommonJS.

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.

About

Minimalistic OpenAPI 3 ⬌ JSON Schema conversion

License:MIT License


Languages

Language:TypeScript 97.8%Language:JavaScript 2.2%