26 lines
		
	
	
		
			627 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			627 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| /*
 | |
|  * Copyright (C) Sapphirecode - All Rights Reserved
 | |
|  * This file is part of console-app which is released under MIT.
 | |
|  * See file 'LICENSE' for full license details.
 | |
|  * Created by Timo Hocker <timo@scode.ovh>, May 2020
 | |
|  */
 | |
| 
 | |
| import { OptionProcess } from '../Option';
 | |
| 
 | |
| export abstract class OptionSource {
 | |
|   public abstract async parse(opt: OptionProcess[]): Promise<void>;
 | |
| 
 | |
|   protected async assign_arg (
 | |
|     opt: OptionProcess,
 | |
|     value: unknown
 | |
|   ): Promise<void> {
 | |
|     try {
 | |
|       opt.value = await opt.type_validation.to_type (value);
 | |
|       opt.filled = true;
 | |
|     }
 | |
|     catch (e) {
 | |
|       // could not assign
 | |
|     }
 | |
|   }
 | |
| }
 |