isSchemaValid method

  1. @override
Future<String?> isSchemaValid(
  1. DartBlockProgram neoTechCore
)
override

Implementation

@override
Future<String?> isSchemaValid(DartBlockProgram neoTechCore) async {
  if (functionDefinitions.isEmpty) {
    return 'At least 1 sample function definition is required.';
  }
  final availableFunctionDefinitions = neoTechCore.customFunctions
      .map((e) => e.getAsFunctionDefinition())
      .toList();
  for (final functionDefinition in functionDefinitions) {
    if (!availableFunctionDefinitions.contains(functionDefinition)) {
      return "The function definition '${functionDefinition.toString()}' does not exist.";
    }
  }
  return null;
}