File tree 2 files changed +6
-1
lines changed
2 files changed +6
-1
lines changed Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ import Data.Bifunctor (class Bifunctor)
7
7
import Data.Maybe (Maybe )
8
8
import Data.Newtype (class Newtype )
9
9
import Data.Symbol (class IsSymbol )
10
+ import Data.Variant (Variant )
10
11
import GraphQL.Client.Args.AllowedMismatch (AllowedMismatch )
11
12
import GraphQL.Client.AsGql (AsGql )
12
13
import GraphQL.Client.NullArray (NullArray )
@@ -70,7 +71,8 @@ class ArgGqlAt at params arg
70
71
instance argAsGql :: ArgGqlAt at param arg => ArgGqlAt at (AsGql gqlName param ) arg
71
72
else instance argToGqlNotNull :: (IsNotNull at param arg , ArgGqlAt at param arg ) => ArgGqlAt at (NotNull param ) arg
72
73
else instance argToGqlIgnore :: ArgGqlAt at param IgnoreArg
73
- else instance argVarJson :: ArgGqlAt at Json (Var sym Json ) -- Json can only be used with a variable
74
+ else instance argToGqlVariant :: (Union r () params ) => ArgGqlAt at (Variant params ) (Variant r )
75
+ else instance argVarJson :: ArgGqlAt at Json (Var sym Json ) -- Json can only be used with a variable
74
76
else instance argToGqlJsonNotAllowed :: TE.Fail (TE.Text " A `Json` query argument can only be used as a variable " ) => ArgGqlAt at Json Json
75
77
else instance argVar :: ArgGqlAt at param arg => ArgGqlAt at param (Var sym arg )
76
78
else instance argToGqlArrayNull :: ArgGqlAt at (Array param ) NullArray
Original file line number Diff line number Diff line change @@ -56,6 +56,7 @@ import Data.String.Regex.Flags (global)
56
56
import Data.String.Regex.Unsafe (unsafeRegex )
57
57
import Data.Symbol (class IsSymbol , reflectSymbol )
58
58
import Data.Time (Time )
59
+ import Data.Variant (Unvariant (..), Variant , unvariant )
59
60
import Foreign (Foreign )
60
61
import Foreign.Object (Object )
61
62
import Foreign.Object as Object
@@ -317,6 +318,8 @@ else instance gqlArgStringErrorBoundary :: GqlArgString a => GqlArgString (Error
317
318
toGqlArgStringImpl (ErrorBoundary a) = toGqlArgStringImpl a
318
319
else instance gqlArgStringAllowedMismatch :: GqlArgString a => GqlArgString (AllowedMismatch t a ) where
319
320
toGqlArgStringImpl = unwrap >>> toGqlArgStringImpl
321
+ else instance gqlargVariant :: GqlArgString (Variant r ) where
322
+ toGqlArgStringImpl v = unvariant v # \(Unvariant f) -> f \p _ -> reflectSymbol p
320
323
else instance gqlArgStringVar :: IsSymbol sym => GqlArgString (Var sym a ) where
321
324
toGqlArgStringImpl _ = " $" <> reflectSymbol (Proxy :: Proxy sym )
322
325
else instance gqlArgStringOrArg ::
You can’t perform that action at this time.
0 commit comments