Skip to content

Commit a539a8f

Browse files
authored
feat: better raw (#1165)
1 parent 4913fe1 commit a539a8f

File tree

217 files changed

+2734
-2861
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

217 files changed

+2734
-2861
lines changed

examples/10_transport-http/transport-http_abort.ts

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,14 @@ const graffle = Graffle.create({
1515
const resultPromise = graffle
1616
.with({ transport: { signal: abortController.signal } })
1717
// ^^^^^^^^^^^^^^^
18-
.rawString({
19-
document: `
20-
{
21-
pokemon {
22-
name
23-
}
18+
.gql`
19+
{
20+
pokemon {
21+
name
2422
}
25-
`,
26-
})
23+
}
24+
`
25+
.send()
2726

2827
abortController.abort()
2928
// ^^^^^

examples/10_transport-http/transport-http_extension_fetch__custom-fetch.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,6 @@ const graffle = Graffle
1919
})
2020
)
2121

22-
const data = await graffle.rawString({ document: `{ pokemon { name } }` })
22+
const data = await graffle.gql`{ pokemon { name } }`.send()
2323

2424
showJson(data)

examples/10_transport-http/transport-http_extension_headers__dynamicHeaders.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,4 @@ const graffle = Graffle
2525
return exchange()
2626
})
2727

28-
await graffle.rawString({ document: `{ pokemons { name } }` })
28+
await graffle.gql`{ pokemons { name } }`.send()

examples/10_transport-http/transport-http_headers_raw__headers.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,4 @@ const graffle = Graffle
2929
return exchange()
3030
})
3131

32-
await graffle.rawString({ document: `{ pokemons { name } }` })
32+
await graffle.gql`{ pokemons { name } }`.send()

examples/10_transport-http/transport-http_method-get.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,8 @@ const graffle = Pokemon
2020

2121
// The following request will use an HTTP POST method because it is
2222
// using a "mutation" type of operation.
23-
await graffle.rawString({
24-
document: `mutation { addPokemon(attack:0, defense:0, hp:1, name:"Nano", type: grass) { name } }`,
25-
})
23+
await graffle.gql`mutation { addPokemon(attack:0, defense:0, hp:1, name:"Nano", type: grass) { name } }`.send()
2624

2725
// The following request will use an HTTP GET method because it
2826
// is using a "query" type of operation.
29-
await graffle.rawString({ document: `query { pokemonByName(name: "Nano") { hp } }` })
27+
await graffle.gql`query { pokemonByName(name: "Nano") { hp } }`.send()

examples/10_transport-http/transport-http_raw.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@ const graffle = Graffle
2020
return exchange()
2121
})
2222

23-
await graffle.rawString({ document: `{ pokemons { name } }` })
23+
await graffle.gql`{ pokemons { name } }`.send()

examples/20_output/output_preset__standard-graphql.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@ const graffle = Graffle.create({
1010
output: Preset.traditionalGraphqlOutput,
1111
})
1212

13-
const result = await graffle.rawString({ document: `{ query { thisWillError } }` })
13+
const result = await graffle.gql(`{ query { thisWillError } }`).send()
1414

1515
show(result)

examples/30_raw/raw_rawDocumentNode__raw-document-node.ts renamed to examples/30_gql/gql_gql-document-node.ts

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22
* This example shows how to send a request using a Document instance for the GraphQL document.
33
*/
44

5+
import { parse } from 'graphql'
56
import { Opentelemetry, Throws } from '../../src/entrypoints/extensions.js'
6-
import { gql, Graffle } from '../../src/entrypoints/main.js'
7+
import { Graffle } from '../../src/entrypoints/main.js'
78
import { publicGraphQLSchemaEndpoints, show } from '../$/helpers.js'
89

910
const graffle = Graffle.create({
@@ -12,18 +13,15 @@ const graffle = Graffle.create({
1213
.use(Throws())
1314
.use(Opentelemetry())
1415

15-
const data = await graffle.raw({
16-
document: gql`
17-
query pokemonByName ($Name: String!) {
18-
pokemonByName (name: $Name) {
16+
const data = await graffle.gql(parse(`
17+
query pokemonByName ($name: String!) {
18+
pokemonByName (name: $name) {
19+
name
20+
trainer {
1921
name
20-
continent {
21-
name
22-
}
2322
}
2423
}
25-
`,
26-
variables: { name: `Pikachu` },
27-
})
24+
}
25+
`)).send({ name: `Pikachu` })
2826

2927
show(data)
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
/**
2+
* This example shows how to use the TypeScript type "TypedQueryDocumentNode" from the
3+
* package `graphql` to make a type safe request with gql method.
4+
*/
5+
6+
import { parse, type TypedQueryDocumentNode } from 'graphql'
7+
import { Graffle } from '../../src/entrypoints/main.js'
8+
import { publicGraphQLSchemaEndpoints, show } from '../$/helpers.js'
9+
10+
const graffle = Graffle.create({
11+
schema: publicGraphQLSchemaEndpoints.Pokemon,
12+
})
13+
14+
type Document = TypedQueryDocumentNode<
15+
{
16+
pokemonByName: {
17+
id: string
18+
name: string
19+
hp: number
20+
attack: number
21+
defense: number
22+
trainer: { name: string }
23+
}
24+
},
25+
{ name: string }
26+
>
27+
28+
const document = parse(`
29+
query ($name: String!) {
30+
pokemonByName (name: $name) {
31+
name
32+
hp
33+
attack
34+
defense
35+
trainer {
36+
name
37+
}
38+
}
39+
}
40+
`) as Document
41+
42+
const data = await graffle.gql(document).send({ name: `Pikachu` })
43+
44+
show(data?.pokemonByName)

examples/30_raw/raw_rawString__rawString.ts renamed to examples/30_gql/gql_gql-string.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@ const document = /* gql */ `
1717
}
1818
`
1919

20-
const data = await graffle.rawString({ document })
20+
const data = await graffle.gql(document).send()
2121

2222
show(data)

0 commit comments

Comments
 (0)