Neuroglia.Data.Expressions.JavaScript
4.18.1
Prefix Reserved
dotnet add package Neuroglia.Data.Expressions.JavaScript --version 4.18.1
NuGet\Install-Package Neuroglia.Data.Expressions.JavaScript -Version 4.18.1
<PackageReference Include="Neuroglia.Data.Expressions.JavaScript" Version="4.18.1" />
paket add Neuroglia.Data.Expressions.JavaScript --version 4.18.1
#r "nuget: Neuroglia.Data.Expressions.JavaScript, 4.18.1"
// Install Neuroglia.Data.Expressions.JavaScript as a Cake Addin #addin nuget:?package=Neuroglia.Data.Expressions.JavaScript&version=4.18.1 // Install Neuroglia.Data.Expressions.JavaScript as a Cake Tool #tool nuget:?package=Neuroglia.Data.Expressions.JavaScript&version=4.18.1
Neuroglia.Data.Expressions.JavaScript
A .NET package to evaluate expressions using JavaScript
. This library integrates JavaScript
with .NET applications, making it simple to work with JSON data transformations and expressions.
Getting Started
Installation
Add the package to your .NET project:
dotnet add package Neuroglia.Data.Expressions.JavaScript
Configuration
Optionally, configure the JQ Expression Evaluator in your application's Dependency Injection (DI) container:
services.AddJavaScriptExpressionEvaluator(options =>
{
options.UseSerializer<MyJsonSerializerImplementation>(); // Optional: Defaults to the first registered `IJsonSerializer`
}, ServiceLifetime.Singleton);
Usage
After setup, you can start using the evaluator to process expressions.
Example Code
var defaultEvaluator = serviceProvider.GetRequiredService<IExpressionEvaluator>();
var explicitEvaluator = serviceProvider.GetRequiredService<IExpressionEvaluatorProvider>().GetEvaluator("js");
var expression = "{ \"foo\": .foo, \"bar\": $param1.bar }";
var input = new
{
foo = "bar"
};
var arguments = new Dictionary<string, object>()
{
{
"param1",
new
{
bar = "baz"
}
}
};
var result = await defaultEvaluator.EvaluateAsync(expression, input, arguments, typeof(MyResult));
public class MyResult
{
public string Foo { get; set; }
public string Bar { get; set; }
}
Features
- Easily integrate
JavaScript
with .NET applications. - Support for Dependency Injection with customizable options.
- Strongly-typed evaluation for JSON transformation.
- Flexible serialization options.
Requirements
- .NET Version: Compatible with .NET 9+.
Contributing
Feel free to contribute to this project! Please submit issues, feature requests, or pull requests on the GitHub repository.
License
This project is licensed under the Apache 2.0
license.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. |
-
net9.0
- Jint (>= 4.1.0)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.0)
- Neuroglia.Data.Expressions.Abstractions (>= 4.18.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on Neuroglia.Data.Expressions.JavaScript:
Repository | Stars |
---|---|
serverlessworkflow/synapse
Serverless Workflow Management System (WFMS)
|
Version | Downloads | Last updated |
---|---|---|
4.18.1 | 172 | 12/10/2024 |
4.18.0 | 112 | 12/10/2024 |
4.16.2 | 193 | 11/20/2024 |
4.16.1 | 93 | 11/18/2024 |
4.16.0 | 140 | 11/14/2024 |
4.15.9 | 89 | 11/14/2024 |
4.15.8 | 538 | 10/11/2024 |
4.15.7 | 96 | 10/9/2024 |
4.15.6 | 431 | 9/10/2024 |
4.15.5 | 94 | 9/10/2024 |
4.15.4 | 224 | 9/8/2024 |
4.15.3 | 192 | 9/2/2024 |
4.15.2 | 111 | 8/30/2024 |
4.15.1 | 104 | 8/26/2024 |
4.15.0 | 147 | 8/26/2024 |
4.14.1 | 146 | 8/21/2024 |
4.14.0 | 142 | 8/16/2024 |
4.13.0 | 119 | 8/16/2024 |
4.12.10 | 123 | 8/14/2024 |
4.12.9 | 139 | 8/14/2024 |
4.12.8 | 126 | 8/12/2024 |
4.12.7 | 122 | 8/8/2024 |
4.12.6 | 76 | 7/25/2024 |
4.12.5 | 114 | 7/9/2024 |
4.12.4 | 97 | 7/9/2024 |
4.12.3 | 100 | 7/8/2024 |
4.12.2 | 136 | 6/26/2024 |
4.12.1 | 148 | 6/18/2024 |
4.12.0 | 91 | 6/17/2024 |
4.11.3 | 110 | 6/13/2024 |
4.11.2 | 93 | 6/12/2024 |
4.11.1 | 110 | 6/7/2024 |
4.11.0 | 122 | 5/31/2024 |
4.10.0 | 126 | 5/30/2024 |
4.9.15 | 115 | 5/20/2024 |
4.9.14 | 106 | 5/15/2024 |
4.9.13 | 96 | 5/12/2024 |
4.9.12 | 80 | 5/11/2024 |
4.9.11 | 87 | 5/8/2024 |
4.9.10 | 95 | 5/7/2024 |
4.9.9 | 122 | 5/6/2024 |
4.9.8 | 107 | 5/6/2024 |
4.9.7 | 60 | 5/2/2024 |
4.9.6 | 114 | 4/15/2024 |
4.9.5 | 99 | 4/10/2024 |
4.9.4 | 85 | 4/10/2024 |
4.9.3 | 88 | 4/10/2024 |
4.9.2 | 90 | 4/10/2024 |
4.9.1 | 103 | 4/10/2024 |
4.9.0 | 110 | 4/9/2024 |
4.8.5 | 116 | 4/4/2024 |
4.8.4 | 115 | 4/3/2024 |
4.8.3 | 117 | 3/25/2024 |
4.8.2 | 107 | 3/22/2024 |
4.8.1 | 129 | 3/18/2024 |
4.8.0 | 125 | 3/18/2024 |
4.7.7 | 207 | 12/8/2023 |
4.7.6 | 154 | 12/6/2023 |
4.7.5 | 148 | 12/5/2023 |
4.7.4 | 147 | 12/5/2023 |
4.7.3 | 150 | 12/4/2023 |
4.7.2 | 165 | 12/4/2023 |
4.7.1 | 131 | 12/1/2023 |
4.7.0 | 150 | 11/28/2023 |
4.6.1 | 160 | 11/27/2023 |
4.6.0 | 158 | 11/25/2023 |
4.5.2 | 156 | 11/25/2023 |
4.5.1 | 159 | 11/23/2023 |
4.5.0 | 160 | 11/23/2023 |
4.4.2 | 145 | 11/22/2023 |
4.4.1 | 132 | 11/21/2023 |
4.4.0 | 158 | 11/21/2023 |
4.3.3 | 139 | 11/20/2023 |
4.3.2 | 143 | 11/20/2023 |
4.3.1 | 151 | 11/20/2023 |
4.3.0 | 132 | 11/20/2023 |
4.2.1 | 156 | 11/17/2023 |
4.2.0 | 147 | 11/17/2023 |
4.1.0 | 134 | 11/17/2023 |
4.0.0 | 154 | 11/15/2023 |
3.10.0 | 136 | 11/15/2023 |
3.9.0 | 143 | 11/15/2023 |
3.8.4 | 152 | 11/10/2023 |
3.8.3 | 130 | 11/10/2023 |
3.8.2 | 115 | 11/10/2023 |
3.8.1 | 158 | 11/10/2023 |
3.8.0 | 146 | 11/9/2023 |
3.7.0 | 152 | 11/8/2023 |
3.6.1 | 148 | 11/8/2023 |
3.6.0 | 150 | 11/7/2023 |
3.5.2 | 153 | 11/6/2023 |
3.5.1 | 139 | 11/3/2023 |
3.5.0 | 139 | 11/3/2023 |
3.4.0 | 160 | 10/25/2023 |
3.3.0 | 170 | 10/23/2023 |
3.2.0 | 171 | 10/19/2023 |
3.1.1 | 161 | 10/18/2023 |
3.1.0 | 144 | 10/18/2023 |
3.0.1 | 168 | 10/16/2023 |
2.1.4 | 185 | 7/14/2023 |
2.1.3 | 195 | 6/22/2023 |
2.1.2 | 182 | 5/31/2023 |
2.1.1 | 165 | 5/25/2023 |
2.1.0 | 218 | 4/4/2023 |