botbook/node_modules/json-schema-library/lib/resolveRef.merge.ts
Rodrigo Rodriguez 6ae15fe3e5 Updated.
2024-09-04 13:13:15 -03:00

15 lines
647 B
TypeScript

import { JsonSchema } from "./types";
export default function resolveRefMerge(schema: JsonSchema, rootSchema: JsonSchema): JsonSchema {
if (schema == null || schema.$ref == null) {
return schema;
}
const resolvedSchema = rootSchema.getRef(schema);
const mergedSchema = Object.assign({}, resolvedSchema, schema);
delete mergedSchema.$ref;
// @todo the following might not be safe nor incomplete
Object.defineProperty(mergedSchema, "__ref", { enumerable: false, value: schema.__ref });
Object.defineProperty(mergedSchema, "getRoot", { enumerable: false, value: schema.getRoot });
return mergedSchema;
}