From 7b23688db43a94968557095ac4fd48786e83fda7 Mon Sep 17 00:00:00 2001 From: Nico Schett <52858351+schettn@users.noreply.github.com> Date: Thu, 1 Aug 2024 17:06:01 +0200 Subject: [PATCH 1/3] docs: add Pylon service --- src/code/services/pylon.md | 68 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 src/code/services/pylon.md diff --git a/src/code/services/pylon.md b/src/code/services/pylon.md new file mode 100644 index 0000000000..1b2c37ef16 --- /dev/null +++ b/src/code/services/pylon.md @@ -0,0 +1,68 @@ +--- +name: Pylon +description: A code-first approach to GraphQL API development that generates schemas from TypeScript in real-time, enhancing development speed, type safety, and error reduction, with instant reflection of code changes in the API. For more information, go to https://pylon.cronit.io +url: https://pylon.cronit.io +github: getcronit/pylon +--- + +Example service: + +```typescript +import { defineService } from "@getcronit/pylon"; + +class User { + name: string; + email: string; + constructor(name: string, email: string) { + this.name = name; + this.email = email; + } +} + +const users = [ + new User("Alice", "alice@example.com"), + new User("Bob", "bob@example.com"), + new User("Charlie", "charlie@example.com"), +]; + +export default defineService({ + Query: { + users, + user: (name: string) => { + return users.find((user) => user.name === name); + }, + Mutation: { + addUser: (name: string, email: string) => { + const user = new User(name, email); + users.push(user); + return user; + }, + }, + }, +}); +``` + +After running the service, you can query it using GraphQL: + +```graphql +query User { + user(name: "Alice") { + name + email + } +} + +query Users { + users { + name + email + } +} + +mutation AddUser { + addUser(name: "Corina", email: "corina@example.com") { + name + email + } +} +``` From 6d8001253c64b4bfd1d66fbb46a04d5c796cd596 Mon Sep 17 00:00:00 2001 From: Nico Schett <52858351+schettn@users.noreply.github.com> Date: Thu, 1 Aug 2024 17:35:01 +0200 Subject: [PATCH 2/3] rename src/code/services/pylon.md to src/code/language-support/javascript /server/pylon.md --- .../{services => language-support/javascript /server}/pylon.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/code/{services => language-support/javascript /server}/pylon.md (100%) diff --git a/src/code/services/pylon.md b/src/code/language-support/javascript /server/pylon.md similarity index 100% rename from src/code/services/pylon.md rename to src/code/language-support/javascript /server/pylon.md From 9aefbacf66577d6d91e3a85ca5006aa9c4aaff77 Mon Sep 17 00:00:00 2001 From: Nico Schett <52858351+schettn@users.noreply.github.com> Date: Thu, 8 Aug 2024 18:32:39 +0000 Subject: [PATCH 3/3] docs: fix pylon.md format --- .../javascript /server/pylon.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/code/language-support/javascript /server/pylon.md b/src/code/language-support/javascript /server/pylon.md index 1b2c37ef16..e4b842d08c 100644 --- a/src/code/language-support/javascript /server/pylon.md +++ b/src/code/language-support/javascript /server/pylon.md @@ -8,14 +8,14 @@ github: getcronit/pylon Example service: ```typescript -import { defineService } from "@getcronit/pylon"; +import { defineService } from "@getcronit/pylon" class User { - name: string; - email: string; + name: string + email: string constructor(name: string, email: string) { - this.name = name; - this.email = email; + this.name = name + this.email = email } } @@ -23,23 +23,23 @@ const users = [ new User("Alice", "alice@example.com"), new User("Bob", "bob@example.com"), new User("Charlie", "charlie@example.com"), -]; +] export default defineService({ Query: { users, user: (name: string) => { - return users.find((user) => user.name === name); + return users.find(user => user.name === name) }, Mutation: { addUser: (name: string, email: string) => { - const user = new User(name, email); - users.push(user); - return user; + const user = new User(name, email) + users.push(user) + return user }, }, }, -}); +}) ``` After running the service, you can query it using GraphQL: