v0.3.0
-
#45 - Added
Long
scalar type -
#49 -
UpdateCtxAction
should also work for query types -
#50 - Sanity check - fields should have unique name within the same type definition
-
#31, #32 - More test coverage for "projections" and "deferred" features
-
#51 - Custom exception handler now should return
message
and list of additional filed -
The
interfaces
property syntax changed. In order to ensure type safety, improve type inference and allow type-class based relations betweenInterfaceType
andObjectType
you now need to use following syntax:val PersonType = ObjectType("Person", interfaces = interfaces[Unit, Person](NamedType, BeingType), fields = ...)
instead of old syntax
val PersonType = ObjectType[Unit, Person]("Person", interfaces = NamedType :: BeingType :: Nil, fields = ...) // or val PersonType = ObjectType[Unit, Person]("Person", interfaces = List(NamedType, BeingType), fields = ...)
-
Fields in
ObjectType
andInterfaceType
got small convenience method fields. You now can use it like this:val DogType = ObjectType("Dog", fields[Unit, Dog]( Field("name", OptionType(StringType), resolve = _.value.name), Field("barks", OptionType(BooleanType), resolve = _.value.barks)))
-
withPossibleTypes
was introduced onInterfaceType
andField
in order to provide a convenient way to the list of possible implementation types of interface -
Added convenience method
Executor.execute
-
Other minor improvements to make sangria-relay possible