Files
Caspian.Elsa.Studio/src/framework/Elsa.Studio.Core/Extensions/RateLimitedFuncExtensions.cs
T
2025-08-20 11:07:36 +03:30

31 lines
844 B
C#

using ThrottleDebounce;
namespace Elsa.Studio.Extensions;
/// <summary>
/// Adds extension methods for <see cref="RateLimitedFunc{TResult}"/> and <see cref="RateLimitedFunc{T, TResult}"/>.
/// </summary>
public static class RateLimitedFuncExtensions
{
/// <summary>
/// Invokes the specified rate limited function.
/// </summary>
public static async Task InvokeAsync(this RateLimitedFunc<Task> rateLimitedFunc)
{
var task = rateLimitedFunc.Invoke();
if (task != null)
await task;
}
/// <summary>
/// Invokes the specified rate limited function.
/// </summary>
public static async Task InvokeAsync<T>(this RateLimitedFunc<T, Task> rateLimitedFunc, T arg1)
{
var task = rateLimitedFunc.Invoke(arg1);
if (task != null)
await task;
}
}