Refactors ExpressionExecutionContextExtensions for improved debugging (#7070)

* Refactor `ExpressionExecutionContextExtensions` to convert static methods into extension methods and remove unused imports.

* Refactor `ExpressionExecutionContextExtensions` to convert instance methods into extension methods.
This commit is contained in:
Sipke Schoorstra 2025-11-17 21:19:32 +01:00 committed by GitHub
parent 2f135f3e61
commit 0f4e5c6f80
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -8,9 +8,7 @@ using Elsa.Workflows;
using Elsa.Workflows.Activities;
using Elsa.Workflows.Memory;
using Elsa.Workflows.Models;
using Elsa.Workflows.Options;
using Humanizer;
using Microsoft.Extensions.Options;
// ReSharper disable once CheckNamespace
namespace Elsa.Extensions;
@ -74,12 +72,22 @@ public static class ExpressionExecutionContextExtensions
/// <summary>
/// Returns the <see cref="WorkflowExecutionContext"/> of the specified <see cref="ExpressionExecutionContext"/>
/// </summary>
public static WorkflowExecutionContext GetWorkflowExecutionContext(this ExpressionExecutionContext context) => (WorkflowExecutionContext)context.TransientProperties[WorkflowExecutionContextKey];
public static WorkflowExecutionContext GetWorkflowExecutionContext(this ExpressionExecutionContext context)
{
return context.TransientProperties.TryGetValue(WorkflowExecutionContextKey, out var value)
? (WorkflowExecutionContext)value
: throw new InvalidOperationException("WorkflowExecutionContext not found. This value exists only on activity execution contexts.");
}
/// <summary>
/// Returns the <see cref="ActivityExecutionContext"/> of the specified <see cref="ExpressionExecutionContext"/>
/// </summary>
public static ActivityExecutionContext GetActivityExecutionContext(this ExpressionExecutionContext context) => (ActivityExecutionContext)context.TransientProperties[ActivityExecutionContextKey];
public static ActivityExecutionContext GetActivityExecutionContext(this ExpressionExecutionContext context)
{
return context.TransientProperties.TryGetValue(ActivityExecutionContextKey, out var value)
? (ActivityExecutionContext)value
: throw new InvalidOperationException("ActivityExecutionContext not found. This value exists only on activity execution contexts.");
}
/// <summary>
/// Returns the <see cref="ActivityExecutionContext"/> of the specified <see cref="ExpressionExecutionContext"/>
@ -89,7 +97,12 @@ public static class ExpressionExecutionContextExtensions
/// <summary>
/// Returns the <see cref="Activity"/> of the specified <see cref="ExpressionExecutionContext"/>
/// </summary>
public static IActivity GetActivity(this ExpressionExecutionContext context) => (IActivity)context.TransientProperties[ActivityKey];
public static IActivity GetActivity(this ExpressionExecutionContext context)
{
return context.TransientProperties.TryGetValue(ActivityKey, out var value)
? (IActivity)value
: throw new InvalidOperationException("Activity not found. This value exists only on activity execution contexts.");
}
/// <summary>
/// Returns the value of the specified input.