summary refs log tree commit diff
path: root/scripts/schema.js
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2025-07-11 12:55:38 +0200
committerRory& <root@rory.gay>2025-09-29 18:38:06 +0200
commit5e3080d72fe5a388c53698c732b855b98ca92d6e (patch)
tree0679da9d3fde39fe2f178d00ea57c24a4a21f8dd /scripts/schema.js
parentNest query times for clarity (diff)
downloadserver-ts-5e3080d72fe5a388c53698c732b855b98ca92d6e.tar.xz
Setting protos support
Diffstat (limited to 'scripts/schema.js')
-rw-r--r--scripts/schema.js22
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();