Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- newtype GraphQLType = GraphQLType {
- unGraphQLType :: GType
- isListType :: GraphQLType -> Bool
- isNullableType :: GraphQLType -> Bool
- isInBuiltScalar :: Text -> Bool
- data CustomTypes = CustomTypes {}
- emptyCustomTypes :: CustomTypes
- data InputObjectTypeDefinition = InputObjectTypeDefinition {
- _iotdName :: InputObjectTypeName
- _iotdDescription :: Maybe Description
- _iotdFields :: NonEmpty InputObjectFieldDefinition
- newtype InputObjectTypeName = InputObjectTypeName {
- unInputObjectTypeName :: Name
- data InputObjectFieldDefinition = InputObjectFieldDefinition {
- _iofdName :: InputObjectFieldName
- _iofdDescription :: Maybe Description
- _iofdType :: GraphQLType
- newtype InputObjectFieldName = InputObjectFieldName {
- unInputObjectFieldName :: Name
- data ObjectTypeDefinition = ObjectTypeDefinition {
- _otdName :: ObjectTypeName
- _otdDescription :: Maybe Description
- _otdFields :: NonEmpty (ObjectFieldDefinition GraphQLType)
- _otdRelationships :: [TypeRelationshipDefinition]
- newtype ObjectTypeName = ObjectTypeName {
- unObjectTypeName :: Name
- data ObjectFieldDefinition field = ObjectFieldDefinition {
- _ofdName :: ObjectFieldName
- _ofdArguments :: Maybe Value
- _ofdDescription :: Maybe Description
- _ofdType :: field
- newtype ObjectFieldName = ObjectFieldName {
- unObjectFieldName :: Name
- data ScalarTypeDefinition = ScalarTypeDefinition {
- _stdName :: Name
- _stdDescription :: Maybe Description
- defaultGraphQLScalars :: HashMap Name ScalarTypeDefinition
- data EnumTypeDefinition = EnumTypeDefinition {
- _etdName :: EnumTypeName
- _etdDescription :: Maybe Description
- _etdValues :: NonEmpty EnumValueDefinition
- newtype EnumTypeName = EnumTypeName {
- unEnumTypeName :: Name
- data EnumValueDefinition = EnumValueDefinition {
- _evdValue :: EnumValue
- _evdDescription :: Maybe Description
- _evdIsDeprecated :: Maybe Bool
- data TypeRelationshipDefinition = TypeRelationshipDefinition {}
- newtype RelationshipName = RelationshipName {
- unRelationshipName :: Name
- data AnnotatedCustomTypes = AnnotatedCustomTypes {
- _actInputTypes :: HashMap Name AnnotatedInputType
- _actObjectTypes :: HashMap Name AnnotatedObjectType
- data AnnotatedInputType
- data AnnotatedScalarType
- newtype ScalarWrapper b = ScalarWrapper {
- unwrapScalar :: ScalarType b
- data AnnotatedOutputType
- data AnnotatedObjectType = AnnotatedObjectType {
- _aotName :: ObjectTypeName
- _aotDescription :: Maybe Description
- _aotFields :: NonEmpty (ObjectFieldDefinition (GType, AnnotatedObjectFieldType))
- _aotRelationships :: [AnnotatedTypeRelationship]
- data AnnotatedObjectFieldType
- data AnnotatedTypeRelationship = AnnotatedTypeRelationship {}
- trdType :: Lens' TypeRelationshipDefinition RelType
- trdSource :: Lens' TypeRelationshipDefinition SourceName
- trdRemoteTable :: Lens' TypeRelationshipDefinition QualifiedTable
- trdName :: Lens' TypeRelationshipDefinition RelationshipName
- trdFieldMapping :: Lens' TypeRelationshipDefinition (HashMap ObjectFieldName PGCol)
Documentation
newtype GraphQLType Source #
A wrapper around GType
which allows us to define custom JSON
instances.
TODO: this name is ambiguous, and conflicts with Hasura.RQL.DDL.RemoteSchema.Permission.GraphQLType; it should perhaps be renamed, made internal to this module, or removed altogether?
GraphQLType | |
|
Instances
isListType :: GraphQLType -> Bool Source #
isNullableType :: GraphQLType -> Bool Source #
isInBuiltScalar :: Text -> Bool Source #
data CustomTypes Source #
A set of custom GraphQL types, sorted by "kind".
Instances
data InputObjectTypeDefinition Source #
InputObjectTypeDefinition | |
|
Instances
newtype InputObjectTypeName Source #
Instances
data InputObjectFieldDefinition Source #
InputObjectFieldDefinition | |
|
Instances
newtype InputObjectFieldName Source #
Instances
data ObjectTypeDefinition Source #
ObjectTypeDefinition | |
|
Instances
newtype ObjectTypeName Source #
ObjectTypeName | |
|
Instances
data ObjectFieldDefinition field Source #
ObjectFieldDefinition | |
|
Instances
newtype ObjectFieldName Source #
ObjectFieldName | |
|
Instances
data ScalarTypeDefinition Source #
ScalarTypeDefinition | |
|
Instances
defaultGraphQLScalars :: HashMap Name ScalarTypeDefinition Source #
data EnumTypeDefinition Source #
EnumTypeDefinition | |
|
Instances
newtype EnumTypeName Source #
EnumTypeName | |
|
Instances
data EnumValueDefinition Source #
EnumValueDefinition | |
|
Instances
data TypeRelationshipDefinition Source #
TypeRelationshipDefinition | |
|
Instances
newtype RelationshipName Source #
TODO: deduplicate this in favour of RelName
RelationshipName | |
|
Instances
data AnnotatedCustomTypes Source #
While we do not persist resolved types in the schema cache, they are used when building the cache to validate and resolve actions and their relationships.
AnnotatedCustomTypes | |
|
Instances
data AnnotatedInputType Source #
NOCTScalar AnnotatedScalarType | |
NOCTEnum EnumTypeDefinition | |
NOCTInputObject InputObjectTypeDefinition |
Instances
data AnnotatedScalarType Source #
Instances
newtype ScalarWrapper b Source #
Instances
Backend b => Eq (ScalarWrapper b) Source # | |
Defined in Hasura.RQL.Types.CustomTypes (==) :: ScalarWrapper b -> ScalarWrapper b -> Bool # (/=) :: ScalarWrapper b -> ScalarWrapper b -> Bool # |
data AnnotatedOutputType Source #
Instances
data AnnotatedObjectType Source #
AnnotatedObjectType | |
|
Instances
data AnnotatedObjectFieldType Source #
Instances
data AnnotatedTypeRelationship Source #
Instances
trdType :: Lens' TypeRelationshipDefinition RelType Source #
trdSource :: Lens' TypeRelationshipDefinition SourceName Source #
trdFieldMapping :: Lens' TypeRelationshipDefinition (HashMap ObjectFieldName PGCol) Source #