1 files changed, 22 insertions, 0 deletions
diff --git a/scripts/schema.js b/scripts/schema.js
index fd5b09f5..b39948e7 100644
--- a/scripts/schema.js
+++ b/scripts/schema.js
@@ -112,7 +112,29 @@ function main() {
definitions = { ...definitions, [name]: { ...part } };
}
+ deleteOneOfKindUndefinedRecursive(definitions, "$");
+
fs.writeFileSync(schemaPath, JSON.stringify(definitions, null, 4));
}
+function deleteOneOfKindUndefinedRecursive(obj, path) {
+ if (
+ obj?.type === "object" &&
+ obj?.properties?.oneofKind?.type === "undefined"
+ )
+ return true;
+
+ for (const key in obj) {
+ if (
+ typeof obj[key] === "object" &&
+ deleteOneOfKindUndefinedRecursive(obj[key], path + "." + key)
+ ) {
+ console.log("Deleting", path, key);
+ delete obj[key];
+ }
+ }
+
+ return false;
+}
+
main();
|