UNPKG

core-types-json-schema

Version:
18 lines (17 loc) 843 B
import { jsonSchemaDocumentToOpenApi, openApiToJsonSchema, } from 'openapi-json-schema'; import { convertCoreTypesToJsonSchema, } from './core-types-to-json-schema.js'; import { convertJsonSchemaToCoreTypes } from './json-schema-to-core-types.js'; export function convertCoreTypesToOpenApi(doc, options) { const { data: jsonSchema, ...rest } = convertCoreTypesToJsonSchema(doc, options); return { ...rest, data: jsonSchemaDocumentToOpenApi(jsonSchema, options) }; } export function convertOpenApiToCoreTypes(schema) { // TODO: Implement JSON AST parsing and a source map separately to // the tree (src path -> target path) schema = typeof schema === 'string' ? JSON.parse(schema) : schema; const jsonSchema = openApiToJsonSchema(schema); return convertJsonSchemaToCoreTypes(jsonSchema); }