Neuroglia.Data.Expressions.JavaScript 4.21.0

Prefix Reserved
dotnet add package Neuroglia.Data.Expressions.JavaScript --version 4.21.0
                    
NuGet\Install-Package Neuroglia.Data.Expressions.JavaScript -Version 4.21.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Neuroglia.Data.Expressions.JavaScript" Version="4.21.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Neuroglia.Data.Expressions.JavaScript" Version="4.21.0" />
                    
Directory.Packages.props
<PackageReference Include="Neuroglia.Data.Expressions.JavaScript" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Neuroglia.Data.Expressions.JavaScript --version 4.21.0
                    
#r "nuget: Neuroglia.Data.Expressions.JavaScript, 4.21.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=Neuroglia.Data.Expressions.JavaScript&version=4.21.0
                    
Install Neuroglia.Data.Expressions.JavaScript as a Cake Addin
#tool nuget:?package=Neuroglia.Data.Expressions.JavaScript&version=4.21.0
                    
Install Neuroglia.Data.Expressions.JavaScript as a Cake Tool

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 Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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.21.0 150 4/2/2025
4.20.1 115 3/14/2025
4.20.0 155 3/12/2025
4.19.5 190 3/3/2025
4.19.4 99 2/27/2025
4.19.3 112 2/21/2025
4.19.2 101 2/3/2025
4.19.1 194 1/31/2025
4.19.0 118 1/24/2025
4.18.1 363 12/10/2024
4.18.0 134 12/10/2024
4.16.2 206 11/20/2024
4.16.1 106 11/18/2024
4.16.0 155 11/14/2024
4.15.9 105 11/14/2024
4.15.8 570 10/11/2024
4.15.7 109 10/9/2024
4.15.6 440 9/10/2024
4.15.5 105 9/10/2024
4.15.4 235 9/8/2024
4.15.3 199 9/2/2024
4.15.2 121 8/30/2024
4.15.1 114 8/26/2024
4.15.0 158 8/26/2024
4.14.1 152 8/21/2024
4.14.0 153 8/16/2024
4.13.0 130 8/16/2024
4.12.10 131 8/14/2024
4.12.9 143 8/14/2024
4.12.8 131 8/12/2024
4.12.7 132 8/8/2024
4.12.6 82 7/25/2024
4.12.5 121 7/9/2024
4.12.4 104 7/9/2024
4.12.3 106 7/8/2024
4.12.2 146 6/26/2024
4.12.1 158 6/18/2024
4.12.0 98 6/17/2024
4.11.3 117 6/13/2024
4.11.2 98 6/12/2024
4.11.1 118 6/7/2024
4.11.0 129 5/31/2024
4.10.0 134 5/30/2024
4.9.15 120 5/20/2024
4.9.14 109 5/15/2024
4.9.13 102 5/12/2024
4.9.12 84 5/11/2024
4.9.11 95 5/8/2024
4.9.10 101 5/7/2024
4.9.9 130 5/6/2024
4.9.8 116 5/6/2024
4.9.7 71 5/2/2024
4.9.6 122 4/15/2024
4.9.5 107 4/10/2024
4.9.4 93 4/10/2024
4.9.3 100 4/10/2024
4.9.2 98 4/10/2024
4.9.1 112 4/10/2024
4.9.0 119 4/9/2024
4.8.5 131 4/4/2024
4.8.4 122 4/3/2024
4.8.3 128 3/25/2024
4.8.2 113 3/22/2024
4.8.1 135 3/18/2024
4.8.0 133 3/18/2024
4.7.7 216 12/8/2023
4.7.6 157 12/6/2023
4.7.5 152 12/5/2023
4.7.4 152 12/5/2023
4.7.3 153 12/4/2023
4.7.2 167 12/4/2023
4.7.1 134 12/1/2023
4.7.0 153 11/28/2023
4.6.1 165 11/27/2023
4.6.0 160 11/25/2023
4.5.2 160 11/25/2023
4.5.1 162 11/23/2023
4.5.0 163 11/23/2023
4.4.2 147 11/22/2023
4.4.1 134 11/21/2023
4.4.0 161 11/21/2023
4.3.3 141 11/20/2023
4.3.2 146 11/20/2023
4.3.1 153 11/20/2023
4.3.0 135 11/20/2023
4.2.1 159 11/17/2023
4.2.0 151 11/17/2023
4.1.0 137 11/17/2023
4.0.0 156 11/15/2023
3.10.0 138 11/15/2023
3.9.0 146 11/15/2023
3.8.4 155 11/10/2023
3.8.3 133 11/10/2023
3.8.2 117 11/10/2023
3.8.1 161 11/10/2023
3.8.0 149 11/9/2023
3.7.0 154 11/8/2023
3.6.1 152 11/8/2023
3.6.0 152 11/7/2023
3.5.2 156 11/6/2023
3.5.1 141 11/3/2023
3.5.0 141 11/3/2023
3.4.0 162 10/25/2023
3.3.0 173 10/23/2023
3.2.0 173 10/19/2023
3.1.1 163 10/18/2023
3.1.0 147 10/18/2023
3.0.1 171 10/16/2023
2.1.4 189 7/14/2023
2.1.3 197 6/22/2023
2.1.2 189 5/31/2023
2.1.1 171 5/25/2023
2.1.0 226 4/4/2023