@urql/exchange-execute v2.2.2
@urql/exchange-execute
is an exchange for the urql
GraphQL client which executes queries against a local schema.
This is a replacement for the default fetchExchange which sends queries over HTTP/S to be executed remotely.
Quick Start Guide
First install @urql/exchange-execute
alongside urql
:
yarn add @urql/exchange-execute
# or
npm install --save @urql/exchange-execute
You'll then need to add the executeExchange
, that this package exposes, to your urql
Client,
by replacing the default fetch exchange with it:
import { createClient, dedupExchange, cacheExchange } from 'urql';
import { executeExchange } from '@urql/exchange-execute';
const client = createClient({
url: 'http://localhost:1234/graphql',
exchanges: [
dedupExchange,
cacheExchange,
// Replace the default fetchExchange with the new one.
executeExchange({
/* config */
}),
],
});
Usage
The exchange takes the same arguments as the execute function provided by graphql-js.
Here's a brief example of how it might be used:
import { buildSchema } from 'graphql';
// Create local schema
const schema = buildSchema(`
type Todo {
id: ID!
text: String!
}
type Query {
todos: [Todo]!
}
type Mutation {
addTodo(text: String!): Todo!
}
`);
// Create local state
let todos = [];
// Create root value with resolvers
const rootValue = {
todos: () => todos,
addTodo: (_, args) => {
const todo = { id: todos.length.toString(), ...args };
todos = [...todos, todo];
return todo;
}
}
// ...
// Pass schema and root value to executeExchange
executeExchange({
schema,
rootValue,
}),
// ...
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
12 months ago
1 year ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
12 months ago
1 year ago
1 year ago
12 months ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago