0.6.2 • Published 2 years ago
@rest-hooks/graphql v0.6.2
Rest Hooks for GraphQL
GraphQL Endpoints for Rest Hooks
Define GraphQL endpoint
const gql = new GQLEndpoint('https://nosy-baritone.glitch.me');
Simple TypeScript definition
class User extends GQLEntity {
readonly name: string = '';
readonly email: string = '';
}
Write type-safe queries
const userList = gql.query(
`{
users {
id
name
email
}
}`,
{ users: [User] },
);
const userDetail = gql.query(
`query UserDetail($name: String!) {
user(name: $name) {
id
name
email
}
}`,
{ user: User },
);
One line data-hookup
const { user } = useSuspense(userDetail, { name: 'Fong' });
return (
<>
<h2>{user.name}</h2>
<p>{user.email}</p>
</>
);
Mutations
const gql = new GQLEndpoint('https://graphql.org/swapi-graphql');
const createReview = gql.mutation(
`mutation CreateReviewForEpisode($ep: Episode!, $review: ReviewInput!) {
createReview(episode: $ep, review: $review) {
stars
commentary
}
}`,
{ createReview: Review },
);
const controller = useController();
const createReview = useFetcher(createReview);
return <ReviewForm onSubmit={data => controller.fetch(createReview, data)} />;
0.5.3
2 years ago
0.6.2
2 years ago
0.6.1
2 years ago
0.6.0
2 years ago
0.5.0
2 years ago
0.5.2
2 years ago
0.5.1
2 years ago
0.5.0-next.0
2 years ago
0.4.5
2 years ago
0.4.4
2 years ago
0.4.1
2 years ago
0.4.3
2 years ago
0.4.2
2 years ago
0.3.16
2 years ago
0.3.15
2 years ago
0.3.14
2 years ago
0.3.13
2 years ago
0.4.0
2 years ago
0.3.9
2 years ago
0.3.12
2 years ago
0.3.11
2 years ago
0.3.10
2 years ago
0.3.8
3 years ago
0.3.7
3 years ago
0.3.0
3 years ago
0.3.6
3 years ago
0.3.5
3 years ago
0.3.2
3 years ago
0.3.1
3 years ago
0.3.4
3 years ago
0.3.3
3 years ago
0.1.11
3 years ago
0.1.12
3 years ago
0.2.0-beta.2
3 years ago
0.2.0-beta.1
3 years ago
0.2.0-beta.0
3 years ago
0.2.0
3 years ago
0.1.10
3 years ago
0.1.8
3 years ago
0.1.7
3 years ago
0.1.9
3 years ago
0.1.6
3 years ago
0.1.4
3 years ago
0.1.3
3 years ago
0.1.5
3 years ago
0.1.2
3 years ago
0.1.1
4 years ago
0.1.0
4 years ago