export function validateInput()

in telemetry/vscode/src/parser.ts [48:63]


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) {
            throw jsonValidator.errors
        }
        return input as MetricDefinitionRoot
    } catch (errors) {
        const msg = `Failed to parse definitions file ${fileName}: ${JSON.stringify(errors)}`
        throw new Error(msg)
    }
}