using Elsa.Extensions; using Elsa.Scripting.JavaScript.Options; using Elsa.Scripting.JavaScript.Services; using Microsoft.Extensions.Options; using System; using Elsa.Expressions; // ReSharper disable once CheckNamespace namespace Microsoft.Extensions.DependencyInjection { public static class JavaScriptServiceCollectionExtensions { public static IServiceCollection AddJavaScriptExpressionEvaluator(this IServiceCollection services) { return services .TryAddProvider(ServiceLifetime.Scoped) .AddNotificationHandlers(typeof(JavaScriptServiceCollectionExtensions)); } public static IServiceCollection WithJavaScriptOptions(this IServiceCollection services, Action> options) { var scriptOptions = services.AddOptions(); options(scriptOptions); return services; } } }