case class ScalarType[T](name: String, description: Option[String] = None, coerceUserInput: (Any) ⇒ Either[Violation, T], coerceOutput: (T, Set[MarshallerCapability]) ⇒ Any, coerceInput: (ast.Value) ⇒ Either[Violation, T], complexity: Double = 0.0d, scalarInfo: Set[ScalarValueInfo] = Set.empty, astDirectives: Vector[ast.Directive] = Vector.empty, astNodes: Vector[AstNode] = Vector.empty) extends InputType[@@[T, CoercedScalaResult]] with OutputType[T] with LeafType with NullableType with UnmodifiedType with Named with Product with Serializable
Defines a GraphQL scalar value type.
coerceOutput is allowed to return following scala values:
- String
- Boolean
- Int
- Long
- Float
- Double
- scala.BigInt
- scala.BigDecimal
- sangria.ast.Value (it would be converted to raw scala value before given to a marshalling API)
It may also return other values as well as long as underlying marshalling library supports them.
You can provide additional meta-information to marshalling API with scalarInfo.
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- ScalarType
- Serializable
- Serializable
- Product
- Equals
- UnmodifiedType
- NullableType
- LeafType
- HasAstInfo
- Named
- HasDescription
- OutputType
- InputType
- Type
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Instance Constructors
- new ScalarType(name: String, description: Option[String] = None, coerceUserInput: (Any) ⇒ Either[Violation, T], coerceOutput: (T, Set[MarshallerCapability]) ⇒ Any, coerceInput: (ast.Value) ⇒ Either[Violation, T], complexity: Double = 0.0d, scalarInfo: Set[ScalarValueInfo] = Set.empty, astDirectives: Vector[ast.Directive] = Vector.empty, astNodes: Vector[AstNode] = Vector.empty)
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
val
astDirectives: Vector[ast.Directive]
- Definition Classes
- ScalarType → HasAstInfo
-
val
astNodes: Vector[AstNode]
- Definition Classes
- ScalarType → HasAstInfo
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
- val coerceInput: (ast.Value) ⇒ Either[Violation, T]
- val coerceOutput: (T, Set[MarshallerCapability]) ⇒ Any
- val coerceUserInput: (Any) ⇒ Either[Violation, T]
- val complexity: Double
-
val
description: Option[String]
- Definition Classes
- ScalarType → HasDescription
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
lazy val
isList: Boolean
- Definition Classes
- InputType
-
lazy val
isNamed: Boolean
- Definition Classes
- InputType
-
lazy val
isOptional: Boolean
- Definition Classes
- InputType
-
val
name: String
- Definition Classes
- ScalarType → Named
-
def
namedInputType: InputType[_]
- Definition Classes
- InputType
-
def
namedType: Type with Named
- Definition Classes
- Type
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
lazy val
nonOptionalType: InputType[Any]
- Definition Classes
- InputType
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
rename(newName: String): ScalarType.this.type
- Definition Classes
- ScalarType → Named
- val scalarInfo: Set[ScalarValueInfo]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
- def toAst: TypeDefinition
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()