validateParameters static method

List<String> validateParameters(
  1. Map<String, dynamic> arguments,
  2. ParametersSchema schema
)

Validate parameters against a schema

arguments - The arguments to validate schema - The parameter schema to validate against

Returns a list of validation error messages (empty if valid)

Implementation

static List<String> validateParameters(
  Map<String, dynamic> arguments,
  ParametersSchema schema,
) {
  final errors = <String>[];

  // Check required parameters
  for (final requiredParam in schema.required) {
    if (!arguments.containsKey(requiredParam)) {
      errors.add('Missing required parameter: $requiredParam');
    }
  }

  // Validate each provided parameter
  for (final entry in arguments.entries) {
    final paramName = entry.key;
    final paramValue = entry.value;
    final paramProperty = schema.properties[paramName];

    if (paramProperty == null) {
      errors.add('Unknown parameter: $paramName');
      continue;
    }

    final paramErrors = _validateParameterValue(
      paramName,
      paramValue,
      paramProperty,
    );
    errors.addAll(paramErrors);
  }

  return errors;
}