From b862ff0de0789a47640c1b22c3630c02fc2f49f8 Mon Sep 17 00:00:00 2001 From: Reid Mewborne Date: Wed, 18 Nov 2020 11:35:30 -0500 Subject: [PATCH 1/2] moved caliban to scala --- .../swift-objective-c-ios/client/caliban.md | 8 ----- .../swift-objective-c-ios/server/caliban.md | 36 ------------------- 2 files changed, 44 deletions(-) delete mode 100644 src/content/code/language-support/swift-objective-c-ios/client/caliban.md delete mode 100644 src/content/code/language-support/swift-objective-c-ios/server/caliban.md diff --git a/src/content/code/language-support/swift-objective-c-ios/client/caliban.md b/src/content/code/language-support/swift-objective-c-ios/client/caliban.md deleted file mode 100644 index 881e35a0d5..0000000000 --- a/src/content/code/language-support/swift-objective-c-ios/client/caliban.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: Caliban -description: Functional GraphQL library for Scala, with client code generation and type-safe queries. -url: https://ghostdogpr.github.io/caliban/ -github: ghostdogpr/caliban ---- - - diff --git a/src/content/code/language-support/swift-objective-c-ios/server/caliban.md b/src/content/code/language-support/swift-objective-c-ios/server/caliban.md deleted file mode 100644 index 71722002a1..0000000000 --- a/src/content/code/language-support/swift-objective-c-ios/server/caliban.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -name: Caliban -description: Caliban is a purely functional library for building GraphQL servers and clients in Scala -url: https://ghostdogpr.github.io/caliban/ -github: ghostdogpr/caliban ---- - -An example of a GraphQL schema and query with `caliban`: -```scala -case class Character(name: String, age: Int) -def getCharacters(): List[Character] = ??? -def getCharacter(name: String): Option[Character] = ??? -// schema -case class CharacterName(name: String) -case class Queries(characters: List[Character], - character: CharacterName => Option[Character]) -// resolver -val queries = Queries(getCharacters, args => getCharacter(args.name)) -import caliban.GraphQL.graphQL -import caliban.RootResolver -val api = graphQL(RootResolver(queries)) -for { - interpreter <- api.interpreter -} yield interpreter -case class GraphQLResponse[+E](data: ResponseValue, errors: List[E]) -val query = """ - { - characters { - name - } - }""" -for { - result <- interpreter.execute(query) - _ <- zio.console.putStrLn(result.data.toString) -} yield () -``` From fbefe3f3748f1b98af1741fd7c353a9a7d2515b8 Mon Sep 17 00:00:00 2001 From: Reid Mewborne Date: Wed, 18 Nov 2020 11:38:23 -0500 Subject: [PATCH 2/2] moved caliban to scala --- .../language-support/scala/client/caliban.md | 8 +++++ .../language-support/scala/server/caliban.md | 33 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 src/content/code/language-support/scala/client/caliban.md create mode 100644 src/content/code/language-support/scala/server/caliban.md diff --git a/src/content/code/language-support/scala/client/caliban.md b/src/content/code/language-support/scala/client/caliban.md new file mode 100644 index 0000000000..881e35a0d5 --- /dev/null +++ b/src/content/code/language-support/scala/client/caliban.md @@ -0,0 +1,8 @@ +--- +name: Caliban +description: Functional GraphQL library for Scala, with client code generation and type-safe queries. +url: https://ghostdogpr.github.io/caliban/ +github: ghostdogpr/caliban +--- + + diff --git a/src/content/code/language-support/scala/server/caliban.md b/src/content/code/language-support/scala/server/caliban.md new file mode 100644 index 0000000000..9a8bfe0f87 --- /dev/null +++ b/src/content/code/language-support/scala/server/caliban.md @@ -0,0 +1,33 @@ +--- +name: Caliban +description: Caliban is a purely functional library for building GraphQL servers and clients in Scala +url: https://ghostdogpr.github.io/caliban/ +github: ghostdogpr/caliban +--- + +An example of a GraphQL schema and query with `caliban`: +```scala +case class Character(name: String, age: Int) +def getCharacters(): List[Character] = ??? +// schema +case class Queries(characters: List[Character]) +// resolver +val queries = Queries(getCharacters) +import caliban.GraphQL.graphQL +import caliban.RootResolver +val api = graphQL(RootResolver(queries)) +for { + interpreter <- api.interpreter +} yield interpreter +case class GraphQLResponse[+E](data: ResponseValue, errors: List[E]) +val query = """ + { + characters { + name + } + }""" +for { + result <- interpreter.execute(query) + _ <- zio.console.putStrLn(result.data.toString) +} yield () +```