42 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			42 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 
								 | 
							
								/* tslint:disable */
							 | 
						||
| 
								 | 
							
								// generated by typescript-json-validator
							 | 
						||
| 
								 | 
							
								import {inspect} from 'util';
							 | 
						||
| 
								 | 
							
								import Ajv = require('ajv');
							 | 
						||
| 
								 | 
							
								import UpdateConfigFile from './UpdateConfigFile';
							 | 
						||
| 
								 | 
							
								export const ajv = new Ajv({"allErrors":true,"coerceTypes":false,"format":"fast","nullable":true,"unicode":true,"uniqueItems":true,"useDefaults":true});
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								ajv.addMetaSchema(require('ajv/lib/refs/json-schema-draft-06.json'));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export {UpdateConfigFile};
							 | 
						||
| 
								 | 
							
								export const UpdateConfigFileSchema = {
							 | 
						||
| 
								 | 
							
								  "$schema": "http://json-schema.org/draft-07/schema#",
							 | 
						||
| 
								 | 
							
								  "defaultProperties": [
							 | 
						||
| 
								 | 
							
								  ],
							 | 
						||
| 
								 | 
							
								  "properties": {
							 | 
						||
| 
								 | 
							
								    "selectedChannel": {
							 | 
						||
| 
								 | 
							
								      "type": "string"
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "version": {
							 | 
						||
| 
								 | 
							
								      "type": "number"
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  },
							 | 
						||
| 
								 | 
							
								  "required": [
							 | 
						||
| 
								 | 
							
								    "selectedChannel",
							 | 
						||
| 
								 | 
							
								    "version"
							 | 
						||
| 
								 | 
							
								  ],
							 | 
						||
| 
								 | 
							
								  "type": "object"
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								export type ValidateFunction<T> = ((data: unknown) => data is T) & Pick<Ajv.ValidateFunction, 'errors'>
							 | 
						||
| 
								 | 
							
								export const isUpdateConfigFile = ajv.compile(UpdateConfigFileSchema) as ValidateFunction<UpdateConfigFile>;
							 | 
						||
| 
								 | 
							
								export default function validate(value: unknown): UpdateConfigFile {
							 | 
						||
| 
								 | 
							
								  if (isUpdateConfigFile(value)) {
							 | 
						||
| 
								 | 
							
								    return value;
							 | 
						||
| 
								 | 
							
								  } else {
							 | 
						||
| 
								 | 
							
								    throw new Error(
							 | 
						||
| 
								 | 
							
								      ajv.errorsText(isUpdateConfigFile.errors!.filter((e: any) => e.keyword !== 'if'), {dataVar: 'UpdateConfigFile'}) +
							 | 
						||
| 
								 | 
							
								      '\n\n' +
							 | 
						||
| 
								 | 
							
								      inspect(value),
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								}
							 |