export function validateInput()

in telemetry/vscode/src/parser.ts [43:59]


export function validateInput(fileText: string, fileName: string): MetricDefinitionRoot {
    try {
        const schemaInput = readFileSync(path.join(__dirname, '../lib/telemetrySchema.json'), 'utf8')
        const schema = JSON.parse(schemaInput)
        const jsonValidator = new Ajv().compile(schema)
        const input = JSON.parse(fileText)
        const valid = jsonValidator(input)
        if (!valid) {
            console.error('validating schema failed!')
            throw jsonValidator.errors
        }
        return input as MetricDefinitionRoot
    } catch (errors) {
        console.error(`Error while trying to parse the definitions file ${fileName}: ${JSON.stringify(errors)}`)
        throw Error('Failed to parse')
    }
}