using System;
using NodePipeline.Abstractions.Interfaces.Nodes;
// ReSharper disable UnusedAutoPropertyAccessor.Global
namespace NodePipeline.Abstractions.Attributes;
///
/// Node field required attribute
///
/// Specifies node field direction
/// Optional node field name override
[AttributeUsage(AttributeTargets.Property)]
public sealed class NodeFieldAttribute(FieldDirection direction, string? name = null) : Attribute
{
///
/// User specified field name
///
/// In other case property name will be used
///
///
public string? Name { get; } = name;
///
/// Node field direction
///
public FieldDirection Direction { get; } = direction;
}