| 
									
										
										
										
											2021-11-07 17:17:48 +01:00
										 |  |  | import ScriptUtils from "./ScriptUtils"; | 
					
						
							|  |  |  | import {readFileSync, writeFileSync} from "fs"; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-11-07 17:52:05 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | function main() { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     const allSchemas = ScriptUtils.readDirRecSync("./Docs/Schemas").filter(pth => pth.endsWith("JSC.ts")) | 
					
						
							|  |  |  |     for (const path of allSchemas) { | 
					
						
							|  |  |  |         const dir = path.substring(0, path.lastIndexOf("/")) | 
					
						
							|  |  |  |         const name = path.substring(path.lastIndexOf("/"), path.length - "JSC.ts".length) | 
					
						
							|  |  |  |         let content = readFileSync(path, "UTF-8") | 
					
						
							|  |  |  |         content = content.substring("export default ".length) | 
					
						
							|  |  |  |         let parsed = JSON.parse(content) | 
					
						
							|  |  |  |         parsed["additionalProperties"] = false | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         for (const key in parsed.definitions) { | 
					
						
							|  |  |  |             const def = parsed.definitions[key] | 
					
						
							|  |  |  |             console.log("Patching ", key) | 
					
						
							|  |  |  |             if (def.type === "object") { | 
					
						
							|  |  |  |                 def["additionalProperties"] = false | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         writeFileSync(dir + "/" + name + ".schema.json", JSON.stringify(parsed, null, "  "), "UTF8") | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | main() |