summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Navarro <j@dannynavarro.net>2016-02-22 13:59:38 +0100
committerDanny Navarro <j@dannynavarro.net>2016-02-22 13:59:38 +0100
commitd8a731fe30ce800ac8347a902f38373d6cf689b2 (patch)
treee66eab79a62fb28a33b7ec6f5ecc6cba9be62927
parent770df827181f71b87aa286910cc7873a34edcede (diff)
downloadgraphql-d8a731fe30ce800ac8347a902f38373d6cf689b2.tar.gz
Remove `StringValue` type
-rw-r--r--Data/GraphQL/AST.hs4
-rw-r--r--Data/GraphQL/Encoder.hs4
-rw-r--r--Data/GraphQL/Execute.hs2
-rw-r--r--Data/GraphQL/Parser.hs4
-rw-r--r--Data/GraphQL/Schema.hs1
-rw-r--r--tests/Test/StarWars/Schema.hs4
6 files changed, 8 insertions, 11 deletions
diff --git a/Data/GraphQL/AST.hs b/Data/GraphQL/AST.hs
index 1303908..2703a5b 100644
--- a/Data/GraphQL/AST.hs
+++ b/Data/GraphQL/AST.hs
@@ -68,14 +68,12 @@ data Value = ValueVariable Variable
-- GraphQL Float is double precison
| ValueFloat Double
| ValueBoolean Bool
- | ValueString StringValue
+ | ValueString Text
| ValueEnum Name
| ValueList ListValue
| ValueObject ObjectValue
deriving (Eq,Show)
-newtype StringValue = StringValue Text deriving (Eq,Show)
-
newtype ListValue = ListValue [Value] deriving (Eq,Show)
newtype ObjectValue = ObjectValue [ObjectField] deriving (Eq,Show)
diff --git a/Data/GraphQL/Encoder.hs b/Data/GraphQL/Encoder.hs
index 9eed849..2b7e239 100644
--- a/Data/GraphQL/Encoder.hs
+++ b/Data/GraphQL/Encoder.hs
@@ -106,8 +106,8 @@ booleanValue True = "true"
booleanValue False = "false"
-- TODO: Escape characters
-stringValue :: StringValue -> Text
-stringValue (StringValue v) = quotes v
+stringValue :: Text -> Text
+stringValue = quotes
listValue :: ListValue -> Text
listValue (ListValue vs) = bracketsCommas value vs
diff --git a/Data/GraphQL/Execute.hs b/Data/GraphQL/Execute.hs
index 8d0335d..47d1d03 100644
--- a/Data/GraphQL/Execute.hs
+++ b/Data/GraphQL/Execute.hs
@@ -37,5 +37,5 @@ substitute _ sel = sel
-- TODO: Support different value types
subsArg :: Schema.Subs -> Argument -> Maybe Argument
subsArg subs (Argument n (ValueVariable (Variable v))) =
- Argument n . ValueString . StringValue <$> subs v
+ Argument n . ValueString <$> subs v
subsArg _ arg = Just arg
diff --git a/Data/GraphQL/Parser.hs b/Data/GraphQL/Parser.hs
index 1f5b8e6..6658af0 100644
--- a/Data/GraphQL/Parser.hs
+++ b/Data/GraphQL/Parser.hs
@@ -169,8 +169,8 @@ booleanValue = True <$ tok "true"
<|> False <$ tok "false"
-- TODO: Escape characters. Look at `jsstring_` in aeson package.
-stringValue :: Parser StringValue
-stringValue = StringValue <$> quotes (takeWhile (/= '"'))
+stringValue :: Parser Text
+stringValue = quotes (takeWhile (/= '"'))
-- Notice it can be empty
listValue :: Parser ListValue
diff --git a/Data/GraphQL/Schema.hs b/Data/GraphQL/Schema.hs
index 10cd691..1c45af2 100644
--- a/Data/GraphQL/Schema.hs
+++ b/Data/GraphQL/Schema.hs
@@ -18,7 +18,6 @@ module Data.GraphQL.Schema
, Field
, Argument(..)
, Value(..)
- , StringValue(..)
) where
#if !MIN_VERSION_base(4,8,0)
diff --git a/tests/Test/StarWars/Schema.hs b/tests/Test/StarWars/Schema.hs
index ffe16ad..096ccb3 100644
--- a/tests/Test/StarWars/Schema.hs
+++ b/tests/Test/StarWars/Schema.hs
@@ -28,12 +28,12 @@ hero = Schema.objectA "hero" $ \case
human :: Alternative f => Resolver f
human = Schema.objectA "human" $ \case
- [Argument "id" (ValueString (StringValue i))] -> character =<< getHuman i
+ [Argument "id" (ValueString i)] -> character =<< getHuman i
_ -> empty
droid :: Alternative f => Resolver f
droid = Schema.objectA "droid" $ \case
- [Argument "id" (ValueString (StringValue i))] -> character =<< getDroid i
+ [Argument "id" (ValueString i)] -> character =<< getDroid i
_ -> empty
character :: Alternative f => Character -> [Resolver f]