validateConditional static method

String? validateConditional(
  1. Map<String, dynamic>? conditional
)

Validates if a conditional configuration is valid. Returns null if valid, error message if invalid.

Implementation

static String? validateConditional(Map<String, dynamic>? conditional) {
  if (conditional == null || conditional.isEmpty) {
    return null; // No conditional is valid
  }

  // Check for JSONLogic
  if (conditional.containsKey('json')) {
    if (conditional['json'] is! Map) {
      return 'JSONLogic conditional must have a valid JSON object';
    }
    return null;
  }

  // Check for custom JavaScript
  if (conditional.containsKey('custom')) {
    return 'JavaScript custom conditionals are not supported in Dart';
  }

  // Validate simple conditional
  if (!conditional.containsKey('when')) {
    return 'Simple conditional must have a "when" field';
  }

  return null;
}