Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Releases/1.5 #161

Merged
merged 24 commits into from
Sep 14, 2019
Merged

Releases/1.5 #161

merged 24 commits into from
Sep 14, 2019

Conversation

SteveWilkes
Copy link
Member

No description provided.

SteveWilkes and others added 24 commits May 9, 2019 18:48
* Adding intermediate-step ConstructionInfos to determine constructability without always creating the construction Expression

* Checking object constructability using ConstructionInfos

* Tidying

* - Populating members with a matching constructor parameter that might not be used
- Respecting single-data-source population conditions for readonly member populations

* Fixing mapping validation detection of unconstructable members
* Support for root enum pairing

* Test coverage for nullable target enums and out-of-range source enum values

* Test coverage for root enum mapping

* Support for mapping callbacks around root enum mapping
* Always allowing entity key mapping in projections

* Allowing entity key mapping for view models and DTOs
* Taking a source interface's implemented interfaces into account when matching source members

* Test coverage for configured interface source member
* Removing unused dictionary member population code and optimising

* QueryString class test coverage

* Optimising DictionaryTargetMember.TryGetMappingBody, IList.Append(IList) and MappingFactory.UseLocalValueVariable

* Tidying

* Removing unused code

* Test coverage for ExpressionInfoFinder index logic

* Extending array index data source code coverage

* Extending test coverage for index expression data sources

* Using instance mapper

* Updating to v2.3.1 of ReadableExpressions
Removing Index tests from .NET 3.5 tests

* Adding coverage TODOs

* Increasing data source reversal test coverage / Lazy-loading ExpressionInfoFinder collection members

* Fixing reverse data source test coverage

* Increasing code coverage / Removing unused or obselete code
* ToTarget changes

* Tidying

* Removing Newtonsoft dependency

* Optimising deep clone member-matching

* Support for simple type to enumerable ToTarget data sources

* Tidying

* Fixing tests
* Updating ReadableExpressions to v2.3.2

* Tidying

* Moving member population logic into MemberPopulator from DataSourceSet and MemberPopulationFactory

* Optimising Array Prepend + Append calls

* Organising fallback data sources

* Moving logic into EnumerableTypeHelper

* Avoiding yielding null expressions from population factory

* Tidying
* Renames

* Creating DataSourceSets to generate root mapping Expressions

* Removing unused MappingExpressionFactory code

* Removing ExpressionFactory singleton instances

* Switching DataSourceFactory to a delegate

* Adding ComplexTypeDataSource factory methods

* Start of generating derived type mappings via data sources

* Rearranging derived type mapping generation

* Adding condition-or-default helper method

* Handling unconditional derived type mappings

* Detecting derived new element mappings

* Fixing derived type mapping, all tests pass!

* Organising data source factory files
* Support for ignoring a given source member
Tidying

* Reusing created variable value

* Switching single-method interfaces to delegates

* Features/member population context (#159)

* Reusing created variable value

* Switching single-method interfaces to delegates

* Adding MemberPopulationContext

* Avoiding capture creation in .Project()

* Avoiding capture creation in .Filter()

* Avoiding closure creation in .FirstOrDefault()

* Avoiding closure creation in .First()

* Reusing MemberPopulationContext and DataSourceFindContext throughout complex type member population creation

* Start of SourceMemberMatchContext
Tidying

* Adding reuseable SourceMemberMatchContext

* Tidying

* Support for conditional member ignores

* Erroring if redundant source ignore configured

* Support for all-target source member ignores / Test coverage for ignoring a write-only source member

* Invalid configuration test coverage

* Fixing configured source member ignore conflict detection

* Extra test coverage

* Extending test coverage

* Support for extending source ignores in inline configuration

* Test coverage for incorrect inline source ignore configuration

* Start of support for ignoring source members by filter

* Support for ignoring source members by filter

* Erroring if invalid source member filters are specified

* Extending test coverage for global source filters

* Support for maptime ignoring of source members by derived type

* Splitting source member ignore classes

* Splitting target member ignore classes

* Renaming ignore classes

* Moving shared member ignore logic into interface extension methods

* Optimising single-value DataSourceSets
Renames

* Basic source value filter support

* Support for global object-value filters

* Test coverage for multi-clause global typed source value filter

* Extending test coverage

* Renames

* Support for filtering simple type source enumerable element values

* Extending test coverage

* Test coverage for filtering a simple type configured data source

* Updating test

* Not falling back to a default data source if a configured data source has no default matching source member

* Optimising source value filter creation

* Tidying

* Support for maptime-checked derived source type filters

* Test coverage for source value filter-ignored runtime typed derived sources

* Extending test coverage

* Support for inline-configured source value filters and overlapping multiple source value filters

* Removing duplicate filter application / Start of handling null nested members in value filter expressions

* Support for nested access checking in source value filters

* Support for combining conditional data sources with inline source value filters

* Erroring if duplicate source value filters are defined

* Erroring if empty source filter configured

* Extra test coverage

* Support for conditional source value filters using the If() syntax

* Organising source value filter classes

* Adding / updating documentation

* Updating release notes
@SteveWilkes SteveWilkes merged commit 1056f58 into master Sep 14, 2019
@SteveWilkes SteveWilkes deleted the releases/1.5 branch September 14, 2019 16:57
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