Skip to content

[FEATURE]: Create Labs Project for Ideas and Samples#72

Merged
MattEdwardsWaggleBee merged 7 commits into
developfrom
feature/71-feature-create-labs-project-for-ideas-and-samples
Apr 17, 2025
Merged

[FEATURE]: Create Labs Project for Ideas and Samples#72
MattEdwardsWaggleBee merged 7 commits into
developfrom
feature/71-feature-create-labs-project-for-ideas-and-samples

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

Original issue description

Tell us about your idea

Create a Labs for expression that might be useful, but are not ready to be moved into the main library

Anything else?

No response

closes #71

@github-actions github-actions Bot added the feature New feature or request label Apr 10, 2025
MattEdwardsWaggleBee and others added 6 commits April 10, 2025 10:00
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.
Introduces `Map` and `Reduce` expressions for transforming collections within expression trees, enabling advanced data manipulation.

Adds extension methods to `FetchExpression` to simplify reading response content as JSON, text, bytes, or stream, enhancing web request processing capabilities.
@MattEdwardsWaggleBee MattEdwardsWaggleBee marked this pull request as ready for review April 17, 2025 15:09
@MattEdwardsWaggleBee MattEdwardsWaggleBee merged commit 948eb80 into develop Apr 17, 2025
@MattEdwardsWaggleBee MattEdwardsWaggleBee deleted the feature/71-feature-create-labs-project-for-ideas-and-samples branch April 17, 2025 16:35
MattEdwardsWaggleBee added a commit that referenced this pull request May 9, 2025
* [FEATURE]: Add Support for IEnumerable Yield (#62)

* 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>

* Renamed some of the class to reflect being Enumerable vs yield

* clean up and simplify documentation

* Fix issue with preferInterpretation

MS has a bug with TryFault and preferInterpretation, so switched to tracking returns and using a Try/Finally

* clean up

* Clean up test and submit bug to dotnet/runtime

* Previous version was 'v1.1.4'. Version now 'v1.1.5'.

* [FEATURE]: Add Support for Dependency Injection and Configuration (#67)

- 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>

* updates for passing type

* Updated code formatting to match rules in .editorconfig

* Expose properties for Inject and Config

* Add Delegate based service provider Compile

* update readme

* Updated code formatting to match rules in .editorconfig

* [FEATURE]: Create Labs Project for Ideas and Samples (#72)

* 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>

* Previous version was 'v1.1.5'. Version now 'v1.2.0'.

* Simplifies expression compilation.

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.

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: MattEdwardsWaggleBee <MattEdwardsWaggleBee@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant