0 | module HTTP.API.Client.Query
2 | import HTTP.API.Client.Interface
7 | queryTypes : (fs : List QField) -> TList (QueryTypes fs)
9 | queryTypes ((_ ?? t) :: xs) = t :: queryTypes xs
10 | queryTypes (QBool _ :: xs) = Bool :: queryTypes xs
14 | -> All Encode (QueryConstraintTypes fs)
15 | -> HList (QueryTypes fs)
18 | qus ((n ?? t)::fs) (e::es) (v::vs) = (n,QVal $
encode v)::qus fs es vs
19 | qus (QBool n ::fs) es (v::vs) =
20 | if v then (n,QEmpty)::qus fs es vs else qus fs es vs
23 | Receive ReqQuery where
24 | RecConstraint q = All Encode (QueryConstraintTypes q.fields)
25 | RecTypes q = QueryTypes q.fields
26 | recs q = queryTypes q.fields
27 | adjRequest q vs r = adjURI {queries $= (qus q.fields con vs ++)} r
30 | GetResponse ReqQuery where
31 | RespEncodings _ = []