validate method

ValidateOutput validate(
  1. ValidateInput input
)

Implementation

ValidateOutput validate(ValidateInput input) {
  final csvArmorSchemaYAML = utf8.decode(languageSchemaYAMLBytes);
  final schema = jsonEncode(loadYaml(csvArmorSchemaYAML));
  final validator = JsonSchema.create(schema);

  final dynamic v;
  try {
    v = loadYaml(input.source);
  } catch (e) {
    return ValidateOutput(
      status: ValidateOutput_Status.YAML_ERROR,
      errorMessage: e.toString(),
    );
  }

  final r = validator.validate(v);
  if (!r.isValid) {
    return ValidateOutput(
      status: ValidateOutput_Status.VALIDATION_ERROR,
      errorMessage: r.errors.toString(),
    );
  }

  return ValidateOutput(status: ValidateOutput_Status.OK);
}