FSharp.Data.GraphQL
FSharp.Data.GraphQL copied to clipboard
Extend property tracker for abstract types
Currently property tracker has 2 cases:
Direct(for tracker leaf nodes)Compose(for nodes with children).
The problem here may be how to deal with conditionally tracked properties (using GraphQL abstract types) - they are represented as tree of possible types and their field mappings in ResolveAbstraction execution plan part, but so far they don't have a correct equivalent in property trackers.
Idea here is to add two additional property tree cases:
TypeDependent(wrapping other tree node with additional type condition)Inconclusive(special case, when we are no longer able to construct a property tracker due to i.e. node being passed to a method call that cannot be introspected)
/cc #100