Skip to content

Conversation

MattEdwardsWaggleBee
Copy link
Member

Description

This release includes minor cleanup and the following new Lab Extensions:
- Fetch
- Json
- JsonPath
- Map
- Reduce

Lab Extensions are prototypes of additional features that might be useful; they may change over time or get moved to the main extensions project.

github-actions bot and others added 22 commits March 28, 2025 11:47
* Add Support for IEnumerable Yield (#62)
  * Added new YieldStateMachineBuilder to handle IEnumerable
  * Refactored lowering into subclasses
  * Refactored StateMachineContext
* Initial document and tests for enumerable For, Foreach, While


---------

Co-authored-by: Matt Edwards <matthew.edwards@wagglebee.net>
MS has a bug with TryFault and preferInterpretation, so switched to tracking returns and using a Try/Finally
- New Inject<T>() Expression to help with DI
- New ConfigurationValue<T>() Expression to help with getting Config values
- New Compile extension to help support DI and Configuration

---------

Co-authored-by: Matt Edwards <matthew.edwards@wagglebee.net>
* Fix issue with using and double variable resolver
* Introduces a new "lab" project for experimenting with expressions.

Adds a FetchExpression for making HTTP requests within expression trees,
leveraging IHttpClientFactory for named client support and header/content
customization.

Includes JsonExpression and JsonPathExpression for deserializing JSON
data into specified types or extracting data using JSON Path, integrating
with JsonSerializerOptions from the service provider.

* Adds expression extensions for data manipulation

Introduces `Map` and `Reduce` expressions for transforming collections within expression trees, enabling advanced data manipulation.

Add extension methods to `FetchExpression` to simplify reading response content as JSON, text, bytes, or stream, enhancing web request processing capabilities.

---------

Co-authored-by: Matt Edwards <matthew.edwards@wagglebee.net>
Modifies the expression compilation process to directly return the compiled result, removing the unnecessary wrapping of the expression in a `Func<>`.

This enhancement supports all delegates and prevents unnecessary casting or wrapping.
@MattEdwardsWaggleBee MattEdwardsWaggleBee merged commit 387fee0 into main May 9, 2025
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant