Skip to content
Graffle is a work in progress. Learn more.

Custom Fetch

This examples shows how to leverage the extension system to override the "exchange" hook's default fetch implementation.

ts

import { 
Graffle
} from 'graffle'
const
graffle
=
Graffle
.
create
()
.
transport
({
url
: `http://localhost:3000/graphql` })
.
anyware
(({
exchange
}) =>
exchange
({
using
: {
fetch
: async () => {
return new
Response
(
JSON
.
stringify
({
data
: {
pokemon
: [{
name
: `Pokemon Mocked!` }] } }))
}, }, }) ) const
data
= await
graffle
.
gql
`{ pokemon { name } }`.
send
()
console.log(
data
)

Outputs

json
{
  "pokemon": [
    {
      "name": "Pokemon Mocked!"
    }
  ]
}

Released under the MIT License.