forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			22 lines
		
	
	
	
		
			485 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
	
		
			485 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import ScriptUtils from "./ScriptUtils"
 | |
| 
 | |
| export default abstract class Script {
 | |
|     private readonly _docs: string
 | |
| 
 | |
|     constructor(docs: string) {
 | |
|         this._docs = docs
 | |
|     }
 | |
| 
 | |
|     abstract main(args: string[]): Promise<void>
 | |
| 
 | |
|     public run(): void {
 | |
|         ScriptUtils.fixUtils()
 | |
|         const args = [...process.argv]
 | |
|         args.splice(0, 2)
 | |
|         this.main(args).then((_) => console.log("All done"))
 | |
|     }
 | |
| 
 | |
|     public printHelp() {
 | |
|         console.log(this._docs)
 | |
|     }
 | |
| }
 |