Skip to content

Releases: modabas/ModResults

1.3.2

Choose a tag to compare

@modabas modabas released this 25 Mar 10:56
ba4e16f

What's Changed

  • Add static factory method FailureResult.From() to convert any BaseResult<Failure> type (e.g. Result, Result<TValue>) into FailureResult.
  • Introduce AsResult() conversion methods for Result and Result<TValue>. These methods wrap Failure/Statements properties of source result instead of creating new property objects and copying information, which ToResult() do.
  • Add wrapSourceProperties param to static Fail methods of Result and Result<TValue>, for control over wrapping vs copying. Wrapping is now default behavior.
  • Add tests for new features and behaviors.
  • Update documentation.

Full Changelog: 1.3.1...1.3.2

1.3.1

Choose a tag to compare

@modabas modabas released this 23 Mar 10:04
3f78714

What's Changed

  • Introduce BaseBusinessResult<TSelf> as an intermediary base to Result types to consolidate various methods that return result object itself into one place and remove duplication,
  • Introduce FailureResult object that represents a business result in failed state to ease creation of Result without specifying TValue implicitly,
  • Add extension methods, implicit operators and Orleans serialization surrogates to FailureResult similar to Result and Result<TValue>,
  • Add AsResult() extension methods to result types and make implicit conversions to use these methods instead of ToResult() methods,
  • Reorganize extension methods for various types,
  • Update documentation,
  • Add tests,

Full Changelog: 1.3.0...1.3.1

1.3.0

Choose a tag to compare

@modabas modabas released this 02 Mar 08:45
5062f04

What's Changed

Introduces a refactor of the ModResults library, optimizing memory usage for empty results, unifying result types under new base abstractions, and modernizing extension methods using C# 14 features. It also enhances API consistency, improves Minimal API integration, and updates serialization logic.

  • BaseResult.cs: Adds new abstract base result classes and centralizes statements/facts/warnings logic.
  • Failure.cs, Statements.cs: Refactors to use nullable collections and adds HasErrors(), HasFacts(), and HasWarnings() methods for efficient memory usage.
  • Static failed result factory methods now use params IEnumerable<T> as input parameters instead of params T[].
  • Extension and conversion files (e.g., ResultFactExtensions.cs, ResultWarningExtensions.cs, ResultConversionExtensions.cs): Refactored to use C# 14 extension syntax and new base types for more flexible and type-safe APIs.
  • ModResults.MinimalApis: Introduces TypedResultsExtensions for improved Minimal API error handling and status code mapping.
  • updates to Orleans surrogates for efficient serialization.
  • removed IStatements interface.

Full Changelog: 1.2.1...1.3.0

1.3.0-preview1

1.3.0-preview1 Pre-release
Pre-release

Choose a tag to compare

@modabas modabas released this 22 Feb 11:40
d672211

What's Changed

Introduces a refactor of the ModResults library, optimizing memory usage for empty results, unifying result types under new base abstractions, and modernizing extension methods using C# 14 features. It also enhances API consistency, improves Minimal API integration, and updates serialization logic.

  • BaseResult.cs: Adds new abstract base result classes and centralizes statements/facts/warnings logic.
  • Failure.cs, Statements.cs: Refactors to use nullable collections and adds HasErrors(), HasFacts(), and HasWarnings() methods for efficient memory usage.
  • Static failed result factory methods now use params IEnumerable<T> as input parameters instead of params T[].
  • Extension and conversion files (e.g., ResultFactExtensions.cs, ResultWarningExtensions.cs, ResultConversionExtensions.cs): Refactored to use C# 14 extension syntax and new base types for more flexible and type-safe APIs.
  • ModResults.MinimalApis: Introduces TypedResultsExtensions for improved Minimal API error handling and status code mapping.
  • updates to Orleans surrogates for efficient serialization.
  • removed IStatements interface.

Full Changelog: 1.2.1...1.3.0-preview1

1.2.1

Choose a tag to compare

@modabas modabas released this 04 Feb 09:39
8e9a325

What's Changed

Full Changelog: 1.2.0...1.2.1

1.2.0

Choose a tag to compare

@modabas modabas released this 21 Jan 18:59
f85a035

What's Changed

Full Changelog: 1.1.1...1.2.0

1.1.1

Choose a tag to compare

@modabas modabas released this 25 Dec 14:15
4db10be

What's Changed

Full Changelog: 1.1.0...1.1.1

1.1.0

Choose a tag to compare

@modabas modabas released this 16 Oct 07:00
0563d62

What's Changed

Full Changelog: 1.0.2...1.1.0

1.0.2

Choose a tag to compare

@modabas modabas released this 21 Jul 07:16
5842c26

What's Changed

Full Changelog: 1.0.1...1.0.2

1.0.1

Choose a tag to compare

@modabas modabas released this 12 May 07:14
8d74a33

What's Changed

Full Changelog: 1.0.0...1.0.1