Skip to content

Repository files navigation

GraphQlQueryBuilder

How to

// GraphQL query in request builder representation with friendly API
letquery=GraphQLQuery{From("posts"){Field("id")}}
// Builder query parser, generate query in [String: Any] type
letparser=GraphQlParser(query: query)letparsedQuery= parser.parseToDictionary(for:GraphQlMethod.query)
// Create request with GraphQL query
leturl=URL(string:"https://example.com")varrequest=trygetRequest(for: url)
request.httpBody =tryJSONSerialization.data(withJSONObject: parsedQuery)
// Send request to any GraphQL backend
URLSession.shared.dataTaskPublisher(for: request).map(\.data).tryMap{ data ->[String:Any]inguardlet json =tryJSONSerialization.jsonObject(with: data)as?[String:Any]else{throwError.objectIsNotValidJson
}return json
}.sink{ result inif case let.failure(error)= result {print(error)}} receiveValue:{ model inprint(model)}

About

Simple query builder for GraphQL

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages