using System;
namespace OpenTap
{
/// Action(T) IInvokable.
readonly struct Invokable : IInvokable
{
readonly Action action;
public Invokable(Action action) => this.action = action;
public void Invoke(T v) => action(v);
/// Add an ignored argument.
public Invokable AddArg()
{
var act = action;
return new Invokable((a1, a2) => act(a1));
}
}
/// Action(T) IInvokable.
readonly struct Invokable : IInvokable
{
readonly Action action;
public Invokable(Action action) => this.action = action;
public void Invoke(T v, T2 v2) => action(v, v2);
}
}