0.6.2 • Published 9 months 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
10 months ago
0.6.2
9 months ago
0.6.1
9 months ago
0.6.0
10 months ago
0.5.0
1 year ago
0.5.2
11 months ago
0.5.1
12 months ago
0.5.0-next.0
1 year ago
0.4.5
1 year ago
0.4.4
1 year ago
0.4.1
1 year ago
0.4.3
1 year ago
0.4.2
1 year ago
0.3.16
1 year ago
0.3.15
1 year ago
0.3.14
1 year ago
0.3.13
1 year ago
0.4.0
1 year ago
0.3.9
1 year ago
0.3.12
1 year ago
0.3.11
1 year ago
0.3.10
1 year ago
0.3.8
1 year ago
0.3.7
1 year ago
0.3.0
2 years ago
0.3.6
1 year ago
0.3.5
1 year ago
0.3.2
2 years ago
0.3.1
2 years ago
0.3.4
1 year ago
0.3.3
1 year ago
0.1.11
2 years ago
0.1.12
2 years ago
0.2.0-beta.2
2 years ago
0.2.0-beta.1
2 years ago
0.2.0-beta.0
2 years ago
0.2.0
2 years ago
0.1.10
2 years ago
0.1.8
2 years ago
0.1.7
2 years ago
0.1.9
2 years ago
0.1.6
2 years ago
0.1.4
2 years ago
0.1.3
2 years ago
0.1.5
2 years ago
0.1.2
2 years ago
0.1.1
3 years ago
0.1.0
3 years ago