botbook/node_modules/json-schema-library/dist/module/lib/mergeSchema.js
Rodrigo Rodriguez 6ae15fe3e5 Updated.
2024-09-04 13:13:15 -03:00

27 lines
784 B
JavaScript

import { mergeArraysUnique } from "./utils/merge";
import getTypeOf from "./getTypeOf";
/**
* merges to two json schema. In case of conflicts, will use overwrite first
* schema or directly return first json schema.
*/
export function mergeSchema(a, b) {
const aType = getTypeOf(a);
const bType = getTypeOf(b);
if (aType !== bType) {
return a;
}
const result = mergeArraysUnique(a, b);
if (a.getOneOfOrigin) {
Object.defineProperty(result, "getOneOfOrigin", {
enumerable: false,
value: a.getOneOfOrigin
});
}
else if (b.getOneOfOrigin) {
Object.defineProperty(result, "getOneOfOrigin", {
enumerable: false,
value: b.getOneOfOrigin
});
}
return result;
}