botbook/node_modules/json-schema-library/lib/resolveRef.strict.ts

20 lines
698 B
TypeScript
Raw Normal View History

2024-09-04 13:13:15 -03:00
import { JsonSchema } from "./types";
export default function resolveRef(schema: JsonSchema, rootSchema: JsonSchema): JsonSchema {
if (schema == null || schema.$ref == null) {
return schema;
}
if (schema.getRoot) {
// we actually always need to resolve the schema like this, since returned subschemas
// must resolve relative from their schema
const resolvedSchema = schema.getRoot().getRef(schema);
// console.log(schema.$ref, "=>", resolvedSchema);
return resolvedSchema;
}
// tryout - this should never be called, except we missed something
const resolvedSchema = rootSchema.getRef(schema);
return resolvedSchema;
}