NodePipeline/NodePipeline.Abstractions/Interfaces/Validation/INodeValidator.cs
2026-01-02 20:55:25 +03:00

22 lines
800 B
C#

using System.Collections.Generic;
using NodePipeline.Abstractions.Models.Validation;
using NodePipeline.Abstractions.Validators;
namespace NodePipeline.Abstractions.Interfaces.Validation;
/// <summary>
/// For implementation use <see cref="NodeValidatorBase" />
/// </summary>
public interface INodeValidator
{
/// <summary>
/// Dictionary of node parameter names and values
/// </summary>
/// <param name="nodeFields"></param>
/// <param name="fieldResults"></param>
/// <param name="portResults"></param>
/// <returns></returns>
NodeValidationResult Validate(Dictionary<string, object> nodeFields,
IReadOnlyDictionary<string, List<NodeFieldValidationResult>> fieldResults,
Dictionary<string, List<NodeFieldValidationResult>> portResults);
}