Rework interfaces and implementations #631
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
TypeMappings
. This might give a noticeable performance improvement forValueMapping
. Now that this indexing in centralised inTypeMappings
, the per-ObjectMapping
field indices have been removed. If this proves problematic for applications it could be reinstated.implements
clauses.allInterfaces
method onInterfaceType
has been deprecated because with the preceding validation change it is equivalent tointerfaces
.Mapping
-specific logic ofmkCursorForField
has been extracted tomkCursorForMappedField
allowing simpler mapping-specific implementations.Schema#implementations
which returns the implementing object types of an interface.unsafe
TypeMappings
constructor has been deprecated and renamed tounchecked
.TypeMappings#unsafe
has been renamed tounchecked
and hiddenhasField
,nullableHasField
,hasPath
andhasListPath
inCursor
had incorrect semantics and appear to be unused, so rather than fix them, they have been removed.