core-types-json-schema
Version:
core-types ⬌ JSON Schema conversion
18 lines (17 loc) • 843 B
JavaScript
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);
}