Define GraphQL inputs in Elm
Internal.Argument
Represents a GraphQL argument values.
Json.Encode.Value
Represents a JavaScript value.
string : String -> Argument
Pass string argument into a graph.
GraphQL.Selector.field "fieldName"
[ ( "asString", GraphQL.Argument.string "foo" )
]
GraphQL.Selector.int
Equals to:
"""
fieldName(asString: "foo")
"""
int : Basics.Int -> Argument
Pass int argument into a graph.
GraphQL.Selector.field "fieldName"
[ ( "asInt", GraphQL.Argument.int 1 )
]
GraphQL.Selector.int
Equals to:
"""
fieldName(asInt: 1)
"""
float : Basics.Float -> Argument
Pass float argument into a graph.
GraphQL.Selector.field "fieldName"
[ ( "asFloat", GraphQL.Argument.float 3.14 )
]
GraphQL.Selector.int
Equals to:
"""
fieldName(asFloat: 3.14)
"""
bool : Basics.Bool -> Argument
Pass bool argument into a graph.
GraphQL.Selector.field "fieldName"
[ ( "asBool", GraphQL.Argument.bool True )
]
GraphQL.Selector.int
Equals to:
"""
fieldName(asBool: true)
"""
null : Argument
Pass null argument into a graph.
GraphQL.Selector.field "fieldName"
[ ( "asNull", GraphQL.Argument.null )
]
GraphQL.Selector.int
Equals to:
"""
fieldName(asNull: null)
"""
nullable : (a -> Argument) -> Maybe a -> Argument
Pass nullable argument into a graph.
GraphQL.Selector.field "fieldName"
[ ( "asString", GraphQL.Argument.nullable GraphQL.Argument.string (Just "foo") )
, ( "asNull", GraphQL.Argument.nullable GraphQL.Argument.string Nothing )
]
GraphQL.Selector.int
Equals to:
"""
fieldName(
asString: "foo",
asNull: null
)
"""
list : List Argument -> Argument
Pass list of arguments into a graph.
GraphQL.Selector.field "fieldName"
[ ( "asInConsistentArray"
, GraphQL.Argument.list
[ GraphQL.Argument.string "foo"
, GraphQL.Argument.int 0
, GraphQL.Argument.list [ GraphQL.Argument.bool False ]
]
)
, ( "asConsistentArray"
, GraphQL.Argument.list
[ GraphQL.Argument.int 0
, GraphQL.Argument.int 1
, GraphQL.Argument.int 2
]
)
]
GraphQL.Selector.int
Equals to:
"""
fieldName(
asInConsistentArray: ["foo", 0, [false]],
asConsistentArray: [0, 1, 2]
)
"""
listOf : (a -> Argument) -> List a -> Argument
Pass list of specific arguments into a graph.
GraphQL.Selector.field "fieldName"
[ ( "asArray"
, GraphQL.Argument.listOf GraphQL.Argument.int [ 0, 1, 2 ]
)
]
GraphQL.Selector.int
Equals to:
"""
fieldName(
asArray: [0, 1, 2]
)
"""
array : Array Argument -> Argument
Pass array of arguments into a graph.
GraphQL.Selector.field "fieldName"
[ ( "asInConsistentArray"
, GraphQL.Argument.array
(Array.fromList
[ GraphQL.Argument.string "foo"
, GraphQL.Argument.int 0
, GraphQL.Argument.array (Array.fromList [ GraphQL.Argument.bool False ])
]
)
)
, ( "asConsistentArray"
, GraphQL.Argument.array
(Array.fromList
[ GraphQL.Argument.int 0
, GraphQL.Argument.int 1
, GraphQL.Argument.int 2
]
)
)
]
GraphQL.Selector.int
Equals to:
"""
fieldName(
asInConsistentArray: ["foo", 0, [false]],
asConsistentArray: [0, 1, 2]
)
"""
arrayOf : (a -> Argument) -> Array a -> Argument
Pass array of specific arguments into a graph.
GraphQL.Selector.field "fieldName"
[ ( "asArray"
, GraphQL.Argument.arrayOf GraphQL.Argument.int (Array.fromList [ 0, 1, 2 ])
)
]
GraphQL.Selector.int
Equals to:
"""
fieldName(
asArray: [0, 1, 2]
)
"""
setOf : (a -> Argument) -> Set a -> Argument
Pass set of specific arguments into a graph.
GraphQL.Selector.field "fieldName"
[ ( "asArray"
, GraphQL.Argument.setOf GraphQL.Argument.int (Set.fromList [ 0, 2, 1, 0 ])
)
]
GraphQL.Selector.int
Equals to:
"""
fieldName(
asArray: [0, 1, 2]
)
"""
object : List ( String, Argument ) -> Argument
Pass object of arguments into a graph.
GraphQL.Selector.field "fieldName"
[ ( "asObject"
, GraphQL.Argument.object
[ ( "asString", GraphQL.Argument.string "foo" )
, ( "asInt", GraphQL.Argument.int 1 )
, ( "asFloat", GraphQL.Argument.float 3.14 )
, ( "asBool", GraphQL.Argument.bool True )
, ( "asNull", GraphQL.Argument.null )
]
)
]
GraphQL.Selector.int
Equals to:
"""
fieldName(asObject: {
asString: "foo",
asInt: 1,
asFloat: 3.14,
asBool: true,
asNull: null
})
"""
dictOf : (k -> String) -> (v -> Argument) -> Dict k v -> Argument
Pass dict of arguments into a graph.
GraphQL.Selector.field "fieldName"
[ ( "asObject"
, GraphQL.Argument.dictOf
String.fromInt
GraphQL.Argument.string
(Dict.fromList
[ ( 2, "second" )
, ( 1, "first" )
, ( 3, "third" )
]
)
)
]
GraphQL.Selector.int
Equals to:
"""
fieldName(asObject: {
1: "first",
2: "second",
3: "third"
})
"""
toValue : Argument -> Value
Convert Argument
into Value
.
GraphQL.Argument.toValue (GraphQL.Argument.string "hello") == Json.Encode.string "hello"
GraphQL.Argument.toValue (GraphQL.Argument.bool True) == Json.Encode.bool True
GraphQL.Argument.toValue GraphQL.Argument.null == Json.Encode.null
GraphQL.Argument.toValue (GraphQL.Argument.listOf GraphQL.Argument.int [ 0, 1, 2 ])
== Json.Encode.listOf Json.Encode.int [ 0, 1, 2 ]